前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >运营数据库系列之高可用性

运营数据库系列之高可用性

作者头像
大数据杂货铺
发布2020-05-09 16:57:35
5580
发布2020-05-09 16:57:35
举报
文章被收录于专栏:大数据杂货铺大数据杂货铺

这篇博客文章是CDP中Cloudera的操作数据库(OpDB)系列文章的一部分。每篇文章都会详细介绍新功能。从该系列的开头开始,请参阅《CDP中的运营数据库》,《运营数据库系列之可访问性》,《运营数据库系列之管理篇》。

这篇博客文章概述了Cloudera OpDB的高可用性的配置功能。

Cloudera的运营数据库(OpDB)是基于集群的软件,它开箱即用地配置为具有高可用性(HA)的特性。

这将导致节点之间的无缝自动故障转移,并使配置路径对故障转移也具有弹性,这意味着可以在不关闭OpDB的情况下将其恢复。

HA可以通过以下功能进一步扩展:

异步复制:在本地、跨数据中心、在数据中心和云之间以及以地理分布的方式。

扩展集群配置:带有网络延迟(建议链接延迟小于20毫秒)。距离可能会有所不同,具体取决于网络负载延迟和带宽。

只读副本:它们在数据库中提供了额外的弹性。

在线重组和配置更改

Cloudera的OpDB允许数据库重组,而无需关闭OpDB。这是因为命名空间大致等同于DB,并且可以将它们分配给集群中的不同服务器集而无需关闭集群。

可以在区域中的节点之间移动名称空间,也可以通过区域服务器组将名称空间限制为节点的子集,而不必考虑节点在集群中的物理位置,或者集群是否跨越扩展集群配置中的数据中心。

还支持索引重组。大多数索引(例如近实时索引)都可以在实时系统中创建、修改或删除。其他索引可以在线创建或删除,但不能修改。

也可以在不停止OpDB的情况下更改配置。可以在实时系统中添加和删除节点、表和列,还可以在不停机的情况下添加SQL引擎和辅助组件。

还支持不关闭同一数据库上多个实例的配置更改。例如,可以在“列族”中添加新列,也可以将应用程序更改为使用该新列。

升级

Cloudera Manager通过发行版和维护补丁程序自动化升级OpDB中各种组件的过程。

Cloudera Manager以自动化方式处理以下流程:

• 安装发行或维护补丁

• 管理配置

• 每个受影响的组件的重新启动过程

Cloudera的OpDB产品是基于集群的产品,因此所有升级和补丁都跨越多个节点。

还支持无停机的应用程序升级。升级用户应用程序时,无需关闭任何存储引擎。

复写

支持所有数据复制(DR)组合:

• 热热

• 温热

• 热冷

• 热热冷

• 这些配置的其他排列

复制的方向可以是通过高级地理分布拓扑的单向、双向或多向复制。

数据库在集群中至少维护三个数据副本(可以配置更多副本),以防止在热灾难恢复环境中中断。但是,如果需要这种方法,则提供了多种机制以允许在热环境中创建数据的副本:

• Snapshots

• Replication

• Export

• CopyTable

• HTable API

Active-hot DR站点可用于所有形式的访问,包括只读、读写、仅写等。多向复制可用于保持数据同步,并可在数据库中进行设置(命名空间)级别以及表级别。

还以与Active-hot DR站点相同的方式支持热和冷DR站点。所有站点均以相同方式获得许可,而无需考虑站点类型。

异步复制

Cloudera的OpDB平台支持在同一OpDB的实例之间进行近乎实时的数据异步复制,而对性能的影响最小。

异步复制具有两种一致性模式:最终一致和时间轴一致

有多种方法可以实现异步复制。

基于存储层的方法

基于存储层的异步复制方法是在多个集群之间异步复制数据。

集群复制使用主动推送方法。集群可以是源集群(也称为主动集群,表示它写入新数据),目标集群(也称为被动集群,表示它使用复制接收数据),或者可以一次完成这两个角色。

这种异步集群复制是指使用源集群的预写日志(WAL)传播更改,从而使一个集群状态与另一集群状态保持同步。

以列族的粒度启用复制。列族是在表创建时定义的列分组,与在表创建时不必定义的列形成对照,因为它们可以在插入时动态创建。

当数据从一个集群复制到另一集群时,将使用集群ID(属于元数据的一部分)跟踪数据的原始来源。还跟踪所有已经使用了数据的集群。这样可以防止复制循环。

常见的复制技术:

• 中央源集群可以将更改传播到多个目标集群,以进行故障转移或者由于地理分布。

• 源集群可以将更改推送到目标集群,目标集群也可以将自己的更改推送回原始集群。

• 许多不同的低延迟集群可以将更改推送到一个集中式集群,以进行备份或资源密集型数据分析作业。然后,可以将处理后的数据复制回低延迟集群。

多种级别的复写可以链接起来,以满足您的需求。

双重写范例

实现异步复制的另一种方法是使用双重写入范例,客户端可以将数据写入我们的持久消息队列中,然后将其写入数据库的两个实例中。

这种方法适用于某些最终一致性足以满足编写要求的用例。

同步复制

Cloudera的OpDB支持将同一集群的节点之间的数据同步复制为非可选默认值。

每次写入均被复制到最少三个节点,然后再确认回客户端。您可以配置将写操作复制到的节点数。

异构复制

异构OpDB复制允许OpDB在不同的OpDB供应商之间进行复制。当组织中使用多个不同的OpDB引擎或在向新OpDB平台的迁移过程中使用此引擎时,这一点很重要。

Cloudera提供了多种工具来支持异构OpDB复制,而无需额外费用。例如,提供Nifi来启用流式接收,并从任何关系DBMS导出到Cloudera的OpDB。

只读副本

可以创建只读副本,这意味着它不支持对象的更新、删除或创建。这种类型的副本适用于只读工作负载分配和业务连续性计划。

您可以通过两种不同的方式创建只读版本:

• 将数据库复制到标记为只读的第二个集群。

• 使用“只读副本”功能,客户端将请求发送到托管数据副本(包括主副本)的所有RegionServer。客户端接受第一个响应,包括它是来自主要还是辅助RegionServer。

读取和写入操作读取/写入副本

读/写RrReplicas支持读和写操作,作为具有冲突解决方案的双活集群的一部分。当复制用于双向同步两个不同的集群时,这种类型的副本非常有用。这使两个集群都可以在双活配置中写入。

在单个集群的范围内,所有写入均以分布式方式完成,确保在确认客户端之前,在多个节点上至少写入三个副本。这是通过解决冲突来完成的,以确保为客户端提供强大的一致性。

错误保护

OpDB还可以防止用户错误。我们的两个存储引擎都提供了此功能。

如果用户出现类似“我不是要删除该记录”的错误,则用户可以在使用setTimeRange 删除之前检索记录记录。

此外,定期进行增量备份或快照使用户可以回滚到上一个保存的恢复点。

结论

在此博客文章中,我们研究了如何在OpDB中配置和使用高可用性功能。在下一篇文章中,我们将介绍CDP中OpDB的数据完整性功能。

原文链接:https://blog.cloudera.com/operational-database-availability/

作者:Liliana Kadar

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据杂货铺 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档