分布式和并行数据库
分布式和并行数据库将数据和查询处理分散到多台机器上,以实现可伸缩性、可用性和高性能,同时保持数据的一致视图。
用 PaperMind 寻找选题即将推出Find papers & topics
Tools & resources
Learn & explore
视频即将推出
Definition
分布式数据库将数据存储在多个联网站点上,这些站点对用户来说表现为一个单一数据库;并行数据库则使用多个处理器和磁盘(通常是无共享的)并发执行数据库操作,以实现更高的吞吐量和更低的延迟。
Scope
该领域涵盖了跨多个节点管理数据:数据如何分区(碎片化)和复制;查询如何在分区之间和分布式站点之间并行处理;以及事务如何原子提交以及副本如何通过提交和共识协议保持一致。它处理了无共享并行数据库和地理分布式数据库之间的架构区别。它是通用分布式计算主题的数据库特定补充,它引用但不重复;它排除了通用共识和分布式系统理论,除非它们用于数据库。
Sub-topics
Core questions
- 数据如何在节点间分区和复制,以及为什么?
- 查询如何在分区和站点间并行执行?
- 当事务跨越多个节点时,如何原子提交?
- 在出现故障的情况下,副本如何保持一致?
- 并行(无共享)和地理分布式设计有何不同?
Key concepts
- 水平和垂直分片
- 复制
- 无共享架构
- 分区和流水线并行
- 分布式查询处理
- 两阶段提交
- 共识和副本一致性
- 加速和扩展
Key theories
- 数据分区和复制
- 表被水平或垂直分片并分布在节点上以实现可伸缩性,并复制副本以提高可用性和读取性能;放置策略决定了负载平衡和容错能力。
- 并行查询处理
- 无共享并行数据库通过分区数据并在节点间并行执行扫描和连接等操作,利用分区和流水线并行性,实现接近线性的加速和扩展。
- 分布式提交和副本一致性
- 两阶段提交等原子提交协议确保跨站点的全有或全无结果,而共识和复制协议则在节点和网络故障的情况下保持副本一致性。
Clinical relevance
分布式和并行数据库是使数据系统能够扩展以应对互联网工作负载的关键:并行数据仓库对PB级数据进行分析,地理分布式数据库保持全球服务的可用性和低延迟,而此处的分区、复制和提交技术支撑着几乎所有大规模数据平台。
History
分布式数据库研究始于20世纪70年代末,出现了SDD-1和分布式Ingres等系统。20世纪80年代出现了无共享并行数据库(Gamma, Teradata),DeWitt和Gray在1992年指出它们是高性能数据管理的未来。互联网规模的需求随后推动了定义现代云数据平台的分区、复制系统。
Key figures
- M. Tamer Özsu
- Patrick Valduriez
- David DeWitt
- Jim Gray
Related topics
Seminal works
- ozsu2011
- dewitt1992
- silberschatz2019
Frequently asked questions
- 分布式数据库和并行数据库有什么区别?
- 并行数据库使用许多紧密耦合的处理器和磁盘,通常在一个具有快速互连(通常是无共享集群)的位置,以更快地运行查询。分布式数据库将数据分散到独立的、通常是地理上分散的站点,以实现可用性和局部性。界限模糊,但并行数据库强调性能,分布式数据库强调分布和自治性。
- 为什么无共享是主流的并行架构?
- 在无共享设计中,每个节点都有自己的CPU、内存和磁盘,因此随着节点的增加,不会出现中央资源成为瓶颈的情况。这使得系统能够实现接近线性的加速和扩展,这也是它成为可伸缩并行和分析数据库标准架构的原因。