说说你理解的分布式数据库
Posted 学一次
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了说说你理解的分布式数据库相关的知识,希望对你有一定的参考价值。
分析&回答
概述
分布式数据库是数据库技术与网络技术相结合的产物,它通过网络技术将物理上分开的数据库连接在一起,进行逻辑层面上的集中管理。分布式数据库具有如下特性:
- 分布性:数据库中的数据不是存储在同一场地,更确切的说,不存储在同一计算机的存储设备上,这就可以和集中式数据库相互区别。
- 逻辑整体性:这些数据逻辑上是互相联系的,是一个整体(逻辑上如同集中数据库)。
分布式数据库系统的特点
数据独立性
在集中式数据库系统中,数据独立性包括两个方面:数据的逻辑独立性和数据的物理独立性。其含义是用户程序与数据的全局逻辑结构及数据的存储结构无关。在分布式数据库系统中除了数据的逻辑独立性和物理独立性外,还有数据分布独立性亦称为分布透明性。分布透明性是指用户不必关心数据的逻辑分片,不必关心数据物理位置分布的细节,也不必关心重复副本(冗余数据问题)一致性问题 ,同时也不必关心局部场地上数据库支持哪种数据模型。
适当增加数据冗余度
在集中式数据库系统中,尽量减少冗余度是系统目标之一。其原因是,冗余数据不仅浪费空间,而且容易造成各数据副本之间的不一致性,为了保证数据的一致性,系统要付出一定的维护代价,减少冗余度的目标是用数据共享来达到的。
而在分布式数据系统中却希望存储必要的荣誉数据,在不同的场地存储同一数据的多个副本,其原因是:
- 提高系统的可靠性、可用性:当某一场地出现故障时,系统可以对另一场地上的相同副本进行操作,不会因为一处故障而造成整个系统的瘫痪。
- 提高系统性能:系统可以选择用户最近的数据副本进行操作,减少通信代价,改善整个系统的性能。冗余副本之间数据不一致的问题是分布式数据库系统必须着力解决的问题。
这种多副本的方式对用户来说是透明的,即用户不需要知道副本的存在,由系统统一管理、协调副本的调用。
事务的可靠性 (全局一致性、可恢复性)
分布式数据处理具有重复的构成,因此消除了单点故障的问题,即系统中一个或多个服务器发送故障不会使整个系统瘫痪,从而提高了系统的可靠性。
但是在分布式系统中,事务是并发的, 即不同用户可能在同一时间对同一数据源进行访问,这就要求系统支持分布式的并发控制,保证系统中数据的一致。
分布式系统可以解决海量数据的存储和访问,但是在分布式环境下,数据库会遇到更为复杂的问题,举例如下:
- 数据在分布式环境下以多副本方式进行存储,那么,在为用户提供数据访问时如何选择一个副本,或者用户修改了某一副本的数据,如何让系统中每个副本都得到更新。
- 如果正在更新系统所有副本信息时,某个服务器由于网络或硬、软件功能出现问题导致其发生故障。在这种情况下,如何确保故障恢复时,此服务器上的副本与其他副本一致。
为了大家更加方便的刷题,我们对文章进行了分类和整理,免费为大家提供刷题服务。程序员不欺骗程序员,赶紧扫码小程序刷起来!
为了一站式解决面者刷题问题,部分内容可能存在摘录情况,如有侵权辛苦您留言联系我们,我们会删除文章或添加引用文案,Thanks!
以上是关于说说你理解的分布式数据库的主要内容,如果未能解决你的问题,请参考以下文章