
数据库
文章平均质量分 58
奔跑的窝窝牛
低头看着键盘,这些字母怎能拼凑偶的忧桑。
展开
-
greenplum日常维护命令
具体内容可参考官方文档:https://cn.greenplum.org/docs/1. 数据库启动:gpstart常用可选参数: -a : 直接启动,不提示终端用户输入确认-m:只启动master 实例,主要在故障处理时使用2. 数据库停止:gpstop:常用可选参数:-a:直接停止,不提示终端用户输入确认-m:只停止master 实例,与gpstart –m 对应使用-M fast:停止数据库,中断...原创 2021-05-10 10:41:43 · 1887 阅读 · 0 评论 -
mysql和postgresql不存在则插入操作
mysql:ON DUPLICATE KEY UPDATE(不存在则插入,存在则更新)mysql语法支持如果数据存在则更新,不存在则插入,首先判断数据存在还是不存在的那个字段要设置成unique索引。语法:INSERT INTO 表名(唯一索引列, 列2, 列3) VALUE(值1, 值2, 值3) ON DUPLICATE KEY UPDATE 列=值, 列=值REPLACE INTO (不存在则插入,存在先删除,后插入)REPLACE INTO 主要作用类似 INSERT .原创 2021-05-10 10:37:50 · 2028 阅读 · 1 评论 -
分布式锁实现的三种方式
基于数据库实现分布式锁;基于缓存(Redis等)实现分布式锁;基于Zookeeper实现分布式锁;一 基于数据库的实现方式字段上创建唯一索引,获取锁,使用insert into, 释放锁delete操作问题:性能,不具备可重入性,无锁失效机制,不具备锁阻塞特性select for update 悲观锁二 基于redis的实现方式1、选用Redis实现分布式锁原因:(1)Redis有很高的性能;(2)Redis命令对此支持较...原创 2021-05-10 10:36:51 · 129 阅读 · 0 评论 -
分布式事务实现方式
2pc2PC(Two-phase commit protocol),中文叫二阶段提交。二阶段提交是一种强一致性设计,2PC 引入一个事务协调者的角色来协调管理各参与者(也可称之为各本地资源)的提交和回滚,二阶段分别指的是准备(投票)和提交两个阶段。准备阶段协调者会给各参与者发送准备命令提交阶段同步等待所有资源的响应之后就进入第二阶段即提交阶段(注意提交阶段不一定是提交事务,也可能是回滚事务。实现方案java jta xa协议规范实现2pcAtomikos的实现阿...原创 2021-05-10 10:35:38 · 156 阅读 · 0 评论 -
mongodb高可用集群方案
一、高可用集群的解决方案高可用性即HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。计算机系统的高可用在不同的层面上有不同的表现:(1)网络高可用由于网络存储的快速发展,网络冗余技术被不断提升,提高IT系统的高可用性的关键应用就是网络高可用性,网络高可用性与网络原创 2017-08-31 17:03:20 · 1088 阅读 · 0 评论 -
搭建高可用mongodb集群-Sharding 分片
在系统早期,数据量还小的时候不会引起太大的问题,但是随着数据量持续增多,后续迟早会出现一台机器硬件瓶颈问题的。而mongodb主打的就是海量数据架构,他不能解决海量数据怎么行!不行!“分片”就用这个来解决这个问题。传统数据库怎么做海量数据读写?其实一句话概括:分而治之。上图看看就清楚了,如下 taobao岳旭强在infoq中提到的 架构图:上图中有个TDDL,是taobao转载 2017-08-31 17:17:33 · 629 阅读 · 0 评论 -
搭建高可用mongodb集群 replica set—— 深入副本集内部机制
副本集故障转移,主节点是如何选举的?能否手动干涉下架某一台主节点。官方说副本集数量最好是奇数,为什么?mongodb副本集是如何同步的?如果同步不及时会出现什么情况?会不会出现不一致性?mongodb的故障转移会不会无故自动发生?什么条件会触发?频繁触发可能会带来系统负载加重?Bully算法 mongodb副本集故障转移功能得益于它的选举机制。选举机制采用了Bully算法,可以很方便从分布转载 2017-08-31 17:22:14 · 626 阅读 · 0 评论 -
搭建高可用mongodb集群 replica set—— 副本集
主节点挂了能否自动切换连接?目前需要手工切换。主节点的读写压力过大如何解决?从节点每个上面的数据都是对数据库全量拷贝,从节点压力会不会过大?数据压力大到机器支撑不了的时候能否做到自动扩展?这篇文章看完这些问题就可以搞定了。NoSQL的产生就是为了解决大数据量、高扩展性、高性能、灵活数据模型、高可用性。但是光通过主从模式的架构远远达不到上面几点,由此MongoDB设计了副本集和分片的功能。这转载 2017-08-31 17:23:43 · 469 阅读 · 0 评论 -
搭建高可用mongodb集群master-slave模式
在大数据的时代,传统的关系型数据库要能更高的服务必须要解决高并发读写、海量数据高效存储、高可扩展性和高可用性这些难题。不过就是因为这些问题Nosql诞生了。NOSQL有这些优势:大数据量,可以通过廉价服务器存储大量的数据,轻松摆脱传统mysql单表存储量级限制。高扩展性,Nosql去掉了关系数据库的关系型特性,很容易横向扩展,摆脱了以往老是纵向扩展的诟病。高性能,N转载 2017-08-31 17:28:19 · 534 阅读 · 0 评论 -
springboot集成mongodb使用mongoTemplate和MongoRepository
springboot集成mongodb使用mongoTemplate和MongoRepository在pom文件引入spring-boot-starter-data-mongodb依赖: org.springframework.boot spring-boot-starter-data-mongodb 数据源的配置 如果mongodb端口是默认端口,并原创 2017-08-28 15:13:38 · 13790 阅读 · 0 评论 -
mysql建立MS,MM配置相关参数。
建立MS配置修改mysql配置文件my.cnf主 : server-id=1 //服务器id log_bin=mysql.bin //二进制文件名称 默认 在/var/lib/mysql目录下 binlog-do-db = test //需要同步的数据库 binlog-do-db = ... //多个直接加此配置原创 2017-05-08 10:50:19 · 661 阅读 · 0 评论 -
“跨库分页”的四种方案
转载自:http://mp.weixin.qq.com/s/h99sXP4mvVFsJw6Oh3aU5A一、需求缘起分页需求互联网很多业务都有分页拉取数据的需求,例如:(1)微信消息过多时,拉取第N页消息(2)京东下单过多时,拉取第N页订单(3)浏览58同城,查看第N页帖子 这些业务场景对应的消息表,订单表,帖子表分页拉取需求有这样一转载 2017-05-02 14:30:35 · 1947 阅读 · 0 评论 -
当数据库水平切分的是,如用uid分库,uname上的查询怎么办?
转载自:http://mp.weixin.qq.com/s/_HB7Iq9chDLk2z_m_btq9w【缘起】用户中心是几乎每一个公司必备的基础服务,用户注册、登录、信息查询与修改都离不开用户中心。 当数据量越来越大时,需要多用户中心进行水平切分。最常见的水平切分方式,按照uid取模分库:通过uid取模,将数据分布到多个数据库实例上去,转载 2017-05-02 14:45:39 · 878 阅读 · 0 评论 -
数据库垂直拆分
转自:http://mp.weixin.qq.com/s/ezD0CWHAr0RteC9yrwqyZA一、缘起当数据库的数据量非常大时,水平切分和垂直拆分是两种常见的降低数据库大小,提升性能的方法。假设有用户表:user(uid bigint,name varchar(16),pass varchar(16),age in转载 2017-05-02 14:57:51 · 421 阅读 · 0 评论 -
MySQL 开发实践问题,(MySQL负载高时,如何找到是由哪些SQL引起的......)
MySQL读写性能是多少,有哪些性能相关的配置参数?MySQL负载高时,如何找到是由哪些SQL引起的?如何针对具体的SQL做优化?SQL层面已难以优化,请求量继续增大时的应对策略?MySQL如何做主从数据同步?如何防止DB误操作和做好容灾?该选择MySQL哪种存储引擎,Innodb具有什么特性?MySQL内部结构有哪些层次?转载 2017-05-02 14:11:45 · 1922 阅读 · 0 评论 -
spring配置单Redis,Sentinel 哨兵模式,Redis Cluster集群,Redis Sharding集群
spring 集成 Redis的方式有哪些 1、单机版 不解释 配置如下: 2、Sentinel 哨兵模式 主从模式,一主多从模式原创 2017-03-13 16:45:12 · 3370 阅读 · 0 评论 -
总结mysql不使用索引情况以及如何优化sql语句
首先解释说明一下Explain命令,Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。Explain语法:explain select … from … [where ...]例如:explain select原创 2017-03-13 15:30:33 · 3750 阅读 · 0 评论