分布式系统采用的是并行计算,而单点式的系统采用的串行计算。分布式系统的特点:高性能,可靠性,扩展性和透明性。
分布式数据库是指数据在物理上分布而在逻辑上集中管理的数据库系统。
物理上分布是指分布式数据库的数据分布在物理位置不同并由网络连接的节点或站点上;
逻辑上的集中是指各数据库节点之间在逻辑上是一个整体,并由统一的数据库管理系统管理。
分布式数据库的主要特点:透明性,数据冗余性,易于扩展性,自治性。
分布式数据库的实现在设计上需要实现:分布式数据库的目录管理,数据分片,分布式查询处理,分布式并发控制,分布式锁管理,分布式存储,分布式网络架构,分布式安全管理等。
分布式数据库的目录可分为:全局目录,分布式目录, 全局与本地混合目录。
数据分片:
水平切分:按照某个字段的某种规则分散到多个节点库中,每个节点中包含了一部分数据。
垂直切分:按照业务将表进行分类并分布到不同节点上。
混合切分:为水平切分与垂直切分的结合。
分布式并发控制的方法主要有三种:
加锁并发控制(应用广泛,但是容易发生死锁);
时间戳控制(消除了死锁,一旦发生冲突便会重启而不是等待,需要有去阿奴统一的时钟);
乐观并发控制(对于冲突比较少的系统较为合适,对于冲突多的系统则效率低下)。
Mycat适用场合:
高可用性与MySQL读写分离,Mycat的读写分离及自动切换都依赖于数据库产品的主从同步。
业务数据分级存储保障。
100亿大表水平分片,集群并行计算。
数据库路由器。
整合多种数据源。
Mycat与其他数据库中间件对比