分布式数据库系统

深入浅出 Otter与Canal

倾然丶 夕夏残阳落幕 提交于 2020-02-29 03:44:10
第一、Otter 基于数据库增量日志解析,准实时同步到本机房或异地机房的Mysql/Oralce数据库,一个分布式数据库同步系统; 基本工作原理图如下: 基于Canal开源产品,获取数据库增量日志数据; 典型管理系统架构,manager(WEB 管理) + node(工作节点) manager运行时推送同步配置到node节点; node节点将同步状态反馈到manager上; 基于zookeeper,解决分布式状态调度的,允许多node节点之间协同工作; 能解决什么? 1.异构库同步 mysql -> mysql/oracle (目前开源版本只支持mysql增量,目标库可以是mysql或者是oracle,取决于canal的功能) 2.单机房同步(数据库之间RTT < 1ms) 数据库版本升级; 数据表迁移; 异步二级索 来源: CSDN 作者: 杨鑫newlfe 链接: https://blog.csdn.net/u012965373/article/details/104563852

分布式系统下,分布式数据库遇到的挑战

ぐ巨炮叔叔 提交于 2019-12-06 04:53:34
分布式系统下,分布式数据库遇到的挑战   分布式系统下,当访问关系型数据库的i/o占用过高,内存不足,访问过慢的情况下,可以考虑流流行的分库分表的策略,但是这样也会到来很多新的技术挑战。 1.分布式事务   当还是单体应用,单体数据库时,完全不需要考虑事务的一致性问题,因为mysql已经帮我们处理事务问题(ACID),但是这只是针对单体情况下,如果是多个数据库,主从备份,读写分离,那么就会可能造成事务不一致的情况,那么什么事分布式事务,分布式   事务又该如何解决呢?      1.有关于事务的概念     本地事务:本地事务的优点就是支持严格的ACID特性,高效,可靠,状态可以只在资源管理器中维护,而且应用编程模型简单。     全局事务:当事务由全局事务管理器进行全局管理时成为全局事务,事务管理器负责管理全局的事务状态和参与的资源,协同资源的一致提交回滚。     两阶段事务:两阶段事务提交采用的是X/OPEN组织所定义的 DTP模型 ,通过抽象出来的 AP , TM , RM 的概念可以保证事务的强一致性。 其中 TM 和 RM 间采用 XA 的协议进行双向通信。 与传统的本地事务相比,           XA事务增加了prepare阶段,数据库除了被动接受提交指令外,还可以反向通知调用方事务是否可以被提交。 因此 TM 可以收集所有分支事务的prepare结果

数据库(分库分表)中间件对比

非 Y 不嫁゛ 提交于 2019-12-03 15:22:28
数据库(分库分表)中间件对比 https://www.cnblogs.com/cangqiongbingchen/p/7094822.html 基本概念:分区,分片,分表,分库 分区:对业务透明,分区只不过把存放数据的文件分成了许多小块,例如mysql中的一张表对应三个文件.MYD,MYI,frm。 根据一定的规则把数据文件(MYD)和索引文件(MYI)进行了分割,分区后的表呢,还是一张表。分区可以把表分到不同的硬盘上,但不能分配到不同服务器上。 优点:数据不存在多个副本,不必进行数据复制,性能更高。 缺点:分区策略必须经过充分考虑,避免多个分区之间的数据存在关联关系,每个分区都是单点,如果某个分区宕机,就会影响到系统的使用。 分片:对业务透明,在物理实现上分成多个服务器,不同的分片在不同服务器上 个人感觉跟分库没啥区别,只是叫法不一样而已,值得一提的是关系型数据库和nosql数据库分片的概念以及处理方式是一样的吗? 请各位看官自行查找相关资料予以解答 分表:当数据量大到一定程度的时候,都会导致处理性能的不足,这个时候就没有办法了,只能进行分表处理。也就是把数据库当中数据根据按照分库原则分到多个数据表当中, 这样,就可以把大表变成多个小表,不同的分表中数据不重复,从而提高处理效率。 分表也有两种方案: 1. 同库分表:所有的分表都在一个数据库中,由于数据库中表名不能重复

Oracle—学习笔记#day01

谁说我不能喝 提交于 2019-11-27 12:59:48
一、 oracle 介绍[ 了解] ORACLE 数据库系统是美国ORACLE 公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或 B/S体系结构的数据库之一。比如SilverStream 就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了 ORACLE知识,便能在各种类型的机器上使用它。 二、oracle10g 安装 来源: https://blog.csdn.net/qq_36910634/article/details/99677505