分布式数据库系统定义:
两个重点:
1.保证逻辑统一
2.保证数据分布到不同地域上
两个要点:
1.每个地域节点是拥有集中式数据库的计算机系统
2.每个节点都是由通信网络连接起来的节点集合
分布式系统优点:
1.灵活性更高
2.成本优势
3.可靠性,可用性高
4.局部相应速度快
5.可扩展性好
缺点:
1.通信开销大
2.跨节点逻辑实现复杂
分布式数据库系统的分类:
1.同质同构数据库
比如都是oracle 或 MySQL数据库
2.同质异构数据库
比如oracle和MySQL都用到,但是都是属于关系型数据库
3.异构数据库
比如用到oracle、MySQL、mongodb、lucene 商品交易系统
分布式数据库系统的体系结构:
1.数据分配
分割分配
全复制分配[主要用在读,写还没有到瓶颈]
分割分配和全复制分配混合结构[主要用的是这个结构,比如东南西北四个域节点]
2.数据分片[目的是减少更新对磁盘造成的影响]
2.1 水平分片
比如按照地域分,品种分,表的字段个数和类型都相同
2.2 垂直分片
根据业务,把常用更新数据拉出来一张表,详细信息一张表这样{就是将一张表的数据按字段分成多个表}
分布式数据库组件:
1.全局数据字典
维护数据存储规则
每一个请求过来需要到哪一个节点去,正确的分发到节点
任务调度
2.全局数据管理系统
监控局部管理系统,维持心跳检测功能
协调全局的事务执行,锁状态
3.局部数据管理系统
执行请求
4.通信管理系统
管理全局和局部管理系统之间的协议
分布式数据库查询:
1.集中到同一个节点,[比如汇总,把每个节点汇总的信息放到全局数据管理系统后,再做总的汇总]
2.横向节点广播[把节点的查询数据全部转移到最多数据的节点上进行汇总]
小表广播
大表分片
分布式数据库事务[更新]:
1.两阶段提交[由全局管理系统管理]
1.1 所有节点[准备状态]
1.2 所有节点[提交]
1.2.1 让整个事务一定提交成功[原子性]
利用消息机制重复提交,直到成功为止
优点是更简单,依赖于单节点的高可用,缺点是影响单个节点的性能
1.2.2 让整个事务一定回滚完成
风险比较大,一般少用
两个重点:
1.保证逻辑统一
2.保证数据分布到不同地域上
两个要点:
1.每个地域节点是拥有集中式数据库的计算机系统
2.每个节点都是由通信网络连接起来的节点集合
分布式系统优点:
1.灵活性更高
2.成本优势
3.可靠性,可用性高
4.局部相应速度快
5.可扩展性好
缺点:
1.通信开销大
2.跨节点逻辑实现复杂
分布式数据库系统的分类:
1.同质同构数据库
比如都是oracle 或 MySQL数据库
2.同质异构数据库
比如oracle和MySQL都用到,但是都是属于关系型数据库
3.异构数据库
比如用到oracle、MySQL、mongodb、lucene 商品交易系统
分布式数据库系统的体系结构:
1.数据分配
分割分配
全复制分配[主要用在读,写还没有到瓶颈]
分割分配和全复制分配混合结构[主要用的是这个结构,比如东南西北四个域节点]
2.数据分片[目的是减少更新对磁盘造成的影响]
2.1 水平分片
比如按照地域分,品种分,表的字段个数和类型都相同
2.2 垂直分片
根据业务,把常用更新数据拉出来一张表,详细信息一张表这样{就是将一张表的数据按字段分成多个表}
分布式数据库组件:
1.全局数据字典
维护数据存储规则
每一个请求过来需要到哪一个节点去,正确的分发到节点
任务调度
2.全局数据管理系统
监控局部管理系统,维持心跳检测功能
协调全局的事务执行,锁状态
3.局部数据管理系统
执行请求
4.通信管理系统
管理全局和局部管理系统之间的协议
分布式数据库查询:
1.集中到同一个节点,[比如汇总,把每个节点汇总的信息放到全局数据管理系统后,再做总的汇总]
2.横向节点广播[把节点的查询数据全部转移到最多数据的节点上进行汇总]
小表广播
大表分片
分布式数据库事务[更新]:
1.两阶段提交[由全局管理系统管理]
1.1 所有节点[准备状态]
1.2 所有节点[提交]
1.2.1 让整个事务一定提交成功[原子性]
利用消息机制重复提交,直到成功为止
优点是更简单,依赖于单节点的高可用,缺点是影响单个节点的性能
1.2.2 让整个事务一定回滚完成
风险比较大,一般少用
1.2.3.[一致性]弱化为业务逻辑控制,比如外键约束这类场景