Page 245 - 《软件学报》2021年第10期
P. 245
朱阅岸 等:构建新型高性能与高可用的键值数据库系统 3217
未来的一个研究方向 [25] .此外,为了弥补单拷贝系统数据的无序性,加速数据查找通常会在日志文件上增加一个
索引.这个索引一般不做持久化操作,因此系统崩溃恢复的时候需要重建索引.如何快速地重建索引,是一个不
小的挑战.对内存使用要求严格的使用场景(例如嵌入式),索引节点也有可能不被全部放入内存,这会增加额外
的 IO 操作.对内存和时延要求严格的场景如何优化 log-as-database 系统,是一个待探索的方向.
References:
[1] Sears R, Ramakrishnan R. BLSM: A general purpose log structured merge tree. In: Candan KS, Chen Y, Snodgrass RT, eds. Proc.
of the ACM SIGMOD Int’l Conf. on Management of Data (SIGMOD 2012). Scottsdale: ACM, 2012. 217228. [doi: 10.1145/
2213836.2213862]
[2] Mohan C, Haderle D, Lindsay B, Pirahesh H, Schwarz P. Aries: A transaction recovery method supporting fine-granularity locking
and partial rollbacks using write-ahead logging. ACM Trans. on Database System, 1992,17(1):94162. [doi: 10.1145/128765.
128770]
[3] Stonebraker M. The land sharks are on the squawk box. ACM Communication, 2016,59(2):7483. [doi: 10.1145/2869958]
[4] HBase. Open source implementation of HBase. http://hadoop.apache.org/hbase/
[5] Chang F, Dean J, Ghemawat S, Hsieh WC, Wallach DA, Burrows M, Chandra T, Fikes A, Gruber RE. Bigtable: A distributed
storage system for structured data. ACM Trans. on Computer Systems, 2008,26(2):4:14:26. [doi: 10.1145/1365815.1365816]
[6] Facebook. RocksDB. 2016. http://rocksdb.org
[7] http://leveldb.org
[8] https://github.com/google/leveldb
[9] Chandramouli B, Prasaad G, Kossmann D, Levandoski JJ, Hunter J, Barnett M. FASTER: A concurrent key-value store with in-
place updates. In: Das G, Jermaine CM, Bernstein PA, eds, Proc. of the ACM SIGMOD Int’l Conf. on Management of Data.
Houston: ACM, 2018. 275290. [doi: 10.1145/3183713.3196898]
[10] Sheehy J, Smith D. Bitcask: A log-structured hash table for fast key/value data. White Paper, Basho Technologies, 2010.
[11] Verbitski A, Gupta A, Saha D, Brahmadesam M, Gupta K, Mittal R, Krishnamurthy S, Maurice S, Kharatishvili T, Bao XF.
Amazon aurora: Design considerations for high throughput cloud-native relational databases. In: Salihoglu S, Zhou W, Chirkova R,
Yang J, Suciu D, eds. Proc. of the ACM SIGMOD Int’l Conf. on Management of Data. Chicago: ACM, 2017. 10411052. [doi:
10.1145/3035918.3056101]
[12] Vo HT, Wang S, Agrawal D, Chen G, Ooi BC. LogBase: A scalable log-structured database system in the cloud. PVLDB, 2012,
5(10):10041015. [doi: 10.14778/2336664.2336673]
[13] Bernstein PA, Reid CW, Das S. Hyder—A transactional record manager for shared flash. In: Proc. of the CIDR. Asilomar:
www.cidrdb.org, 2011. 920.
[14] Wang T, Johnson R, Pandis I. Query fresh: Log shipping on steroids. PVLDB, 2017,11(4):406417. [doi: 10.1145/3186728.
3164137]
[15] Schneider FB. Distributed Systems. 2nd ed., Boston: Addison-Wesley, 1993. 1841.
[16] Budhiraja N, Marzullo K, Schneider FB, Toueg S. Distributed Systems. 2nd ed., Boston: Addison-Wesley, 1993. 199216.
[17] Guerraoui R, Schiper A. Software-based replication for fault tolerance. IEEE Computer, 1997,30(4):6874. [doi: 10.1109/2.
585156]
[18] Ongaro D, Ousterhout JK. In search of an understandable consensus algorithm. In: Gibson G, Zeldovich N, eds. Proc. of the
USENIX Annual Technical Conf. Philadelphia: USENIX Association, 2014. 305319.
[19] Leis V, Kemper A, Neumann T. The adaptive radix tree: ARTful indexing for main-memory databases. In: Jensen CS, Jermaine
CM, Zhou X, eds, Proc. of the 29th IEEE Int’l Conf. on Data Engineering (ICDE). Brisbane: IEEE Computer Society, 2013. 3849.
[doi: 10.1109/ICDE.2013.6544812]
[20] Kallman R, Kimura H, Natkins J, Pavlo A, Rasin A, Zdonik S, Jones EPC, Madden S, Stonebraker M, Zhang Y, Hugg J, Abadi DJ.
H-Store: A high-performance, distributed main memory transaction processing system. PVLDB, 2008,1(2):14961499. [doi:
10.14778/1454159.1454211]
[21] VoltDB. http://voltdb.com