En çok kullanılan İlişkisel ve NoSQL veritabanı yönetim sistemlerinin performans karşılaştırması
Performance comparison of most used Relational and NoSQL database management systems
Yazar: BERNA DUMANLI
Danışman: DR. ÖĞR. ÜYESİ ALTAN MESUT
Trakya Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2019
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Veritabanı yönetim sistemleri, sağladıkları yararlar sebebiyle uzun yıllardır kullanılmaktadırlar. Büyük miktarda verinin, hızlı bir şekilde depolanmasında son yıllarda NoSQL veritabanları tercih edilmektedir. Bu sistemler ölçeklenebilme kolaylığı ve hızlı depolama yönünden avantajlı olmasına rağmen, ACID modelini tam olarak desteklememeleri ve bazı sorgularda yavaş kalmaları sebebiyle kullanım alanı kısıtlı olmaktadır. Bu dezavantajlara rağmen yeni sürümleriyle her geçen gün yeni özellikler kazanmakta ve NoSQL veritabanlarının kullanımı artmaktadır. Bu tezde, en çok kullanılan NoSQL veritabanı sistemlerinden üç tane ve en çok kullanılan ilişkisel veritabanlarından üç tane seçilerek sistemlerin yeteneklerini ve farklı işlemlerde nasıl tepkiler verdiklerini ortaya çıkarmak için testler yapılmıştır. Bu amaçla, birçok iş yükü yüklenmiş ve iki adet test ortamı hazırlanmıştır. Bu çalışmanın sonuçları kullanılan her bir sistemin zayıf ve güçlü yanlarını ortaya koymaktadır. Test edilen her bir veritabanı farklı mimari ve özelliklere sahip olduğu için farklı sonuçlar ortaya çıkarmıştır.  Karşılaştırmada, ilk olarak Yahoo tarafından geliştirilen Yahoo Cloud Serving Benchmark (YCSB) kullanılmıştır. Elde edilen sonuçlara göre, NoSQL sistemler içinde MongoDB en iyi performansı gösterirken, Couchbase de ona yakın bir performans göstermiştir. Çok düğüme sahip kümelerde performansı yüksek olan Cassandra ise tek düğüm üzerinde beklenen performansı gösterememiştir. Test edilen ilişkisel veritabanları MySQL, SQL Server ve Oracle ise okuma performansı olarak NoSQL sistemler ile yakın olsa da, ACID özelliğine sahip olmaları nedeniyle yazma ve güncellemede düşük performans göstermişlerdir. İkinci test olarak, veritabanlarına farklı büyüklüklerde veriler yüklenip, farklı türden sorguları ne kadar sürede tamamladıkları ölçülmüştür. En hızlı yanıtları ilişkisel veritabanlarından SQL Server ve Oracle vermiştir. MongoDB testimizdeki diğer ilişkisel veritabanı olan MySQL'e yakın sonuçlar verebilmiştir. Cassandra ve Couchbase ise bu testte iyi bir performans gösterememiştir.

Abstract:
Database management systems have been used for long time due to benefits they provide. NoSQL databases are preferred for fast storage of big amounts of data. These systems are advantageous in terms of ease of scalability and fast storage. However, it does not support the ACID model and suggests that it should be slow in some queries. Despite these disadvantages, new versions get new features and the use of NoSQL databases increase every passing day. In this thesis, the most commonly three NoSQL database systems and relational databases are used to test the capabilities of the systems and react in different processes. For this purpose, many workloads are loaded and two test platform are prepared. The results of this study reveal the weaknesses and strengths of each used system. Different results have occurrenced because each tested database has different acrhitecture and features. In comparison, Firstly Yahoo Cloud Serving Benchmark (YCSB), Yahoo who developed, used. According to the results, MongoDB performed the best in NoSQL systems also Couchbase performed well. Cassandra showed high performance in multinode clusters but has not been able to achieve desired performance on a single node. Relational databases that tested for this thesis(MySQL, SQL Server, Oracle) have reading performance close to nosql databases but because they have ACID , they performed poorly on writing and updating. As the second test, data of different sizes uploaded to databases and queries of different types used and their completion times measurement. SQL server and Oracle have given the fastest responses as Relational databases. MongoDB was able to give results close to MySQL, which is the other relational database in our test. Cassandra and Couchbase did not perform well in this test.