《系统设计》课程学习笔记—数据库联合(Database Federation)

125 阅读2分钟

联合(或功能分区)按功能划分数据库。联合架构使多个不同的物理数据库对最终用户显示为一个逻辑数据库。

联合中的所有组件都由一个或多个联合模式连接在一起,这些模式表示整个联合中数据的公共性。这些联合模式用于指定联合组件可以共享的信息,并为它们之间的通信提供公共基础。

database-federation.png

联合还提供了从多个源导出的数据的统一视图。联合系统的数据源可以包括数据库和各种其他形式的结构化和非结构化数据。

特性

让我们看看联合数据库的一些关键特性:

  • 透明性(Transparency):联合数据库隐藏了用户差异和底层数据源的实现。因此,用户无需知道数据存储在何处。
  • 异构性(Heterogeneity):数据源可以在许多方面有所不同。联合数据库系统可以处理不同的硬件、网络协议、数据模型等。
  • 可扩展性(Extensibility):可能需要新的资源来满足业务不断变化的需求。一个好的联合数据库系统很容易添加新源。
  • 自治(Autonomy):联合数据库不会更改现有数据源,接口应保持不变。
  • 数据集成(Data integration):联合数据库可以集成来自不同协议、数据库管理系统的数据。

优点

以下是联合数据库的一些优点:

  • 灵活的数据共享。
  • 数据库组件之间的自治。
  • 以统一的方式访问异构数据。
  • 应用程序与数据库之间没有紧密耦合。

缺点

以下是联合数据库的一些缺点:

  • 增加了更多的硬件和额外的复杂性。
  • 连接来自两个数据库的数据很复杂。
  • 依赖自治的数据源。
  • 查询性能和可扩展性。