一种新的数字交易数据库解决方案

数据库是任何大容量事务环境的关键组件。在本系列的第一篇文章中,数据库幻灭探讨了垂直数据库技术在我国按需数字化经济中的发展机遇.在随后的一篇文章中,我分享了传统数据库失败的原因,可以说是处理复杂、实时、大容量交易的最苛刻的环境之一。

在最后一篇文章中,我想讨论如何构建新的数据库体系结构,以服务于高容量、高度复杂的事务性环境,比如电信。

现代的电信运营环境需要一个平台,以适应应用经济带来的数字服务和丰富的移动体验。电信网络上的数据流量继续呈指数级增长,遥遥无期。现在IT系统必须实时处理所有网络流量,这样电信公司就可以利用这些数据来提取洞察力并成功地与客户接触。

那么,瓶颈在哪里呢?它们主要用于应用程序设计和业务逻辑执行,还是在复制和集群层?虽然两者都是罪魁祸首,而且这些问题需要解决,但您还必须深入挖掘数据库持久层本身。过去50年来支持关系和其他事务性数据库设计的在线事务处理原则突然成为根本性能问题的根源。最终的罪魁祸首?数据库锁定

在本系列的前面,我讨论了关系数据库是如何对构建在它们之上的应用程序没有任何假设的:它们是通用的、灵活的,并且在千斤顶的角色中是无价的。但是,关系数据库通过锁定受影响的数据来处理事务遵从性,直到每个事务提交为止。

在一个每小时完成数亿事务的环境中,设置和删除这些锁会造成巨大的开销。特别是当交易分散在一大组客户数据(例如AT&T有超过1亿客户)时,两个事务发生碰撞的概率很低。

从逻辑上讲,每个事务都会产生如此巨大的开销,这就不符合工程“80/20规则”,该规则假设您可以使公共案例高效,并让不寻常的情况付出代价。数据库是基于磁盘的还是内存中的、SQL或NoSQL的、基于关系的还是基于对象的,这都不重要;如果系统通过锁定每个事务的所有相关数据来保证完整性,那么在这个行业中,它将产生不可预测的延迟,并且无法扩展。

这一认识是我们迈向数据库事务管理全新范式的技术之旅的开始。为了提供解决方案,需要设计一个Telco数据库,以便始终提供下列所有特性:

低,可预测的延迟

内存中的对象必须使用直接内存访问对业务逻辑应用程序可用,不需要锁定、序列化/反序列化、网络跳或复杂转换。当业务逻辑读取对象时,需要进行非常小的“一致性测试”,以确保对象不被更新一半,然后将内存速度访问授予数据。

无争用

内存中的对象必须使用无阻塞、无争用的算法由业务逻辑更新.本质上,业务逻辑可以作为事务的一部分执行数据库更新,而不需要在传统锁定或阻塞中发现任何开销,同时仍然保持严格的一致性保证。这将导致一个效率更高的数据库,能够管理诸如Telco网络事件处理之类的编写密集型工作负载,同时使每个事务的性能始终独立于系统上的另一个负载。

不影响性能的复杂处理

复杂的网络事件处理操作必须能够访问数据库中的许多对象。从订阅者、设备、多个余额、拥有的产品、对这些产品的定价信息、组层次结构、余额层次结构和购买产品的所有内容,列表继续进行。与执行业务逻辑的新方法相一致的无竞争数据库创建了一个系统,该系统对订户数据模型或定价规则中日益增加的复杂性具有显著的免疫力。

垂直特定的数据库技术提供了可测量的价值。它解决了必要的可伸缩性需求、用户体验和业务创新,这些都是由数据驱动的、实时的客户参与模型所促成的。Telco环境的独特需求要求采用这种新的数据库技术方法,以管理从客户交互到物联网和智能设备等各种因素驱动的网络流量的大量增长。


猜你喜欢

转载自blog.51cto.com/14009535/2309527