![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
zl.qian
talk is cheap ,show me the bug
展开
-
分布式事务框架Seata的实现原理
介绍分布式事务相关概念事务: 并发控制的单元,是用户定义的一组操作序列,需要满足ACID属性。 本地事务:事务由本地资源管理器管理。 分布式事务:事务的操作位于不同的节点。 分支事务:在分布式事务中,由资源管理器管理的本地事务。 全局事务:一次性操作多个资源管理器完成的事务,由一组分支事务组成。分布式事务实现规范对于本地事务,可以借助DBMS系统来实现事务的管理,但是对于分布式事务,它就无能为力了。对于分布式事务,目前主要有2种思路:XA协议的强一致规范以及柔性事务的最终一致性规范。原创 2020-10-12 21:48:42 · 1359 阅读 · 0 评论 -
mysql高可用之orchestrator的作用
mysql高可用的方案MHA在每个mysql节点部署mha node节点,上报mysql信息给mha manager节点,完成故障切换MGRmysql5.7之后官方支持的基于paxos协议实现的mysql集群PXC非mysql官方的mysql集群方案orchestrator的用武之地在mha方案中,mha manager并不是一个完善的分布式方案,存在单点问题。orchestrator类似于mha方案中分布式的mha manager的角色。基于raft协议,orchestrator实现了原创 2020-07-30 16:19:33 · 1757 阅读 · 0 评论 -
mysql-表分区的种类:range&list&hash&key
分区的目的当单表的数据量较大,需要进行定期的数据归档删除时,或者提高查询性能,都可以采用分区分区的种类range分区list分区hash分区key分区range分区区间分区,常用与跟日期相关的,例如:create table table_demo ( id int, create_date datetime )partition by range (to_days(...原创 2020-04-10 14:19:52 · 1031 阅读 · 0 评论 -
原生canal简单使用测试
mysql上创建database、创建table、插入数据use test; CREATE TABLE `canal_test` ( `id` bigint(20) unsigned zerofill NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL COMMENT '姓名', PRIMARY KEY (`id`) )...原创 2020-03-27 18:25:10 · 652 阅读 · 0 评论 -
DataBus-入门介绍-1
背景在it存储系统中,可以分为OLTP/OLAP方案,其中OLTP用于主系统,OLAP用于离线分析系统;但是在追求实时性的系统中OLAP很难满足业务的需求;因此我们需要OLTP的系统数据变更实时的同步到OLAP存储中;方案可以通过业务双写,同时写入2个存储中事务控制复杂通过数据库日志同步介绍通过拉取、解析database的变更日志形成事件缓存在环形buffer中,实现客...原创 2020-03-23 15:02:48 · 3340 阅读 · 1 评论 -
简单介绍canal,从binlog说起
binlog对于Mqsql的主从复制能力实现是通过binlog来实现,其工作原理如下:主数据库叫做master,从数据叫做slavemaster 操作日志-save-> binlog (binlog有保留时间,所以是一种增量日志)slave -request-> master 获取binlogslave binlog-save-> relay log(中继日志)sl...原创 2020-03-17 11:21:20 · 699 阅读 · 0 评论 -
NoSql数据库:几款key-value数据库
redisc语言实现都知道redis是非常强大的内存数据库, 由于所有的数据都存储在内存中,其操作非常的快。但是由于内存比较昂贵,不可能把所有的数据都放到内存中,因此往往redis都用来做缓存。这带来什么问题呢,缓存的有效性如何保证,在持久化存储的更新发生时,需要同步更新缓存,在高并发的情况下,很可能带来不一致性的问题。(当然得有一定的并发量)如果redis可以把持久化存储的工作干了,是不...原创 2020-03-16 14:11:12 · 2785 阅读 · 0 评论