填补插入密集型数据库理论与实践的空白
Bridging the Gap Between Theory and Practice on Insertion-Intensive Database
摘要:
随着在线平台的普及,今天,用户正在以非常高的速度生成和访问数据。此外,诸如股票交易或高频交易之类的应用需要保证低延迟来对数据库执行操作。因此,设计数据库,保证数据插入和查询在一个一致的高速率,而不引入任何长时间的延迟插入期间。在本文中,我们提出了嵌套B树(NB树),索引,可以实现一致的高插入率在大量的数据,同时提供渐近最优的查询性能,是非常有效的实践。嵌套B树支持比LSM树更高的插入率,LSM树是插入密集型工作负载的最先进索引,同时避免了长插入延迟并提高了查询性能。当与Bloom过滤器补充时,它们接近B树的查询性能。在我们的实验中,NB树的最坏情况延迟比LevelDB、RocksDB和bLSM(常用的LSM树数据存储)小1000倍,执行查询的速度比LevelDB快4倍,比bLSM和RocksDB快1.5倍,同时在平均插入率方面也优于它们。
英文摘要:
With the prevalence of online platforms, today, data is being generated and accessed by users at a very high rate. Besides, applications such as stock trading or high frequency trading require guaranteed low delays for performing an operation on a database. It is consequential to design databases that guarantee data insertion and query at a consistently high rate without introducing any long delay during insertion. In this paper, we propose Nested B-trees (NB-trees), an index that can achieve a consistently high insertion rate on large volumes of data, while providing asymptotically optimal query performance that is very efficient in practice. Nested B-trees support insertions at rates higher than LSM-trees, the state-of-the-art index for insertion-intensive workloads, while avoiding their long insertion delays and improving on their query performance. They approach the query performance of B-trees when complemented with Bloom filters. In our experiments, NB-trees had worst-case delays up to 1000 smaller than LevelDB, RocksDB and bLSM, commonly used LSM-tree data-stores, could perform queries more than 4 times faster than LevelDB and 1.5 times faster than bLSM and RocksDB, while also outperforming them in terms of average insertion rate.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。