且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

数据架构:中国电信的Oracle Sharding架构应用案例分析

更新时间:2022-04-02 23:42:22

Oracle Sharding 可以被看做是一个 Shared-Nothing 架构的弹性关系型数据库,最多可以水平扩展到 1000 个独立的Oracle数据库分片,每个分片存储全局表的局部数据,依托原有的分区技术,实现数据的拆分。

数据架构:中国电信的Oracle Sharding架构应用案例分析

有了分片,自然要有路由机制,Oracle 通过 Shard Directors 和 Shard Catalog 实现这一目标,应用访问***方式是通过使用分区键来进行数据分片的导航。

数据架构:中国电信的Oracle Sharding架构应用案例分析

中国电信是中国国内最早实践的用户之一。在 2017 Oracle OpenWorld大会上,中国电信分享了他们的应用情况,题目是:Oracle Sharding ofr China Telecom's WeChat IoT Application,从名字看,这是中国电信基于Wechat - 微信的服务体系应用系统。

数据架构:中国电信的Oracle Sharding架构应用案例分析

截至2016年,中国电信在网用户约2.15亿,其实践案例微信服务平台是 BSS 域的一部分,实现了基于 WeChat 的客户服务系统。

数据架构:中国电信的Oracle Sharding架构应用案例分析

Q:为什么采用Oracle Sharding作为解决方案?中国电信做了解答
A:因为这个项目要服务于大量的 NB-IoT(Narrow Band Internet of Things,窄带蜂窝物联网)网络用户。
A:在评估了 Oracle Sharding,MySQL、MongoDB 和 MariaDB 之后,选择了Oracle数据库的解决方案,因为更换数据库的迁移成本太高(too high),DBA 和 开发人员 更熟悉 Oracle 数据库。

数据架构:中国电信的Oracle Sharding架构应用案例分析

在经过参考同行、测试验证之后,2017年6月29日,这个系统正式上线,上线之后运行稳定。

数据架构:中国电信的Oracle Sharding架构应用案例分析

整个系统的架构图如下,目前使用了 4 套 Oracle RAC,构成了具有四个分片 - Shard 的 Oracle 分布式架构。图中未提交备库和容灾设计,一般来说,还应该有 Data Guard 存在于这个架构之中。

数据架构:中国电信的Oracle Sharding架构应用案例分析

未来,中国电信将依托这个平台,继续整合其他应用,比如 10000 号客户服务系统。

数据架构:中国电信的Oracle Sharding架构应用案例分析

另外一个Oracle Sharding的典型客户是 Dyn ,领先的DNS和Email服务提供商,他们通常要在90天内面对 2 万亿次的查询,产生 1.6 TB/天 的数据量,3个月的数据增幅超过 144 TB。

数据架构:中国电信的Oracle Sharding架构应用案例分析

Dyn 的Sharding 部署方案跨越了两个数据中心,其间通过Data Guard技术进行同步:

数据架构:中国电信的Oracle Sharding架构应用案例分析

看起来Oracle Sharding的威力正在逐步展现,是时候了,研究起来。原文发布时间为:2017-10-30
本文作者:盖国强
本文来自云栖社区合作伙伴“数据和云”,了解相关信息可以关注“数据和云”微信公众号