
英特尔推出的傲腾持久内存是一项创新的内存技术。傲腾持久内存可以在不通电的情况下以持久模式存储数据,虽然傲腾持久内存模块的性能不如 DRAM 模块那么快,但从成本的角度来看,傲腾持久内存的TCO与 DRAM 相比有了很大的改善。

傲腾持久内存的推出得到广泛关注,一批具有开拓精神的公司率先拥抱了这一创新技术。Aerospike就是其中之一,Aerospike从Aerospike 4.5开始提供对傲腾持久内存的支持,是业界首个支持傲腾持久内存的开放数据库厂商。
利用傲腾持久内存进一步提高了Aerospike数据库的数据处理规模,允许Aerospike节点存储100TB的数据。Aerospike 内部的分层架构专门为持久内存进行了优化,能为用户提供远远超出内存数据库和简单地插入持久内存得到的改进。
实际上,可持久内存如今已经成为 Aerospike 数据库的默认设置。可以说,Aerospike和持久内存是一种几乎完美的结合,和全内存相比,这一结合带来了更高的弹性、更低的成本、更大的数据处理规模,而性能损失几乎可以忽略不计。
在内存和持久内存的混合部署模式中,索引将不再受内存的常规大小(每个核约 1TB)或内存的运营成本(包括电源、冷却和占用空间)的限制,因此索引规模得到了改善。而且通过减少重新启动时间也提高了可靠性。Aerospike基于傲腾持久内存的"快速重启"功能将重启时间缩短了135倍,因为索引保持在可持久内存中,重启时不再需要重建索引,从而大大缩短了重启时间。
虽然数据规模和可靠性是让Aerospike用户采用持久内存的主要因素——它们是机器学习和行为分析系统非常看重的两个因素,但每个人都想知道有持久内存加持的Aerospike到底能有多快。
Aerospike与英特尔合作为用户提供了一些非常有趣的硬件组合参考测试。我们的目标是确保在这些规模级别上,Aerospike的性能仍然保持在每台服务器每秒数百万个事务。
我们对旧的内存数据库技术进行了重新设计,让其运行在持久内存上。我们发现,正如我们预期的那样,新系统的性能超过了旧的内存数据库。不止如此,Aerospike还能提供比RocksDB或Cassandra系统更高的性能,这些系统瓶颈要么是CPU,要么是旧的LSM(日志结构合并,如RocksDB)核心算法。
Aerospike的主索引采用了比较独特的数据结构。我们发现索引最好的方法是哈希树,即经典的哈希表,每个节点一个哈希树。我们进一步优化了这棵树,让它更好地本地化,在使用 NVMe 备份索引时这一点非常重要。经过优化后,树操作变得非常轻量级,同时增加了并行性。结果清楚地表明,虽然写索引时有少量更新,但并不多。
在英特尔进行的相关测试中,我们看到索引放到持久内存和内存中的性能几乎相同。在同样都是7块英特尔P4510 SSD的情况下,单台服务器的事务处理能力都达到每秒100万。英特尔还测试了对可靠性的改善和启动时间的缩短。正如预期的那样,由于不需要扫描驱动器即可重建索引,在发生故障后只需几秒钟即可重新加入群集,而不是几分钟。
Aerospike很自豪自己能成为英特尔的合作伙伴,能和英特尔一起推动持久内存数据库的技术革命。
关于Aerospike








