一家全球金融数据公司迁移了其传统的Oracle基础设施,创建了一个单一的混合的、地理分区的CockroachDB的部署。
一家大型美国金融数据公司对其传统的Oracle数据库架构感到失望,希望整合其传统的数据库并迁移到公共云基础设施。
通过多次收购和有机增长,该公司已经积累了大量的Oracle数据库和应用平台,分布在美国、加拿大、澳大利亚和欧洲。
他们希望将这些基础设施整合到一个单一的平台,并将他们的许多应用程序迁移到云中。这家金融数据公司评估了多种选择,包括谷歌Spanner,但发现Spanner不能同时连接云和内部服务器。
这家金融数据公司最终选择了CockroachDB,因为它为他们提供了所需的灵活性和高性能,此外还能实现混合云部署。为了提供较高的读写性能,他们使用了地理分区复制,这种能力允许按地点进行数据分区。
在迁移了身份和访问管理(IAM)系统后,该公司计划将更多的应用从Oracle迁移到CockroachDB。
挑战。遗留数据库的迁移
一家总部位于美国的大型金融和客户数据公司正面临着整合其传统数据库和迁移到公共云基础设施的任务。该团队决定他们需要简化其应用架构并使之现代化。他们计划将许多系统迁移到谷歌云平台(GCP),同时将一些系统保留在传统数据中心。
他们的首要任务是使他们的身份和访问管理(IAM)系统现代化,其次是跟踪应用授权的用户服务。之后,他们还需要对其他各种应用进行现代化改造。该团队排除了对他们的传统数据库系统进行直接的升降迁移,因为他们的Oracle数据库非常昂贵,而且不适合多数据中心的云部署。他们决定探索新的解决方案。
要求。提供一个跨越内部和谷歌云的混合云部署
该团队对他们的替代数据库有几个要求。这些要求中最主要的是能够提供一个单一的混合云部署,能够跨越他们在全球的九个物理和云区域。他们计划在内部保留一些数据,并将其他数据迁移到谷歌云(GCP)。然而,在这个全球环境中,该团队需要为他们的客户提供低延迟的读和写。
解决方案。CockroachDB的多地区、混合云部署
***图示。**图:一个类似于金融数据公司的CockroachDB集群的例子。该集群使用了CockroachDB的地理分区复制功能,即一组数据的所有复制都被限制在一个区域内,每个复制都被钉在不同的数据中心。
CockroachDB的架构允许开发者在内部服务器和云区域之间部署相同的软件,创建一个单一的逻辑集群,可以解决全球范围内的所有数据,并且可以从任何节点访问。有了这个特点,这家金融数据公司可以创建他们需要的混合云部署。
该公司迁移的第一个应用是他们的身份访问管理(IAM)微服务。该应用对读写性能有很高的要求,这与CockroachDB的地理分区功能非常吻合,因为被认证的实体分布在全球,与特定的地理区域密切相关。
该团队在四个GCP地区和两个内部数据中心部署了CockroachDB。在每个区域内,有三个不同的可用性区域,每个区域有一个CockroachDB节点。
他们使用了CockroachDB的地理分区副本,允许团队将数据的副本固定在某个地点,以减少延迟。
地理分区实现低延迟和弹性
默认情况下,CockroachDB会复制数据,并以最大化地理多样性的方式分配副本。这种复制和分布使得数据库在发生故障的情况下仍然可以使用。通过地理分区复制功能,所有的复制都被限制在离终端用户最近的区域,以减少读写延迟。然后,这些复制体被钉在该区域内的不同数据中心,以便数据能够在可用性区域故障中存活。这种模式在不牺牲性能的情况下提供了高可用性。(关于深入的解释,请看这个视频)。
通过CockroachDB,这家金融数据公司为其新的云优先数据库战略找到了解决方案,巩固了其数据中心的足迹,并将服务转移到云端。CockroachDB在这个过程中为他们提供支持,使他们能够在物理数据中心和云区域之间扩展和迁移他们的数据库,而不会造成任何停机或需要改变应用程序。
在这里阅读完整的案例研究。
进一步阅读。