数据库
数据库特性索引
Berkeley DB
Oracle Berkeley DB 的复制功能实现高可用的数据管理 |
|
|
Berkeley DB 的复制功能实现了分布式系统或冗余硬件系统中的高可用性和水平读取可扩展性。Berkeley DB HA 是一个具有自动故障切换功能的单主多副本系统。副本节点提供读取服务,主节点可以提供读写操作服务。副本节点以事务日志记录的形式接收来自主节点或其他副本节点的更新,并将更新应用于自身。每个副本节点将其状态通知主节点,主节点使用这一信息管理复制组中的一致性。副本系统中的每个节点都维护一个数据和日志的完整副本。这种架构提供了极为灵活的读取可扩展性、近乎瞬时的故障切换,并且可以实现近乎 100% 的正常运行时间。使用 Berkeley DB HA 的应用可以突破单一系统的处理限制,从容地管理故障,从而提供高可用性。 |
|
|
Berkeley DB HA 基础架构可以支持任何通信系统,不仅仅是 TCP/IP,这样可以显著提升嵌入式硬件系统的性能,同时实现冗余系统(如刀片系统)之间的内部高速自定义互连。但是,Berkeley DB 确实对管理 TCP/IP 网络上的复制组提供内置支持。 只有主节点才能修改数据库。应用在主节点执行创建、更新和删除请求,然后主节点自动将这些更改分发到应用要求的所有副本节点,以实现所要求的一致性。要求即刻一致的事务需要对一批节点进行同步,或者按照应用要求的其他条件进行同步。任何节点(主节点或副本节点)随时都可处理读取操作。副本节点随时都可以加入、离开、重新加入复制组,这样您可以随着节点的变化将解决方案调整到您需要的规模。主节点出现故障时,将调用选举算法来确定和推荐一个新的主节点。该解决方案:
Where Berkeley DB HA 适用于以下场合:
使用分布式的两阶段表决协议来选择主节点,这样可以确保始终选出一个唯一的主节点。选举算法需要确保至少有简单多数的可选节点参与此过程。具有较新环境状态的参与节点将被选为主节点。可选节点可以处于以下任一状态:
主节点将更改异步发送到副本节点,副本节点会尽可能快地处理这些更改。即使在事务进行的同时以及应用尝试将事务提交到主节点之前,更改也会快速传输到副本节点。如果事务随后在主节点上中止了,副本节点也将中止该事务。如果事务的持久性要求需要该事务,应用线程可能会等待一个或多个副本节点赶上这个特定事务。副本节点需要对这类事务作出显式确认响应,但这不会阻碍主节点上的进度,因为此时主节点还有资源继续其他事务性工作。 主节点对复制流的写入操作和副本节点上的读取(和重放)操作之间在某些方面是不同步的。只要应用创建了一个新日志条目,主节点就会立即将其写入到复制流。副本节点从复制流读取日志条目,一旦读到就重放更改,如果主节点要求,副本节点还会对提交操作的重放给出确认响应。 |
|
|
文章
|
|
|
|
|
| 白皮书:利用 Berkeley DB 高可用性管理一致性 (PDF) | |
| 白皮书:使用 Berkeley DB 实现高可用性应用 (PDF) | |
| 白皮书:Berkeley DB Java 版的高可用性 (HA) (PDF) | |
| 白皮书:Oracle Berkeley DB Java 版高可用性 — 大量配置和可扩展性测试 (PDF) |