
存储介质如此之多,数据库都支持嘛?
内存性能确实优秀,但是这么贵的价格,实在用不起啊!
为了节省成本用了磁盘,结果性能跟不上怎么办?

Aerospike的优势在于:它是国际上率先采用混合存储架构的数据库厂商。通过混合使用高性能的内存和相对低价的SSD硬盘混合进行存储,在保证性能的同时有效地降低了整个系统的成本。正因为如此,Aerospike进入中国市场后很快站稳了脚跟,并拥有一批稳定的客户。
那么,作为一款支持大规模高事务处理吞吐量和低延迟访问的数据库,Aerospike是如何支持混合存储架构的?这种专利技术的优势又在哪里呢?

混合存储架构——更强更快
目前的常用存储介质主要包括内存、持久内存、SSD和磁盘等,每种介质都有自己独有的特点和优势:
内存:性能最好但成本最高。
磁盘:性能最差但成本最低。
SSD:比磁盘具有更高的I/O吞吐能力,在一些对访问性能要求较高的业务中得到率先应用;近年来价格下降,大有替代磁盘之势;而NVMe SSD的出现更是加速了其普及的势头。
持久内存:以英特尔的傲腾为代表的持久内存是近年来存储技术的重大创新之一,其读写性能接近于内存而成本比内存低得多。持久内存还有一个重要特性是能像SSD一样保存数据。
作为新一代NoSQL的代表,Aerospike支持上述所有存储介质,并且能够根据用户的实际需求,选择不同的存储介质进行组合。通过混合存储架构,提供满足用户需求的性能表现,实现高性价比的数据库解决方案。
纯内存模式:Aerospike 可以被配置为纯内存(无持久化)模式,采用此模式时,所有索引和数据都保存在内存中,所有的数据读写都在内存中进行,从而提供最快的访问速度。当需要对数据进行持久化时,可以开启持久化功能,将内存中的数据写入硬盘或SSD中
纯闪存模式:与纯内存模式相反,当Aerospike运行在纯闪存模式时,索引和数据都保存在容量较大的闪存中。这一模式能够最大限度的扩展系统的数据容量,对于那些数据库规模太大、使用纯内存模式成本太高的企业特别有吸引力。相比全部采用价格昂贵的内存,将索引存储在闪存可以节省很大的投资,同时还能够提供强大的性能。
纯PMEM模式:Aerospike 也允许将所有索引和数据保存在持久内存中。事实上,Aerospike 是第一个支持英特尔傲腾持久内存的商业数据库。纯持久内存模式的 Aerospike数据库提供了可扩缩性、持久性、高性能(可与纯内存的读取相媲美)和快速重启时间,使其成为那些想利用可持久内存来加速机器学习和其他高要求项目的企业的理想选择。
混合模式(HMA):上述的三种模式各有各的特点和优势,如何把各种模式的特点组合起来,达到性能与成本的完美平衡,正是Aerospike的独门绝技——混合存储架构。以最常见的内存+闪存模式为例:在这一模式下,数据库的索引保存在内存中,而数据位于闪存中。当应用程序进行数据库查询/读写时,内存的高性能确保了索引的查找速度;而大容量的闪存则为数据库的规模提供了坚实的保障。

Aerospike独特的混合存储架构技术获得了多项专利认证,无论客户的应用场景如何,Aerospike总能找到最合适的解决方案。

高吞吐,低延时——业内高性价比
Aerospike的定位是一个高性能的 NoSQL数据库,其典型应用场景是需要极高的吞吐量、低延迟和稳定的可用性的场合。Aerospike不仅能满足需求,同时具有非常高的性价比。
这种高性价比很大程度上源于Aerospike能充分利用不同存储介质的特性实现混合存储。比如,Aerospike常见的部署方式是内存+SSD:数据持久化到SSD,而将索引保存在内存中。与其他 NoSQL 解决方案相比,这种混合配置具有显著的性价比优势,同时,在性能方面也与全内存几乎不相上下。

在这种架构中,索引不用经过SSD,直接在内存中读取。对于数据, Aerospike会从SSD中读取。由于SSD的随机读取延迟与存储位置无关,因此 Aerospike 可以提供快速、可预测的性能。
为了减少闪存颗粒磨损,Aerospike 以大数据块方式写入数据。
Aerospike还针对SSD进行了优化,绕过操作系统的文件系统,直接将SSD作为块设备读写,避免额外的I/O损耗,降低了延迟。
另外,Aerospike采用优化的分布式哈希算法对数据进行分区,可以确保每个节点和闪存设备上存储均衡的数据,避免由于数据分布不均导致的性能瓶颈。
此外,对于缓存/内存数据库,系统重启加载时间过长是一个常见的问题。因为传统缓存/内存数据库在节点重新启动时,需要扫描持久设备上的记录来重新构建索引。而节点重新启动其实很常见,比如服务升级、宕机重启等。对于Aerospike来说,即使采用内存+SSD的组合方式,也不存在这样的问题。因为当Aerospike将索引保存在内存中时,索引数据保存在与服务进程的内存空间分开的Linux共享内存空间(Linux Shared Memory),从而避免了进程重启时重建索引的数据扫描操作。
当作为缓存解决方案来使用Aerospike时,与采用全内存的Redis相比,Aerospike在成本方面优势非常明显。这也是不少用户从Redis迁移到Aerospike的重要原因。除了对标常见的缓存/内存解决方案(Redis)之外,由于Aerospike的混合存储架构支持数据的持久化,并支持多种丰富的数据类型,所以,Aerospike还可以用作核心的数据存储系统。测试数据显示:与其他常见的NoSQL数据库(MongoDB, Cassandra,Couchbase等)或NewSQL数据库(Cockroach Labs, YugabyteDB, Cloud Spanner等)相比,Aerospike无论在性能上还是在性价比上都略胜一筹。这些优势的背后,我们都能看到混合存储架构这一专利技术的影子。

结束语
相对于已经相对成熟的关系型数据库,NoSQL数据库不管是技术还是市场都还在快速演进之中。在各种不同类型的NoSQL数据库中,Aerospike以其高性能和高性价比而受到用户青睐。这一现象的背后是Aerospike的诸多技术创新,而混合存储架构正是其中之一。利用NVMe、傲腾持久内存等各种最新技术,Aerospike不仅保证了性能,还大大节约了企业的投资成本,为企业的数字化转型之路奠定了坚实的基础。
关于Aerospike








