Preview

Труды Института системного программирования РАН

Расширенный поиск

Распределенные горизонтально масштабируемые решения для управления данными

Аннотация

В современном мире всё острее встает проблема работы с огромными объемами данных и большими нагрузками. Крупные Web-приложения, социальные сети, различные научные исследования, бизнес-аналитика, а также множество других областей, так или иначе, сталкиваются с проблемами управления и анализа данных большого объема («big data»). Кроме анализа уже накопленного объема данных, возникают задачи манипулирования данными под большой нагрузкой, характерные, например, для Web-приложений. В таких проектах большое количество пользователей одновременно читают и пишут информацию, что требует от системы управления данными не только большой пропускной способности и низких задержек, но и масштабируемости, надежности и определённых гарантий согласованности данных. Несмотря на большую популярность, опыт применения и универсальность, традиционные SQL-ориентированные СУБД зачастую не могут удовлетворить требования современных приложений, что привело к появлению большого числа специализированных распределённых систем, способных лучше справляться с возникающими задачами. В данной статье предлагается обзор некоторых современных решений, обеспечивающих масштабируемость при работе с большими объемами данных под высокими нагрузками.

Об авторах

С. Д. Кузнецов
ИСП РАН
Россия


А. В. Посконин
ИСП РАН
Россия


Список литературы

1. M. Stonebraker и U. Çetintemel, «"One Size Fits All": An Idea Whose Time Has Come and Gone,» в ICDE ’05: Proceedings of the 21st International Conference on Data Engineering, Washington, 2005.

2. W. Vogels, «Eventually Consistent,» ACM Queue, т. 6, № 6, 2008.

3. H. Wada, A. Fekete, L. Zhaoy, K. Lee и A. Liu, «Data Consistency Properties and the Tradeoffs in Commercial Cloud Storages: the Consumers’ Perspective,» в Conference on Innovative Data Systems Research, 2011.

4. R. Baldoni и M. Raynal, «Fundamentals of Distributed Computing - A Practical Tour of Vector Clock Systems,» 2002. [В Интернете]. URL: http://net.pku.edu.cn/~course/cs501/2008/reading/a_tour_vc.html. [Дата обращения: 8 июня 2013].

5. T. B. Douglas, M. M. Theimer, K. Petersen, A. J. Demers, M. J. Spreitzer и C. H. Hauser, «Managing update conflicts in Bayou, a weakly connected replicated storage system,» в SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles, New York, NY, USA, 1995.

6. D. Merriman, «On Distributed Consistency,» 26 марта 2010. [В Интернете]. URL: http://blog.mongodb.org/post/475279604/on-distributed-consistency-part-1. [Дата обращения: 8 июня 2013].

7. E. Brewer, «Towards Robust Distributed Systems,» в ACM Symposium on the Principles of Distributed Computing, Portland, Oregon, 2000.

8. S. Gilbert и N. Linch, «Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services,» ACM SIGACT News, т. 33, № 2, pp. 51-59, 2002.

9. D. Abadi, «Problems with CAP, and Yahoo’s little known NoSQL system,» 2010. [В Интернете]. URL: http://dbmsmusings.blogspot.com/2010/04/problems-with-cap-and-yahoos-little.html. [Дата обращения: 8 июня 2013].

10. J. Dean и S. Ghemawat, «MapReduce: Simplified Data Processing on Large Clusters,» в OSDI'04: Sixth Symposium on Operating System Design and Implementation, San Francisco, CA, 2004.

11. «Apache Hadoop,» [В Интернете]. URL: http://hadoop.apache.org/. [Дата обращения: 8 июня 2013].

12. «MongoDB,» 10gen, [В Интернете]. URL: http://www.mongodb.org/. [Дата обращения: 8 июня 2013].

13. «Apache CouchDB,» [В Интернете]. URL: http://couchdb.apache.org/. [Дата обращения: 8 июня 2013].

14. «Riak,» Basho, [В Интернете]. URL: http://basho.com/riak/. [Дата обращения: 8 июня 2013].

15. T. White, Hadoop: The Definitive Guide, O'Reilly Media, 2009.

16. «Apache HBase,» [В Интернете]. URL: http://hbase.apache.org/. [Дата обращения: 8 июня 2013].

17. «Apache Cassandra,» [В Интернете]. URL: http://cassandra.apache.org/. [Дата обращения: 8 июня 2013].

18. «Apache Pig,» [В Интернете]. URL: http://pig.apache.org/. [Дата обращения: 2 июня 2013].

19. C. Strozzi, «NoSQL: A Relational Database Management System,» [В Интернете]. URL: http://www.strozzi.it/cgi-bin/CSA/tw7/I/en_US/nosql/Home%20Page. [Дата обращения: 8 июня 2013].

20. J. Gray, «The Transaction Concept: Virtues and Limitations,» в Seventh International Conference on Very Large Databases, 1981.

21. «NOSQL Databases,» [В Интернете]. URL: http://nosql-database.org/. [Дата обращения: 8 июня 2013].

22. A. Wiggins, «SQL Databases Don't Scale,» 2009. [В Интернете]. URL: http://adam.heroku.com/past/2009/7/6/sql_databases_dont_scale/. [Дата обращения: 8 июня 2013].

23. D. Obasanjo, «Building scalable databases: Denormalization, the NoSQL movement and Digg,» 2009. [В Интернете]. URL: http://www.25hoursaday.com/weblog/2009/09/10/BuildingScalableDatabasesDenormalizationTheNoSQLMovementAndDigg.aspx. [Дата обращения: 8 июня 2013].

24. B. A. Philip, V. Hadzilacos и N. Goodman, «Distributed Recovery,» в Concurrency Control and Recovery in Database Systems, Addison Wesley Publishing Company, 1987, pp. 240-264.

25. R. Cattell, «Scalable SQL and NoSQL Data Stores,» 2011. [В Интернете]. URL: http://www.cattell.net/datastores/Datastores.pdf. [Дата обращения: 8 июня 2013].

26. A. Lith и J. Mattsson, 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.

27. C. Strauch, «NoSQL Databases,» 2011. [В Интернете]. URL: http://www.christof-strauch.de/nosqldbs.pdf. [Дата обращения: 8 июня 2013].

28. P. A. Bernstein и N. Goodman, «Concurrency Control in Distributed Database Systems,» ACM Computing Surveys, т. 13, № 2, pp. 185-221, 1981.

29. «memcached - a distributed memory object caching system,» [В Интернете]. URL: http://memcached.org/. [Дата обращения: 8 июня 2013].

30. «memcachedb - A distributed key-value storage system designed for persistent,» [В Интернете]. URL: http://memcachedb.org/. [Дата обращения: 8 июня 2013].

31. «Couchbase Server,» [В Интернете]. URL: http://www.couchbase.com/. [Дата обращения: 8 июня 2013].

32. «Project Voldemort,» [В Интернете]. URL: http://www.project-voldemort.com/. [Дата обращения: 8 июня 2013].

33. J. Kreps, «Project Voldemort: Scaling Simple Storage at LinkedIn,» 20 мая 2009. [В Интернете]. URL: http://blog.linkedin.com/2009/03/20/project-voldemort-scaling-simple-storage-at-linkedin/. [Дата обращения: 8 июня 2013].

34. D. Karger, A. Sherman, A. Berkheimer, B. Bogstad, R. Dhanidina, K. Iwamoto, B. Kim, L. Matkins и Y. Yerushalmi, «Web Caching with Consistent Hashing,» MIT Laboratory for Computer Science, 1999. [В Интернете]. URL: http://www8.org/w8-papers/2a-webserver/caching/paper2.html. [Дата обращения: 8 июня 2013].

35. «Oracle Berkeley DB,» Oracle, [В Интернете]. URL: http://www.oracle.com/technetwork/products/berkeleydb/overview/index.html. [Дата обращения: 8 июня 2013].

36. «Project Voldemort Design,» [В Интернете]. URL: http://www.project-voldemort.com/voldemort/design.html. [Дата обращения: 8 июня 2013].

37. «Amazon DynamoDB,» Amazon, [В Интернете]. URL: http://aws.amazon.com/dynamodb/. [Дата обращения: 8 июня 2013].

38. W. Vogels, «Amazon DynamoDB – a Fast and Scalable NoSQL Database Service Designed for Internet Scale Applications,» 18 января 2012. [В Интернете]. URL: http://www.allthingsdistributed.com/2012/01/amazon-dynamodb.html. [Дата обращения: 8 июня 2013].

39. G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall и W. Vogels, «Dynamo: Amazon’s Highly Available Key-value Store,» в 21st ACM Symposium on Operating Systems Principles, Stevenson, WA, 2007.

40. «Redis,» [В Интернете]. URL: http://redis.io/. [Дата обращения: 8 июня 2013].

41. «Who's using Redis?,» [В Интернете]. URL: http://redis.io/topics/whos-using-redis. [Дата обращения: 8 июня 2013].

42. «Introducing JSON,» [В Интернете]. URL: http://json.org/. [Дата обращения: 8 июня 2013].

43. «Riak Users,» [В Интернете]. URL: http://basho.com/riak-users/. [Дата обращения: 8 июня 2013].

44. «NoSQL Database, In-Memory or Flash Optimized and Web Scale - Aerospike,» [В Интернете]. URL: http://www.aerospike.com/. [Дата обращения: 8 июня 2013].

45. «Aerospike - Acid Compliant Database for Mission-Critical Applications,» [В Интернете]. URL: http://www.aerospike.com/performance/acid-compliance/. [Дата обращения: 8 июня 2013].

46. V. Srinivasan и B. Bulkowski, «Citrusleaf: A Real-Time NoSQL DB which Preserves ACID,» в Very Large Databases (VLDB), 2010.

47. «DB-Engines Ranking,» [В Интернете]. URL: http://db-engines.com/en/ranking. [Дата обращения: 8 июня 2013].

48. «MongoDB Production Deployments,» [В Интернете]. URL: http://www.mongodb.org/about/production-deployments/. [Дата обращения: 8 июня 2013].

49. «CouchDB Lounge,» [В Интернете]. URL: http://tilgovi.github.com/couchdb-lounge/. [Дата обращения: 8 июня 2013].

50. «CouchDB in the Wild,» [В Интернете]. URL: http://wiki.apache.org/couchdb/CouchDB_in_the_wild. [Дата обращения: 8 июня 2013].

51. Couchbase, «Learn about Couchbase Server,» [В Интернете]. URL: http://www.couchbase.com/learn. [Дата обращения: 8 июня 2013].

52. F. Chang, J. Dean, S. Ghemawat, W. C. Hsieh, D. A. Wallach, M. Burrows, T. Chandra и A. Fikes, «Bigtable: A Distributed Storage System for Structured Data,» в OSDI'06: Seventh Symposium on Operating System Design and Implementation, Seattle, WA, 2006.

53. «Apache HBase ACID Properties,» [В Интернете]. URL: http://hbase.apache.org/acid-semantics.html. [Дата обращения: 8 июня 2013].

54. «Cassandra Users,» [В Интернете]. URL: http://www.datastax.com/cassandrausers. [Дата обращения: 8 июня 2013].

55. Research, «NoSQL, NewSQL and Beyond: The drivers and use cases for database alternatives,» 2011.

56. P. Campaniello, «The NewSQL Market Breakdown,» 2011. [В Интернете]. URL: http://www.scalebase.com/the-story-of-newsql/. [Дата обращения: 4 июня 2013].

57. P. Venkatesh, «NewSQL - The New Way to Handle Big Data,» 2012. [В Интернете]. URL: http://www.linuxforu.com/2012/01/newsql-handle-big-data/. [Дата обращения: 4 июня 2013].

58. «VoltDB,» [В Интернете]. URL: http://voltdb.com. [Дата обращения: 8 июня 2013].

59. «H-Store,» [В Интернете]. URL: http://hstore.cs.brown.edu/. [Дата обращения: 8 июня 2013].

60. M. Stonebraker, «Errors in Database Systems, Eventual Consistency, and the CAP Theorem,» 2010. [В Интернете]. URL: http://cacm.acm.org/blogs/blog-cacm/83396-errors-in-database-systems-eventual-consistency-and-the-cap-theorem/fulltext. [Дата обращения: 4 июня 2013].

61. «Clustrix,» [В Интернете]. URL: http://www.clustrix.com/. [Дата обращения: 5 июня 2013].

62. «MySQL,» [В Интернете]. URL: http://www.mysql.com/. [Дата обращения: 4 июня 2013].

63. S. K. Cabral и K. Murphy, MySQL Administrator's Bible, Wiley, 2009.

64. «MySQL Cluster,» [В Интернете]. URL: http://www.mysql.com/products/cluster/. [Дата обращения: 4 июня 2013].

65. «TokuDB for MySQL,» [В Интернете]. URL: http://www.tokutek.com/products/tokudb-for-mysql/. [Дата обращения: 4 июня 2013].

66. «dbShards,» [В Интернете]. URL: http://www.dbshards.com. [Дата обращения: 4 июня 2013].

67. «ScaleBase,» [В Интернете]. URL: http://www.scalebase.com/. [Дата обращения: 4 июня 2013].

68. T. Neward, «The Vietnam of Computer Science,» 26 июня 2006. [В Интернете]. URL: http://blogs.tedneward.com/2006/06/26/The+Vietnam+Of+Computer+Science.aspx. [Дата обращения: 8 июня 2013].


Рецензия

Для цитирования:


Кузнецов С.Д., Посконин А.В. Распределенные горизонтально масштабируемые решения для управления данными. Труды Института системного программирования РАН. 2013;24.

For citation:


Kuznetsov S.D., Poskonin A.V. Modern Data Management Systems. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2013;24. (In Russ.)



Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)