A Survey on NoSQL Stores

ACM Computing Surveys - Tập 51 Số 2 - Trang 1-43 - 2019
Ali Davoudian1, Liu Chen1, Mengchi Liu2
1Carleton University, Ottawa, ON, Canada
2Carleton University and Wuhan University, Hubei, China

Tóm tắt

Recent demands for storing and querying big data have revealed various shortcomings of traditional relational database systems. This, in turn, has led to the emergence of a new kind of complementary nonrelational data store, named as NoSQL. This survey mainly aims at elucidating the design decisions of NoSQL stores with regard to the four nonorthogonal design principles of distributed database systems: data model, consistency model, data partitioning, and the CAP theorem. For each principle, its available strategies and corresponding features, strengths, and drawbacks are explained. Furthermore, various implementations of each strategy are exemplified and crystallized through a collection of representative academic and industrial NoSQL technologies. Finally, we disclose some existing challenges in developing effective NoSQL stores, which need attention of the research community, application designers, and architects.

Từ khóa


Tài liệu tham khảo

10.1109/MC.2012.33

10.1145/2632296

10.1007/BF01784241

10.1109/TC.2015.2435779

Ahsan Shegufta Bakht, The CAT theorem and performance of transactional distributed systems

10.1109/ICDCS.2016.98

10.1145/2465351.2465361

10.1109/ICDEW.2012.31

Renzo Angles Marcelo Arenas Pablo Barcelo Aidan Hogan Juan Reutter and Domagoj Vrgoc. 2016. Foundations of modern graph query languages. arXiv preprint arXiv:1610.06264. Renzo Angles Marcelo Arenas Pablo Barcelo Aidan Hogan Juan Reutter and Domagoj Vrgoc. 2016. Foundations of modern graph query languages. arXiv preprint arXiv:1610.06264.

10.1145/1322432.1322433

10.1145/176575.176576

10.1109/ICDE.2012.147

10.14778/2732232.2732237

10.1145/2463676.2465279

10.1016/0169-023X(90)90020-E

Belaramani Nalini Moti, 2006, NSDI, 6

10.1145/276305.276318

10.1145/568271.223785

Berge Claude, Graphs and hypergraphs

10.1038/scientificamerican0501-34

10.1145/128738.128742

10.1145/323647.323636

10.1145/362686.362692

Harold Boley. 1992. Declarative operations on nets. Computers 8 Mathematics with Applications 23 6--9 601--637. Harold Boley. 1992. Declarative operations on nets. Computers 8 Mathematics with Applications 23 6--9 601--637.

10.1145/1989323.1989438

Bretto Alain, Hypergraph Theory, 10.1007/978-3-319-00080-0

10.1109/MC.2012.37

10.1145/343477.343502

Bronson Nathan, 2013, USENIX Annual Technical Conference. 49--60

Jerzy Brzezinski Cezary Sobaniec and Dariusz Wawrzyniak. 2004. From session causality to causal consistency. In PDP. 152--158. Jerzy Brzezinski Cezary Sobaniec and Dariusz Wawrzyniak. 2004. From session causality to causal consistency. In PDP. 152--158.

10.5555/1298455.1298487

10.1145/1978915.1978919

10.1145/800296.811515

10.1145/1281100.1281103

10.1145/1365815.1365816

10.1109/TPDS.2007.70735

10.1109/TrustCom.2013.140

10.1145/2168836.2168846

Codasyl DBTG, 1971, Conference on Data Systems Languages, ACM

10.1145/362384.362685

10.1145/356770.356776

10.14778/1454159.1454167

10.1145/2491245

10.1145/3093754.3093759

10.1145/502059.502054

10.1145/2960414.2960415

10.1145/1327452.1327492

10.1145/1323293.1294281

10.1145/41840.41841

Didona Diego, 2017, Okapi: Causally consistent geo-replication made faster, cheaper and more available. arXiv preprint arXiv:1702.04263.

10.1145/2656864.2656866

10.1145/2523616.2523628

Du Jiaqing, 2014, Proceedings of the 1st Workshop on Principles and Practice of Eventual Consistency (PaPEC’14)

10.1145/2670979.2670983

10.1147/rd.506.0545

10.1145/2377677.2377681

Escriva Robert, 2014, Warp: Lightweight multi-key transactions for key-value stores. Technical Report

10.1145/360363.360369

Feinberg Alex, 2011, Proceedings of the 10th IEEE International Conference on Data Engineering (ICDE’11)

10.1145/248052.248113

10.1145/74850.74871

Fox Armando, Proceedings of the 7th Workshop on Hot Topics in Operating Systems. IEEE, 174--178

Gallagher Brian, 2006, Matching structure and semantics: A survey on graph-based pattern matching, AAAI FS, 6, 45

10.1016/0166-218X(93)90045-P

10.1145/800119.803884

10.1145/564585.564601

10.1109/MC.2011.389

10.1145/2043556.2043559

10.1109/INFCOM.2004.1354648

10.1007/978-3-319-19129-4_6

10.1145/235968.233330

10.1145/1132863.1132867

10.5555/573304

10.1109/MC.2015.62

Hale Coda, 2010, Retrieved

10.1145/2487575.2487581

Pat Helland. 2007. Life beyond distributed transactions: An apostate’s opinion. In CIDR. 132--141. Pat Helland. 2007. Life beyond distributed transactions: An apostate’s opinion. In CIDR. 132--141.

10.1145/78969.78972

10.1109/SASOW.2008.50

10.1002/cpe.3643

10.5555/1927585.1927589

10.1109/ICDM.2009.14

10.1145/258533.258660

10.1007/s00224-006-1246-6

10.1016/j.datak.2011.11.004

10.1109/69.60796

Kleppmann Martin, 2015, A critique of the CAP theorem. arXiv preprint arXiv:1509.05393

Knisley Debra, Graph theoretic models in chemistry and molecular biology. Handbook of Applied Algorithms

10.1109/INFCOM.2004.1354485

10.1109/TPDS.2010.200

10.1145/2463676.2465232

10.1145/1807128.1807140

Kyrola Aapo, Presented as Part of the 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI’12). 31--46.

Aapo Kyrola and Carlos Guestrin. 2014. GraphChi-DB: Simple design for a scalable graph database system--on just a PC. arXiv preprint arXiv:1403.0701. Aapo Kyrola and Carlos Guestrin. 2014. GraphChi-DB: Simple design for a scalable graph database system--on just a PC. arXiv preprint arXiv:1403.0701.

10.1145/138873.138877

10.1145/1773912.1773922

10.1145/359545.359563

10.1109/TC.1979.1675439

10.1145/3022860.3022863

Lee Sin Yeung, 2000, Tok Wang Ling, and Hua-Gang Li

10.1145/1773912.1773921

Levandoski Justin, Transaction processing techniques for modern hardware and the cloud

Levandoski Justin J., 2011, Deuteronomy: Transaction support for cloud data, CIDR, 11, 123

Daniel Mark Lewin. 1998. Consistent hashing and random trees: Algorithms for caching in distributed networks. Master’s thesis Department of EECS MIT. Daniel Mark Lewin. 1998. Consistent hashing and random trees: Algorithms for caching in distributed networks. Master’s thesis Department of EECS MIT.

Li Cheng, 2014, USENIX Annual Technical Conference. 281--292

Liu Jed, 2014, Warranties for faster strong consistency, NSDI, 14, 503

10.1145/2043556.2043593

Lloyd Wyatt, 2013, Stronger semantics for low-latency geo-replicated storage, NSDI, 13, 313

10.1145/2596624

Low Yucheng, 2010, Proceedings of the Conference on Uncertainty in Artificial Intelligence 5, 8

10.1109/COMST.2005.1610546

Luo Qiong, 2001, Naughton

Mahajan Prince, Technical Report TR-11-22

Maier D., 1989, Proceedings of the International Workshop on Database Programming Languages. 277--287

10.1145/1807167.1807184

Marchioni Francesco, Infinispan Data Grid Platform

Massé Mark, REST API Design Rulebook: Designing Consistent RESTful Web Service Interfaces. O’Reilly Media

Mattern Friedemann, 1989, Virtual time and global states of distributed systems, Parallel and Distributed Algorithms, 1, 215

McAfee Andrew, 2012, Big data. The Management Revolution, Harvard Business Review, 90, 61

10.1145/2567634.2567638

Meltz Dean, An Introduction to IMS: Your Complete Guide to IBM’s Information Management System

Merkle Ralph C., 1989, Conference on the Theory and Application of Cryptology. Springer, 218--238

Milano Matthew P., 2016, Myers

10.5555/89722.89745

10.1007/s002360050048

10.1145/2723872.2723890

10.1145/2641573

10.1145/322154.322158

10.1109/TSE.1983.236733

10.1016/j.future.2012.01.009

10.1145/269005.266711

10.1007/s002240000118

Vijayan Prabhakaran Ming Wu Xuetian Weng Frank McSherry Lidong Zhou and Maya Haridasan. 2012. Managing large graphs on multi-cores with graph awareness. In USENIX (ATC’12). 41--52. Vijayan Prabhakaran Ming Wu Xuetian Weng Frank McSherry Lidong Zhou and Maya Haridasan. 2012. Managing large graphs on multi-cores with graph awareness. In USENIX (ATC’12). 41--52.

10.1145/2714568

10.1145/2997654

Rao Ananth, Load balancing in structured P2P systems

10.14778/1938545.1938549

10.1145/964723.383072

Raynal Michel, Foundations of Software Technology and Theoretical Computer Science

James, Proceedings of the 3rd International Conference on Very Large Databases. VLDB Endowment, 48--62

Rowstron Antony, 2001, Pastry: Scalable, decentralized object location, and routing for large-scale peer-to-peer systems. In Middleware

Pramod, 2012, Sadalage and Martin Fowler

Hans Sagan. 1994. Space-Filling Curves. Springer-Verlag Berlin. Hans Sagan. 1994. Space-Filling Curves. Springer-Verlag Berlin.

Michael Schaarschmidt Felix Gessert and Norbert Ritter. 2015. Towards automated polyglot persistence. In BTW. 73--82. Michael Schaarschmidt Felix Gessert and Norbert Ritter. 2015. Towards automated polyglot persistence. In BTW. 73--82.

10.1109/ICDE.2015.7113359

Schenker Adam, Graph-Theoretic Techniques for Web Content Mining, 10.1142/5832

10.5555/646665.698944

10.1016/j.jpdc.2008.02.003

10.5555/1134822.1134923

10.5555/2391541.2391602

10.1016/j.comcom.2007.08.027

10.1145/1411273.1411280

10.1109/NSysS.2015.7043516

10.1145/2463676.2467799

10.1145/234313.234360

10.1145/582318.582339

10.1145/2043556.2043592

10.1145/2339530.2339722

10.1145/964723.383071

Stonebraker Michael, 1986, The case for shared nothing, IEEE Database Engineering Bulletin, 9, 4

Michael Stonebraker. 2010a. Errors in database systems eventual consistency and the cap theorem. Communications of the ACM BLOG@ACM. https://cacm.acm.org/blogs/blog-cacm/83396-errors-in-database-systems-eventual-consistency-and-the-cap-theorem/fulltext. Michael Stonebraker. 2010a. Errors in database systems eventual consistency and the cap theorem. Communications of the ACM BLOG@ACM. https://cacm.acm.org/blogs/blog-cacm/83396-errors-in-database-systems-eventual-consistency-and-the-cap-theorem/fulltext.

10.1145/1721654.1721659

Michael Stonebraker. 2011. Why enterprises are uninterested in NoSQL. Communications of the ACM BLOG@ACM. https://cacm.acm.org/blogs/blog-cacm/99512-why-enterprises-are-uninterested-in-nosql/fulltext. Michael Stonebraker. 2011. Why enterprises are uninterested in NoSQL. Communications of the ACM BLOG@ACM. https://cacm.acm.org/blogs/blog-cacm/99512-why-enterprises-are-uninterested-in-nosql/fulltext.

Michael Stonebraker. 2012. Newsql: An alternative to NoSQL and old SQL for new OLTP apps. Communications of the ACM BLOG@ACM. https://cacm.acm.org/blogs/blog-cacm/109710-new-sql-an-alternative-to-nosql-and-old-sql-for-new-oltp-apps/fulltext. Michael Stonebraker. 2012. Newsql: An alternative to NoSQL and old SQL for new OLTP apps. Communications of the ACM BLOG@ACM. https://cacm.acm.org/blogs/blog-cacm/109710-new-sql-an-alternative-to-nosql-and-old-sql-for-new-oltp-apps/fulltext.

Stonebraker Michael, 2013, SciDB DBMS research at MIT, IEEE Database Engineering Bulletin, 36, 21

Stonebraker Michael, Object Relational DBMSs: The Next Great Wave

10.1016/j.datak.2017.01.001

10.1145/2723372.2723732

10.1145/356662.356666

10.1145/2500500

Terry Douglas B., Proceedings of the 3rd International Conference on Parallel and Distributed Information Systems. IEEE, 140--149

10.1145/2517349.2522731

10.1145/320071.320076

10.1145/356662.356667

10.1145/2556195.2556213

10.1109/TKDE.2014.2302291

10.1145/1925861.1925869

10.1145/2926965

10.1145/1435417.1435432

Wada Hiroshi, 2011, Data consistency properties and the trade-offs in commercial cloud storage: The consumers’ perspective, CIDR, 11, 134

10.1145/1014052.1014088

10.1145/2384716.2384777

Wu Xingbo, 2015, Proceedings of the 2015 USENIX Conference on Usenix Annual Technical Conference.

10.1145/566340.566342

Zaniolo C., 1985, D. Beech, S. Cammarata, L. Kerschberg, and D. Maier.

Marek Zawirski Annette Bieniusa Valter Balegas Sérgio Duarte Carlos Baquero Marc Shapiro and Nuno Preguiça. 2013. SwiftCloud: Fault-tolerant geo-replication integrated all the way to the client machine. arXiv preprint arXiv:1310.3107. Marek Zawirski Annette Bieniusa Valter Balegas Sérgio Duarte Carlos Baquero Marc Shapiro and Nuno Preguiça. 2013. SwiftCloud: Fault-tolerant geo-replication integrated all the way to the client machine. arXiv preprint arXiv:1310.3107.

10.1145/2814576.2814733

10.1145/1242524.1242530