Advertisement

Programming and Computer Software

, Volume 40, Issue 6, pp 323–332 | Cite as

NoSQL data management systems

  • S. D. KuznetsovEmail author
  • A. V. Poskonin
Article

Abstract

In the last decade, a new class of data management systems collectively called NoSQL systems emerged and are now intensively developed. The main feature of these systems is that they abandon the relational data model and the SQL, do not fully support ACID transactions, and use distributed architecture (even though there are non-distributed NoSQL systems as well). As a result, such systems outperform the conventional SQL-oriented DBMSs in some applications; in addition, such systems are highly scalable under increasing workloads and huge amounts of data, which is important, in particular, for Web applications. Unfortunately, the absence of transactional semantics imposes certain constraints on the class of applications where NoSQL systems can be effectively used and the choice of a particular system significantly depends on the application. In this paper, a review of the main classes of NoSQL data management systems is given and examples of systems and applications where they can be used are discussed.

Keywords

Atomic Operation NoSQL Database Vector Clock Secondary Index Apache Software Foundation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Strozzi, C., NoSQL: A relational database management system. http://www.strozzi.it/cgi-bin/CSA/tw7/I/en-US/nosql/Home%20Page. Accessed March 14, 2013.Google Scholar
  2. 2.
    Gray, J., The transaction concept: Virtues and limitations, Seventh Int. Conf. on Very Large Databases, 1981.Google Scholar
  3. 3.
    NOSQL databases. http://nosql-database.org/. Accessed March 14, 2013.
  4. 4.
    Wiggins, A., SQL databases don’t scale. http://adam.heroku.com/past/2009/7/6/sql-databases-dontscale/. Accessed March 14, 2013.
  5. 5.
    Obasanjo, D., Building scalable databases: Denormalization, the NoSQL movement and Digg. http://www.25hoursaday.com/weblog/2009/09/10/BuildingScalableDatabasesDenormalizationTheNoSQLMovementAnd-Digg.aspx. Accessed March 14, 2013.
  6. 6.
    Philip, B.A., Hadzilacos, V., and Goodman, N., Distributed recovery, in Concurrency Control and Recovery in Database Systems, Addison Wesley, 1987, pp. 240–264.Google Scholar
  7. 7.
    Vogels, W., Eventually consistent, ACM Queue, 2008, vol. 6, no. 6.Google Scholar
  8. 8.
    Wada, H., Fekete, A., Zhaoy, L., Lee, K., and Liu, A., Data consistency properties and the tradeoffs in commercial cloud storages: The consumers’ perspective, in Conf. on Innovative Data Systems Research, 2011.Google Scholar
  9. 9.
    Baldoni, R. and Raynal, M., Fundamentals of distributed computing-a practical tour of vector clock systems. http://net.pku.edu.cn/~course/cs501/2008/reading/a-tour-vc.html. Accessed March 14, 2013.
  10. 10.
    Douglas, T.B., Theimer, M.M., Petersen, K., Demers, A.J., Spreitzer, M.J., and Hauser, C.H., Managing update conflicts in Bayou, a weakly connected replicated storage system, in SOSP’95 Proceedings of the fifteenth ACM symposium on Operating systems principles, New York, 1995.Google Scholar
  11. 11.
    Merriman, D., On distributed consistency. http://blog.mongodb.org/post/475279604/on-distributed-consistency-part-1. Accessed March 14, 2013.
  12. 12.
    Brewer, E., Towards robust distributed systems, in ACM Symposium on the Principles of Distributed Computing, Portland, Oregon, 2000.Google Scholar
  13. 13.
    Gilbert, S. and Linch, N., Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services, ACM SIGACT News, 2002, vol. 33, no. 2, pp. 51–59.CrossRefGoogle Scholar
  14. 14.
    Abadi, D., Problems with CAP, and Yahoo’s little known NoSQL system. http://dbmsmusings.blogspot.com/2010/04/problems-with-cap-and-yahoos-little.html. Accessed March 14, 2013.
  15. 15.
    Cattell, R. Scalable SQL and NoSQL data stores. http://www.cattell.net/datastores/Datastores.pdf. Accessed March 14, 2013.
  16. 16.
    Lith, A. and J. Mattsson, J., Investigating storage solutions for large data: A comparison of well performing and scalable data storage, Goteborg, Sweden: Chalmers University Of Technology, Department of Computer Science and Engineering, 2010.Google Scholar
  17. 17.
    Strauch, C., NoSQL databases. http://www.christ-of-strauch.de/nosqldbs.pdf. Accessed March 14, 2013.
  18. 18.
    Bernstein, P.A. and Goodman, N., Concurrency control in distributed database systems, ACM Computing Surveys, 1981, vol. 13, no. 2, pp. 185–221.CrossRefMathSciNetGoogle Scholar
  19. 19.
    Memcached — a distributed memory object caching system. http://memcached.org/. Accessed March 14, 2013.
  20. 20.
    Memcachedb—a distributed key-value storage system designed for persistent. http://memcachedb.org/. Accessed March 14, 2013.
  21. 21.
    Couchbase server. http://www.couchbase.com/. Accessed March 14, 2013.
  22. 22.
    Project Voldemort. http://www.project-voldemort.com/. Accessed March 14, 2013.
  23. 23.
    Kreps, J., Project Voldemort: Scaling simple storage at LinkedIn. http://blog.linkedin.com/2009/03/20/project-voldemort-scaling-simple-storage-at-linkedin/. Accessed March 14, 2013.
  24. 24.
    Karger, D., Sherman, A., Berkheimer, A., Bogstad, B., Dhanidina, R., Iwamoto, K., Kim, B., Matkins L., and Yerushalmi, Y., Web caching with consistent hashing. http://www8.org/w8-papers/2a-webserver/caching/paper2.html. Accessed March 14, 2013.
  25. 25.
  26. 26.
    Project Voldemort design. http://www.project-voldemort.com/voldemort/design.html. Accessed March 14, 2013.
  27. 27.
    Amazon DynamoDB. http://aws.amazon.com/dynamodb/. Accessed March 14, 2013.
  28. 28.
    Vogels, W., Amazon DynamoDB — a fast and scalable NoSQL database service designed for internet scale applications. http://www.allthingsdistributed.com/2012/01/amazon-dynamodb.html. Accessed March 14, 2013.Google Scholar
  29. 29.
    DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, P., and Vogels, W., Dynamo: Amazon’s highly available key-value store, in 21st ACM Symposium on Operating Systems Principles, Stevenson, WA, 2007.Google Scholar
  30. 30.
    Redis. http://redis.io/. Accessed March 14, 2013.
  31. 31.
    Who’s using Redis? http://redis.io/topics/whosusing-redis. Accessed March 14, 2013.
  32. 32.
    Riak. http://basho.com/riak/. Accessed March 14, 2013.
  33. 33.
    Introducing JSON. http://json.org/. Accessed March 14, 2013.
  34. 34.
    Dean, J. and Ghemawat, S. MapReduce: Simplified data processing on large clusters, in OSDI’04: Sixth Symposium on Operating System Design and Implementation, San Francisco, Calif., 2004.Google Scholar
  35. 35.
    Riak users. http://basho.com/riak-users/. Accessed March 14, 2013.
  36. 36.
    NoSQL database, in-memory or flash optimized and web scale—Aerospike. http://www.aerospike.com/. Accessed March 14, 2013.
  37. 37.
    Aerospike—ACID compliant database for mission-critical applications. http://www.aerospike.com/performance/acid-compliance/. Accessed March 14, 2013.
  38. 38.
    Srinivasan, V. and Bulkowski, B., Citrusleaf: A real-time NoSQL DB which preserves ACID, Very Large Databases (VLDB), 2010.Google Scholar
  39. 39.
    MongoDB, 10gen. http://www.mongodb.org/. Accessed March 14, 2013.
  40. 40.
    DB-engines ranking. http://db-engines.com/en/ranking. Accessed March 14, 2013.
  41. 41.
    MongoDB production deployments. http://www.mongodb.org/about/production-deployments/. Accessed March 14, 2013.
  42. 42.
    Apache CouchDB. http://couchdb.apache.org/. Accessed March 14, 2013.
  43. 43.
    CouchDB lounge. http://tilgovi.github.com/couchdb-lounge/. Accessed March 14, 2013.
  44. 44.
    CouchDB in the wild. http://wiki.apache.org/couchdb/CouchDB-in-the-wild. Accessed March 14, 2013.
  45. 45.
    Couchbase, Learn about Couchbase server. http://www.couchbase.com/learn. Accessed March 14, 2013.
  46. 46.
    Chang, F., Dean, J., Ghemawat, S., Hsieh, W.C., Wallach, D.A., Burrows, M., Chandra, T., and Fikes, A., Bigtable: A distributed storage system for structured data, in OSDI’06: Seventh Symposium on Operating System Design and Implementation, Seattle, WA, 2006.Google Scholar
  47. 47.
    Apache HBase. http://hbase.apache.org/. Accessed March 14, 2013.
  48. 48.
    Apache Hadoop. http://hadoop.apache.org/. Accessed March 14, 2013.
  49. 49.
    Apache HBase ACID properties. http://hbase.apache.org/acid-semantics.html. Accessed March 14, 2013.
  50. 50.
    Apache Cassandra. http://cassandra.apache.org/. Accessed March 14, 2013.
  51. 51.
    Cassandra users. http://www.datastax.com/cassandrausers. Accessed March 14, 2013.
  52. 52.
    Neward, T., The Vietnam of computer science. http://blogs.tedneward.com/2006/06/26/The+Vietnam+Of+Computer+Science.aspx. Accessed March 14, 2013.
  53. 53.
    Stonebraker, M. and Çetintemel, U., One size fits all: An idea whose time has come and gone, in ICDE’05: Proc. of the 21st International Conference on Data Engineering, Washington, 2005.Google Scholar
  54. 54.
    VoltDB. http://voltdb.com. Accessed March 14, 2013.
  55. 55.
    H-Store. http://hstore.cs.brown.edu/. Accessed March 14, 2013.

Copyright information

© Pleiades Publishing, Ltd. 2014

Authors and Affiliations

  1. 1.Institute for System ProgrammingRussian Academy of SciencesMoscowRussia
  2. 2.Moscow State UniversityMoscowRussia

Personalised recommendations