说说你理解的分布式数据库

分析&回答


概述

分布式数据库是数据库技术与网络技术相结合的产物,它通过网络技术将物理上分开的数据库连接在一起,进行逻辑层面上的集中管理。分布式数据库具有如下特性:

  • 分布性:数据库中的数据不是存储在同一场地,更确切的说,不存储在同一计算机的存储设备上,这就可以和集中式数据库相互区别。
  • 逻辑整体性:这些数据逻辑上是互相联系的,是一个整体(逻辑上如同集中数据库)。

image.png

分布式数据库系统的特点

数据独立性

在集中式数据库系统中,数据独立性包括两个方面:数据的逻辑独立性和数据的物理独立性。其含义是用户程序与数据的全局逻辑结构及数据的存储结构无关。在分布式数据库系统中除了数据的逻辑独立性和物理独立性外,还有数据分布独立性亦称为分布透明性。分布透明性是指用户不必关心数据的逻辑分片,不必关心数据物理位置分布的细节,也不必关心重复副本(冗余数据问题)一致性问题 ,同时也不必关心局部场地上数据库支持哪种数据模型。

适当增加数据冗余度

在集中式数据库系统中,尽量减少冗余度是系统目标之一。其原因是,冗余数据不仅浪费空间,而且容易造成各数据副本之间的不一致性,为了保证数据的一致性,系统要付出一定的维护代价,减少冗余度的目标是用数据共享来达到的。

而在分布式数据系统中却希望存储必要的荣誉数据,在不同的场地存储同一数据的多个副本,其原因是:

  1. 提高系统的可靠性、可用性:当某一场地出现故障时,系统可以对另一场地上的相同副本进行操作,不会因为一处故障而造成整个系统的瘫痪。
  2. 提高系统性能:系统可以选择用户最近的数据副本进行操作,减少通信代价,改善整个系统的性能。冗余副本之间数据不一致的问题是分布式数据库系统必须着力解决的问题。
    这种多副本的方式对用户来说是透明的,即用户不需要知道副本的存在,由系统统一管理、协调副本的调用。
事务的可靠性 (全局一致性、可恢复性)

分布式数据处理具有重复的构成,因此消除了单点故障的问题,即系统中一个或多个服务器发送故障不会使整个系统瘫痪,从而提高了系统的可靠性。

但是在分布式系统中,事务是并发的, 即不同用户可能在同一时间对同一数据源进行访问,这就要求系统支持分布式的并发控制,保证系统中数据的一致。

分布式系统可以解决海量数据的存储和访问,但是在分布式环境下,数据库会遇到更为复杂的问题,举例如下:

  • 数据在分布式环境下以多副本方式进行存储,那么,在为用户提供数据访问时如何选择一个副本,或者用户修改了某一副本的数据,如何让系统中每个副本都得到更新。
  • 如果正在更新系统所有副本信息时,某个服务器由于网络或硬、软件功能出现问题导致其发生故障。在这种情况下,如何确保故障恢复时,此服务器上的副本与其他副本一致。

喵呜面试助手: 一站式解决面试问题,你可以搜索微信小程序 [喵呜面试助手] 或关注 [喵呜刷题] -> 面试助手 免费刷题。如有好的面试知识或技巧期待您的共享!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵呜刷题

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值