En çok kullanılan ilişkisel ve nosql veritabanı yönetim sistemlerinin performans karşılaştırması
Ö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. 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.
Koleksiyonlar
- Tez Koleksiyonu [1287]