分布式数据库

集中式数据库缺点

1通信开销大

2可扩展性差

3设计管理困难 

分布式数据库系统要求

1 数据分布性 :数据不同地域,不同机器

2 数据统一性 :整个系统逻辑上一致的

3 数据透明性 :统一入口

4 数据安全性 :第一节点出错不会影响整体

5 数据自治性 :子系统独立管理自己的数据

6 可扩展性 :

分布式数据库的要求 

两个重点   1 保证系统逻辑统一性

                   2 保证数据分配到不同地域上

两个要点   1 每个地域节点都是拥有集中式数据库的计算机系统

                    2 每个节点都是由通信网络连接起来的节点集合


体系架构      数据分配   a 数据分割

                                         b 数据全复制 (读)

                                         c 混合结构 

                        数据分片  必须满足  完备性   重构条件  不相交条件

                                          a 垂直分片  会增加数据冗余 ,将数据表按字段分割成多个表

                                                                    1常更新的字段和不长更新字段分割,减少更新对磁盘的影响

                                                                     2大字段和小字段分割 。查询也需要扫描这些内容消耗性能

                                                                     3经常组合查询的列放在一个表中 ,

                                          b 水平分片   

                                                                      分离热点  常按年份分割  PARTITION BY

                                          c 混合分片

分布式数据库系统组件            

   全集数据字典 

                                           维护数据库分片规则

                                            网络状态

                                            完整性约束

                                            存取路径

                                            存取权限

                                            锁信息

                                            实时事务状态

                                            事务统计信息


          全局数据管理系统   

                                                任务调度

                                                协调全局事务执行

                                                并发控制

                                                 全局   恢复 / 提交

                                                 防死锁

                                                 数据汇总

          局部数据库管理系统   

                                                 心跳检测

                                                                     汇报运行状态

                                                                     健康状态

                                                                     繁忙程度

                                                                     磁盘 ,CPU ,内存消耗


                                                 接受全局管理系统命令 做本地数据库处理  (增删改查,返回结果)

          通信管理系统  

                                                 管理全局与局部系统之间的通信协议 

                                                 管理每个节点之间的通信

分布式数据库系统的查询更新

 单节点查询      与集中式一样

 跨节点查询        重新改写  传输到最大数据的节点

小表广播  大表分片

分布式事务 ACID面临的挑战

原子性   2阶段提交  

               3阶段提交

让事务一定能提交成功 (主库。备库)

让事务一定能回滚成功(风险大)

一致性   业务逻辑保证

隔离性  MVCC多版本并发  全局管理系统下发事务版本号ID

持久化 

跨机事务的优化  网络通信时间长

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文由厦门大学计算机系教师林子雨翻译,翻译质量很高,本人只对极少数翻译得不太恰当的地方进行了修改。 【摘要】:Sp...
    Jeffbond阅读 9,394评论 1 42
  • @季文飞整理2016.9.18 Mysql集群 1.相关的概念 merge分表 分表就是把N条记录的表,分成若干个...
    cpu_driver阅读 3,841评论 0 0
  • 爸妈,我想跟你们聊聊,从来没在家里心平气和的聊过天,所以想借今天纸上的机会给你们一个交代,也是给我自己一个交代,我...
    97aecbc0afab阅读 1,801评论 0 1
  • 少一点忧伤, 多一点开心, 少一点烦恼, 多一点阳光, 少一点自馁, 多一点自信, 自信的菇凉是自带光环的, 对自...
    嗨0丫头阅读 1,540评论 1 4
  • 清晨醒来思家重, 开车忘记要性命! 雪后路上凝成冰, 刹车漂移横向冲。 下的自己一身汗, 想要反航心不愿! 硬着头...
    一只羊1237阅读 1,090评论 0 0

友情链接更多精彩内容