- Oracle Database In-Memory(架构与实践)
- 萧宇编著
- 1035字
- 2025-02-23 16:16:23
序言
虎年春节来临之际,欣闻萧宇关于内存数据库的新书要出版了,他和我打趣说,你要不要写个序?我自是答应了。
内存数据库并不是一个新的概念,早在20世纪八九十年代,就已经有学者提出了将所需数据存放在内存中提高处理速度的概念原型。随着近年来硬件技术革新性的快速发展以及终端实时应用对超低响应时间超大吞吐量的需求,内存数据库从无到有,从概念模型到广泛而成熟的产品应用,仅仅经过了不到二十年的时间。各大数据库厂商和开源社区纷纷推出了自己的内存数据库产品,来适应新的市场变化。其中比较曲型的是针对事务型的内存加速数据库和分析型应用的列存储内存数据库。近年来,列存储内存数据库吸引了更多的关注,其研究的重点也在于软硬件相结合的设计和开发技术。
天下武功,唯快不破,对于内存数据库而言更是如此,高性能是它最早的设计初衷,也是内存数据库的代名词。内存数据库并非简单的将数据加载在内存中,为了同时进行事务处理和分析处理,需要巧妙地设计数据存储格式以及更新算法;为了在不影响性能的前提下尽量节约空间,需要使用针对不同数据的不同应用特性的压缩算法;为了有效利用硬件的新性能,查询处理引擎需要做针对性的重构和修改;同时还要应对纷纷涌现出的新硬件技术,例如,协同处理器(co-processor)、专用集成电路(ASIC)、图形处理单元(GPU)、现场可编程门阵列(FPGA)、持久内存、远程直接内存访问(RDMA)等。可以说,内存数据库脱胎于传统磁盘数据库,却有自己独特的技术挑战和优势。
除此之外,做研究的学者们可能会轻视产品在实际应用中的融合性和易用性。我们常常笑说快乐总是短暂的,做一个产品的原型开发是最开心的时候,可这部分大概只占了整个产品研发不到10%的时间,产品化的过程却占据了工程最繁复、最头疼的90%。对于数据库用户而言,他们想要的是一个不需要任何人为干预自动选择最优技术策略的产品,自治数据库应运而生。简而言之,自治数据库依旧是关系型数据库,但它能够根据用户的应用场景自动定义数据不同的存储层级,自动选择适用于内存处理的数据,自动选择最优的压缩算法,自动进行后台的数据更新等。这些小而美的特点才是让内存数据库更加通用更加流行的法宝。
本书从内存技术的起源聊起,详细地讨论了Oracle内存数据库产品。其中,包括对高层次的结构体系的讨论,以及对所有特性的非常细节的介绍,甚至手把手地介绍使用窍门,对Oracle内存数据库的使用者来说,这是一本不可多得的好工具书,对所有对Oracle内存数据库感兴趣的学者和用户而言,也是最为详尽的中文书,值得一读。
龚玮薇
Oracle内存技术研发总监