1.分布式数据库系统
分布式数据库系统是一群物理上分布在不同场地,但逻辑上又彼此有着紧密关联的数据库系统,它利用计算机网络将各个节点连接起来,共同组成一个统一的整体。分布式数据库系统通过适当的数据冗余,增加了系统的效率和可靠性;通过提供局部的数据自治和全局的数据共享,使系统具有快速的数据处理能力。
2.分布式数据库系统原理
分布式数据库系统主要有两种方式解决单机数据库的低扩展能力:数据分片和读写分离。
(1)数据分片(Sharding)的原理就是将数据做水平切分,类似于hash分区
的原理,通过应用架构解决访问路由和数据合并的问题。Sharding架构的优势在于,集群扩展能力很强,几乎可以做到线性扩展,而且整个集群的可用性也
很高,部分节点故障,不会影响其他节点提供服务。Sharding原理简单,容易实现,是一种非常好的解决数据库扩展性的方案。
(2)读写分离架构利用了数据库的复制技术,将读和
写分布在不同的处理节点上,从而达到提高可用性和扩展性的目的。最通常的做法是利用Replication技术,Master
DB承担写操作,将数据变化复制到多台Slave DB上,并承担读的操作。这种架构适合read-intensive类型的应用,通过增加Slave
DB的数量,读的性能可以线性增长。为了避免Master DB的单点故障,集群一般都会采用两台Master
DB做双机热备,所以整个集群的读和写的可用性都非常高。
3.分布式数据库系统特点
(1)复制透明性
用户不用关心数据库在网络中各个节点的复制情况,被复制的数据的更新都由系统自动完成。在分布式数据库系统中,可以把一个场地的数据复制到其他场地存放,应用程序可以使用复制到本地的数据在本地完成分布式操作,避免通过网络传输数据,提高了系统的运行和查询效率。但是对于复制数据的更新操作,就要涉及到对所有复制数据的更新。
(2)易于扩展性
在大多数网络环境中,单个数据库服务器最终会不满足使用。如果服务器软件支持透明的水平扩展,那么就可以增加多个服务器来进一步分布数据和分担处理任务。
(3)独立透明性
数据独立性是数据库方法追求的主要目标之一,分布透明性指用户不必关心数据的逻辑分区,不必关心数据物理位置分布的细节,也不必关心重复副本(冗余数据)的一致性问题,同时也不必关心局部场地上数据库支持哪种数据模型,分布透明性的优点是很明显的,有了分布透明性,用户的应用程序书写起来就如同数据没有分布一样,当数据从一个场地移到另一个场地时不必改写应用程序,当增加某些数据的重复副本时也不必改写应用程序,数据分布的信息由系统存储在数据字典中,用户对非本地数据的访问请求由系统根据数据字典予以解释、转换、传送。
以上梳理了分布式数据库系统的定义、原理及特点,希望对你有所帮助,如果你想了解更多相关内容,敬请关注三个皮匠报告的行业知识栏目。
推荐阅读:
什么是分布式电源?特征及分类介绍
什么是分布式数据库?分类有哪些?特点是?
什么是分布式存储?技术有哪些?与传统存储的区别