分布式数据库架构及企业实践(基于Mycat中间件)——1

第一章  数据库中间件与分布式数据库的实现

1.1 分布式系统

  1. 分布式系统是指其组件分布在网络上,组件之间通过传递消息进行通信和动作协调的系统
  2. 特点:透明性、扩展性、可靠性、高性能
  3. 缺点:节点通信开销大,线程安全问题复杂;过分依赖网络;有潜在的数据安全和网络安全性问题
  4. 分布式系统和集中式系统的区别:
分布式系统集中式系统备注
并行计算串行计算本质区别
性价比高
可靠性高
可扩展性强
计算能力强

1.2为什么需要分布式数据库

        集中式数据库面对大规模数据处理有局限性,因此需要一种能够快速处理数据和及时响应用户的访问的方法,也希望对数据进行集中分析,管理和维护

  1. 分布式数据库是指在物理上分布而在逻辑上集中管理的数据库系统
    物理上分布逻辑上集中管理
    在物理位置不同并由网络连接的节点或站点上各数据库节点之间在逻辑上是一个整体,并由统一的数据库管理系统管理
  2. 特点:透明性数据冗余性(通过冗余实现系统的可靠性,可用性,改善其性能;多个节点存储副本防止数据破坏数据丢失;节点受损坏自动切换防止系统整体被破坏;热点数据的就近分布原则减少消耗)、易于扩展性自治性;经济,性能优越、响应速度更快、灵活的体系结构、抑郁集成现有系统等特点
  3. 缺点:依赖高速网络,对事物的处理远没有传统数据库成熟

1.3分布式数据库系统的实现原理

分布式数据库应有4个优势:数据分片及复制管理、具有事务的可靠性存取、良好的性能、易于扩展。所以分布式数据库在设计上需要实现分布式数据库的目录管理、数据分片、分布式查询处理、分布式并发控制、分布式存储、分布式网络架构、分布式安全管理等

  1. 分布式数据库的目录管理:可分为全局目录、分布式目录、全局与本地混合目录
  2. 数据分片:将存放在同一个数据库实例中的书库分散存放到多个数据库实例(主机)上,进行多台设备存取以提高性能,在切分数据的同时可以提高系统整体的可用性。书库分配是指将数据全局的划分为相关的逻辑片段,有水平切分(按照数据将表划分到各个节点上),垂直切分(按照业务将表进行分类分不到不同节点上),混合切分(水平和垂直混合)三种类型
  3. 分布式查询处理:分布式查询处理的任务就是把一个分布式数据库上的高层次查询映射为在本地数据库上的操作,查询的解析必须拆分为代数查询的关系运算序列,将要查询的数据定位到各节点,使得查询在各节点进行,最后通过网络通信的操作汇聚查询结果

分布式并发控制:目的是保证分布式数据库中的多个事务并发高效,正确的执行。进行并发控制的方法主要由三种:加锁并发控制(容易发生死锁),时间戳控制(需要有全局的统一时钟,否则发生冲突会重启),乐观并发控制(对冲突多的系统效率低下)

1.4  Mycat数据库中间件简介

        1.4.1  Mycat的历史与未来规划

        1.4.2  Mycat与其他中间件的区别

        1.4.3  Mycat的优势:支持透明的读写分离机制减轻了写库的压力,提高了数据库的并发查询能力支持各种MySQL集群,包括标准的主从异步集群、MySOL Galera Cluster多主同步集群等,提升了数据库的可用性与性能,支持分布式存储秒级的并行查询能力,内建数据库集群故障切换机制,实现了自动切换,可满足大部分应用的高可用性要求。

        1.4.4  Mycat的适用场合:

  • 高可用性与MySQL读写分离
  • 业务数据分级存储保障
  • 100亿大表水平分片,集群并行计算
  • 数据库路由器
  • 整合多种数据源

版权声明:本文为m0_46357237原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。