NOSQL MA'LUMOTLAR BAZASI: TANQIDIY TAHLIL VA TAQQOSLASH
Keywords:
ma'lumotlar bazasi; NoSQL; taqqoslash; ma'lumotlar bazasi tizimlari; MongoDb; Cassandra; Redis; Neo4j.Abstract
Hozirgi tadqiqot NoSQL ma'lumotlar bazalarining mavjud bo'lgan turli shakllarni o'rganadi va farqlaydi. U NoSQLga bo'lgan ehtiyojni va uning relyatsion ma'lumotlar bazalariga qanday darajada bog`liqligini o'rganadi. NoSQL ma'lumotlar bazalarini to'rtta asosiy tasnifga bo'lish mumkin: asosiy qiymatlar do'konlari, grafik ma'lumotlar bazalari, keng ustunli do'konlar va hujjatlar do'konlari. Bu toifalar funksional va funksional bo‘lmagan xususiyatlar asosida taqqoslanadi. Funktsional bo'lmagan xususiyatlar unumdorlik, miqyoslilik, moslashuvchanlik, tuzilish va murakkablikni o'z ichiga oladi. Funktsional xususiyatlar normalizatsiya, qo'shilish, markazlashganlik, yig'ish va kalitlarni o'z ichiga oladi. Keyinchalik tahlil qilish uchun ushbu toifalarning har biridan bitta ma'lumotlar bazasi tanlanadi, ya'ni MongoDB (hujjatlar do'konlari), Cassandra (keng ustunli do'konlar), Redis (asosiy qiymatlar do'konlari) va Neo4j (grafik ma'lumotlar bazalari). Tanlangan ma'lumotlar bazalari ularning ma'lumotlar modeli, CAP teoremasi, tarqatish xususiyatlari va boshqa omillar bo'yicha taqqoslanadi. Funktsional bo'lmagan xususiyatlar bo'yicha taqqoslashni amalga oshirish orqali, agar yuqori unumdorlik, moslashuvchanlik va miqyoslilik talab qilinsa va biz JSON formatida ma'lumotlarni taqdim etgan bo'lsak, hujjatlar do'konidan foydalanish mumkinligi aniqlandi. Ustunlar do'konidan yuqori unumdorlik va miqyoslilikni talab qiluvchi yarim tuzilgan ma'lumotlar uchun foydalanish mumkin. Redis anin xotira ombori bo'lib, bitta parcha bilan ishlashda juda tez ishlaydi. Grafik ma'lumotlar bazalari o'zaro bog'langan ma'lumotlar va doimiy rivojlanayotgan ma'lumotlar modellari haqida gap ketganda foydalanish mumkin. MongoDB, Cassandra, Redis va Neo4j o'rtasidagi taqqoslash shuni ko'rsatdiki, ularning barchasi gorizontal o'lchovga amal qiladi va sxemasiz. Neo4j dan tashqari, boshqalar to'liq ACID xususiyatlariga ega emas. MongoDB, Redis va Cassandra ma'lumotlar bazalari uchun yozish va o'chirish operatsiyalari tez, Kassandrada esa o'qish jarayoni nisbatan sekin. Neo4j bo'lsa, REST ishlashi MongoDB ga o'xshaydi, o'rnatilgan esa nisbatan sekin. Shuningdek, biz ushbu ma'lumotlar bazalarining taqsimlangan muhitda qanday ishlashini muhokama qilamiz.
References
AvriliaFloratou, Nikhil Teletia , David J. DeWitt, Jignesh M. Patel, Donghui Zhang, “Can the Elephants Handle the NoSQL Onslaught?”, Proceedings of the VLDB Endowment, 2012
Tilmann Rabl, Mohammad Sadoghi, Hans-Arno Jacobsen, Sergio G´omez Villamor, Victor Munt´es Mulero and Serge Mankovskii, “Solving Big Data Challenges for Enterprise Application Performance Management”, The 38th International Conference on Very Large Data Bases, August 27th - 31st 2012, Istanbul, Turkey. Proceedings of the VLDB Endowment,2012
Bogdan George Tudorica, Cristian Bucur, “A comparison between several NoSQL databases with comments and notes”, RoEduNet International Conference 10th Edition: Networking in Education and Research, 2011
Yishan Li and Sathiamoorthy, “A performance comparison of SQL and NoSQL databases.”, IEEE Pacific Rim Conference on Communications, Computers and Signal Processing, 2013
Laurie Butgereit, “Four NoSQLs in Four Fun Fortnights: Exploring NoSQLs in a Corporate in a Corporate IT Environment”, SAICSIT '16 Proceedings of the Annual Conference of the South African Institute of Computer Scientists and Information Technologists, 2016
Avinash Lakshman, Prashant Malik, “Cassandra - A Decentralized Structured Storage System”, Operating Systems Review, 2010
John Klein, Ian Gorton, Neil Ernst, Patrick Donohoe, Kim Pham, Chriisjan Master, “A comparison between several NoSQL databases with comments and notes”, PABS '15 Proceedings of the 1st Workshop on Performance Analysis of Big Data Systems, 2015
Jiri Schindler, “I/O performance of NoSQL Databases(VLDB)”, SIGMETRICS '13 Proceedings of the ACM; SIGMETRICS/international conference on Measurement and modelling of computer systems, 2013
Amal W. Yassien, Amr F. Desouky, “RDBMS, NoSQL, Hadoop: A Performance-Based Empirical Analysis”, AMECSE ‘16 Proceedings of the 2nd Africa and Middle East Conference on Software Engineering, 2016
Hua Fan, Aditya Ramaraju, Marlon McKenzie, Wojciech Golab, Bernard Wong, “Understanding the Causes of Consistency Anomalies in Apache Cassandra”, Proceedings of the VLDB Endowment, 2015
Sumitkumar Kanoje, Varsha Powar, Debajyoti Mukhopadhyay,”Using MongoDB for Social Networking Website: Deciphering the Pros and Cons”, IEEE Sponsored 2nd International Conference on Innovations in Information Embedded and Communication Systems, 2015
Zachary Parker, Scott Poe, Susan V. Vrbsky, “Comparing NoSQLMongoDB to an SQL DB”, ACMSE '13 Proceedings of the 51st ACM Southeast Conference, 2013
Gansen Zhao, Weichai Huang, Shunlin Liang, Yong Tang,”Modelling MongoDB with Relational Model”, Fourth International Conference on Emerging Intelligent Data and Web Technologies, 2013
Rick Cattell, “Scalable SQL and NoSQL Data Stores”, SIGMOD Record, December 2010 (Vol. 39, No. 4), 2010
Lanjun Wang, Shuo Zhang, Juwei Shi, Limei Jiao,Oktie Hassanzadeh, Jia Zou, Chen Wangz, “Schema Management for Document Stores”, Proceedings of the VLDB Endowment, 2015
http://www.planetcassandra.org/what-is-nosql/
Concurrent Programming for Scalable Web Architectures (2012),Benjamin Erb Research Assistant, University of Ulm Distributed Systems (Cited by 14):http://berb.github.io/diplomathesis/original/061_challenge.html
Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber, "Bigtable: A Distributed Storage System for Structured Data", ACM Transactions on Computer Systems,Volume 26, issue 2,Article 4, June 2008
Seth Gilbert, Nancy Lynch, “Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services”, ACM SIGACT NewsVolume 33 Issue 2, June 2002 ,Pages 51-59 http://dl.acm.org/citation.cfm?id=564601
"Google Bigtable, Compression, Zippy and BMDiff". 2008-10-12. Archived from the original on 1 May 2013. Retrieved 14 April 2015..
Santosh S. Ravi, Kalyanaraman santhanam , “Performance of Neo4j versus MongoDB for social actions”; 2014 [22] Chad Vicknair, Michael Macias, Zhendong Zhao, Xiaofei Nan, Yixin Chen, Dawn Wilkins, “A Comparison of a Graph Database and a Relational”, ACM SE '10 Proceedings of the 48th Annual Southeast Regional Conference; 2010
DatabaseSQL Server by Microsoft: https://www.microsoft.com/enus/sql-server/sql-server-2016/
Oracle Official website: https://www.oracle.com/database/index.html [25] MySQL Documentation: https://dev.mysql.com/doc/refman/5.7/en/whatis-mysql.html/
Definition of RDBMS: http://searchsqlserver.techtarget.com/definition/relational-databasemanagement-system/
Neo4j Official Website: https://neo4j.com/developer/graph-database/
TITAN’s (a distributed graph database) Official website: http://titan.thinkaurelius.com/
Redis Documentation: https://redis.io/documentation
Amazon DynamoDB Official Page: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Int roduction.html
Riak Official Website: http://basho.com/products/
Apache HBASE official website: https://hbase.apache.org/
Cassandra Documentation by Datastax Academy: https://academy.datastax.com/resources/brief-introduction-apachecassandra
MongoDB Official Website: https://www.mongodb.com/what-ismongodb
Apache CouchDB Official Website: http://couchdb.apache.org/
Brewer’s CAP Theorem: http://www.royans.net/wp/2010/02/14/brewers-cap-theorem-ondistributed-systems/
BSON Official Website and Documentation: http://bsonspec.org/
JSON Official Website and Documentation: http://www.json.org/ [39] NoSQL Explanation by Datastax Academy:http://www.planetcassandra.org/what-is-nosql/
Antonios Makrisa, Konstantinos Tserpesa, Vassiliki Andronikoub, Dimosthenis Anagnostopoulosa, “A classification of NoSQL data stores based on key design characteristics”, Cloud Futures: From Distributed to Complete Computing, CF2016, 18-20 October 2016. [41] Michael Stonebraker. 2010. SQL databases v. NoSQL databases. Commun. ACM 53, 4 (April 2010), 10-11. DOI: https://doi.org/10.1145/1721654.1721659. [42] “MongoDB Security Guide Release3.2.1”, MongoDB,Inc. February09, 2016,©MongoDB,Inc.2008–2015.