• Sonuç bulunamadı

MONGODB VE SQL SERVER ARASINDA VERİTABANI BOYUTU

4. TEST İŞLEMİ

4.3. MONGODB VE SQL SERVER ARASINDA VERİTABANI BOYUTU

KIYASI

Nortwind veritabanının dosya boyutu görüntülendiğinde Şekil 4.9’da 6,06 MB olduğu görülmektedir.

Şekil 4.9. Northwind veritabanın sql server’da boyut görünümü.

Mongodb Northwind veritabanı dosya boyutu ise MongoDB Atlas üzerinden görüntülenmiştir. Şekil 4.10’da görüldüğü gibi toplam boyut 5,22 MB’dır.

Şekil 4.10 MongoDB veritabanında Northwind dosya boyutu ekranı.

Northwind veritabanının her iki veritabanında ki boyutları birbirine yakın gibi görülebilir. Fakat şunu unutmamak gerektir ki mongoDB üzerindeki Northwind veritabanında tablolara denormalizasyon işlemi uygulanmıştır. Denormalizasyon işlemi sonucu birçok veri tekrarı oluşmuş, alan sayıları çok fazlalaşmıştır. Buna rağmen mongoDB dosya boyutu Sql Server dosya boyutundan düşüktür. MongoDB’nin barındırdığı sıkıştırma algoritmalarının artısı bu testte görülmektedir.

SONUÇLAR VE ÖNERİLER

Bu yüksek lisans tezinde, kullanımı hızla yaygınlaşan Nosql veritabanlarına ilişkisel veritabanlarından veri göçü üzerine çalışılmıştır. İlişkisel veritabanlarında depolama yapıp Nosql veritabanına geçmek isteyen firmaların veritabanı yöneticileri için bu işlem çok karmaşıktır. Bu çalışma ile veri göçü işlemini kolaylaştırmak amaçlanmıştır.

Literatür araştırmasında sql’den nosql’e veri göçü (migration) için genellikle denormalizasyon işlemi uygulandığı görülmüştür. Farklı çalışmalarda farklı denormalizasyon işlemleri mevcuttur. Bu da göstermektedir ki tüm ihtiyaçları gören mükemmel bir denormalizasyon işlemi halen mevcut değildir. Bunda veri göçü talebi olan firmaların veritabanı yöneticilerinin isteklerinin farklılık göstermesi temel sebep olarak görülmektedir.

Bu çalışmada, veritabanı tablolarının dış anahtar sayısına dayalı bir veri göçü algoritması önerilmiştir. Veri göçü aracı Python programlama dili ile Microsoft SQL Server ve Oracle veritabanları için geliştirilmiştir. Fakat çıktı olarak üretilen csv türündeki dosyalar tüm nosql veritabanlarına eklenebilir. Denormalizasyon işleminden sonra verilerin csv türündeki dosyaya kaydedilmesinin sebebi csv dosyaların veri transferi işlemlerinde sıklıkla kullanılmasıdır. Sql Server ve MongoDB üzerinde oluşturulmuş olan Northwind veritabanı dosya boyutu kıyaslandığında denormalizasyon işlemine tabi tutulmuş olmasına rağmen MongoDB üzerindeki dosya boyutunun daha düşük olduğu görülmüştür.

İlişkisel veritabanları üzerindeki tüm tablolar ayrı ayrı denormalize edilmiş ve bu işlem birçok veri tekrarı oluşturmuştur. Bu durum veri göçü aracı için göz ardı edilebilirdir. Çünkü veri göçü aracının kullanıcısının nelere ihtiyaç duyduğu tam olarak bilinememektedir. Tüm tablolar denormalize edildikten sonra kullanıcının ihtiyacı doğrultusunda ilgili dosya nosql veritabanına manuel olarak eklenebilmektedir.

Bu çalışma esas alınarak tüm ilişkisel veritabanı sistemlerinden NoSql sistemlere veri transferi yapan otomatize edilmiş araçlar geliştirilebilir. Bu çalışmada gözardı edilen binary türündeki verilerin Nosql sistemlerde saklanması için yöntemler geliştirilebilir.

KAYNAKLAR

[1] Y. Gökşen ve H. Aşan, “Veri Büyüklüklerinin Veritabanı Yönetim Sistemlerinde Meydana Getirdiği Değişim: NOSQL,” Bilişim Teknoloji Dergisi, c. 8, sayı 3, ss. 125–131, 2015.

[2] S. Öztürk, “Ilişkisel ve ilişkisel olmayan (nosql) veri tabanı yönetim sistemleri mimari performansının yönetim bilişim sistemleri kapsamında incelenmesi,” Yüksek lisans tezi, Yönetim Bilişim Sistemleri Anabilimdalı, Gazi Üniversitesi, 2017.

[3] A. T. Kabakus ve R. Kara, “A performance evaluation of in-memory databases,”

Journal of King Saud University - Computer Information Science, c. 29, sayı 4,

ss. 520–525, 2017.

[4] A. T. Aladily, “The performance –wise comparison of the most widely used nosql databases,” Master Thesis, Department of Science and Engineering, Kadis Has University, 2015.

[5] S. Oyucu, “M2M platformlar için servis ve arayüz geliştirilmesi,” Yüksek lisans tezi, Bilgisayar Mühendisliği Anabilimdalı, Gazi Üniversitesi, Ankara, Türkiye. [6] E. Öztürk, A. Mesut, ve B. Diri, “NoSQL veritabanlarında kullanılan veri

sıkıştırma yöntemlerinin performans analizi,” International Conference on Computer Science and Engineering, ss. 228–232, Tekirdağ, Turkiye, 2016.

[7] S. Uzunbayir, “A comparision between relational database models and NoSQL trends on big data design challenges using a social shopping application,” İzmir University of Economics, İzmir, Turkey, 2015.

[8] G. Karataş, “Dağıtık veritabanları için test uygulaması,” Yüksek lisans tezi, Bilgisayar Mühendisliği Anabilimdalı, İstanbul Kültür Üniversitesi, İstanbul, Türkiye, 2015.

[9] F. C. CİHAN, “Java programlama ile jdbc, hibernate, nosql’i kullanarak farklılıkların ortaya çıkarılması ve uygulamalar ile gösterilmesi,” Yüksek lisans tezi, Bilgisayar Mühendisliği Anabilimdalı, Beykent Üniversitesi, İstanbul, Türkiye, 2016.

[10] U. Benzer, “Ontolojı̇ arama motorlarinin ı̇ncelenmesı̇ ve nosql tabanli bı̇r ontolojı̇ havuzu gerçekleştı̇rı̇mı̇,” Yüksek lisans tezi, Bilgisayar Mühendisliği Anabilimdalı, Ege Üniversitesi, İzmir, Türkiye, 2014.

[11] A. H. Hammood, “A comparison of nosql database systems : a study on mongodb, apache hbase , and apache cassandra,” Master Thesis, Department of Computer Engineering, Çankaya University, Ankara, Turkey, 2016.

[12] K. Eren, “Bulut bilişim teknolojileri ve nosql veritabanları kullanarak türkiye’de terör olaylarının incelenmesi,” Yüksek lisans tezi, Yönetim Bilişim Sistemleri Anabilimdalı, Sakarya Üniversitesi, Sakarya, Türkiye, 2017.

[13] İ. A. Taha, “A Comprehensive comparison of nosql and relational database management systems,” Master Thesis, Department of Mathematics and Computer Science, Çankaya University, Ankara, Turkey, 2017.

of Sortware Engineering, Çankaya University, Ankara, Turkey, 2018.

[15] M. M. Shwaysh, “Security and performance comparison of nosql database systems,” Master Thesis, Department of Sortware Engineering, Çankaya University, Ankara, Turkey, 2018.

[16] B. Erden, “Nosql veritabanları için ortak sorgu işletim katmanının geliştirimi,” Ege Üniversitesi, İzmir, Türkiye, 2018.

[17] B. Dumanlı, “En çok kullanılan ilişkisel ve nosql veritabanı yönetim sistemlerinin performans karşılaştırması,” Yüksek lisans tezi, Bilgisayar Mühendisliği Anabilimdalı, Trakya Üniversitesi, Edirne, Türkiye, 2019.

[18] C.-H. Lee ve Y.-L. Zheng, “SQL-to-NoSQL Schema Denormalization and Migration: A Study on Content Management Systems,” 2015 IEEE International

Conference on Systems, Man, and Cybernetics, 2015, ss. 2022–2026.

[19] M. Scavuzzo, E. Di Nitto, ve S. Ceri, “Interoperable data migration between NoSQL columnar databases,” Proceedings - IEEE International Enterprise

Distributed Object Computing Workshop, EDOCW, 2014.

[20] A. Bansel, H. Gonzalez-Velez, ve A. E. Chis, “Cloud-Based NoSQL Data Migration,” Proceedings - 24th Euromicro International Conference on Parallel,

Distributed, and Network-Based Processing, DOI: 10.1109/PDP.2016.111 ss.

224–231,2016.

[21] L. Stanescu, M. Brezovan, ve D. D. Burdescu, “An algorithm for mapping the relational databases to mongodb - a case study,” International Journal Computer

Science and Applications., c. 14, sayı 1, ss. 65–79, 2017.

[22] J. Yoo, K. H. Lee, ve Y. H. Jeon, “Migration from RDBMS to NoSQL Using Column-Level Denormalization and Atomic Aggregates,” Journal Information Science and Engineering, c. 34, sayı:1, ss. 243–259, 2018.

[23] M. Hanine, A. Bendarag, ve O. Boutkhoum, “Data Migration Methodology from Relational to NoSql Databases,” World Academy of Science, Engineering and Technology International Journal of Computer and Information Engineering c.9, sayı 12, 2015.

[24] L. Rocha, F. Vale, E. Cirilo, D. Barbosa, ve F. Mourão, “A Framework for Migrating Relational Datasets to NoSQL,” Procedia Computer Science, c.51, ss. 2593–2602, 2015.

[25] K. Meyer-Wegener, J. Rith, ve P. S. Lehmayr, “Speaking in Tongues: SQL Access to NoSQL Systems,” Proceedings of the 29th Annual ACM Symposium on Applied Computing, DOI:10.1145/2554850.2555099, 2014.

[26] Amazon, 2019, 2 Temmuz, “AWS Veritabanları”, [Online], Erişim: https://aws.amazon.com/tr/products/databases/?nc2=h_m1.

[27] Microsoft, 2019, 2 Temmuz, “Acid Properties”, [Online]. Erişim: https://docs.microsoft.com/en-us/windows/desktop/cossdk/acid-properties.

[28] C. He, “Survey on NoSQL Database Technology,” Journal of Application

Science Engineering Innovation, c. 2, sayı 2, 2015.

[29] Ş. E. ŞEKER, “Büyük Veri, TUB Teoremi, ACID ve BASE Yaklaşımları”, YBS Ansiklopedi,c. 4, sayı 4, 2017.

[30] N. Hurst, 2019, 2 Temmuz, “Visual Guide To Nosql Systems”. [Online]. Erişim:http://blog.nahurst.com/visual-guide-to-nosql-systems.

[31] Dev, 2019, 2 Temmuz, “Horizontal and Vertical Scaling”. [Online]. Erişim: https://dev.to/wmahathre/horizontal-and-vertical-scaling-1lid.

[32] S. Eken, F. Kaya, A. Sayar, ve A. Kavak, “Doküman Tabanlı NoSQL Veritabanları: MongoDB ve CouchDB yatay ölçeklenebilirlik karşılaştırması,” 2014.

[33] D. Raneland, “Performance-and cost-efficient cloud architectures”, Master thesis, Department of Computer Engineering, 2014.

[34] Microsoft, 2019, 2 Temmuz, “Bölümleme (Sharding),” [Online]. Erişim: https://docs.microsoft.com/tr-tr/azure/architecture/best-practices/data-

partitioning#designing-partitions-for-query-performance.

[35] IBM, 2019, 2 Temmuz, “Veri Replikasyonu”. [Online]. Erişim: https://www.ibm.com/tr-tr/analytics/data-replication.

[36] Amazon, 2019, 2 Temmuz, “The key-value database defined”. [Online]. Erişim: https://aws.amazon.com/tr/nosql/key-value/.

[37] Nosql Database, 2019, 2 Temmuz, “NOSQL” [Online]. Erişim: http://nosql- database.org/.

[38] M. Rethana, 2019, 2 Temmuz, “Introduction to Nosql Databases”. [Online]. Erişim: https://medium.com/@mark.rethana/introduction-to-nosql-databases- c5b43f3ca1cc.

[39] F. Koçer, “İlişkisel vertabanlarının uygulandığı araç takip sisteminin büyük veriye uyarlanması”, Yüksek lisans tezi, Bilgisayar Mühendisliği Anabilimdalı, Maltepe Üniversitesi, İstanbul, Türkiye, 2019.

[40] M. Knight, 2019, 2 Temmuz, “What is a wide-column database”. [Online]. Erişim: https://www.dataversity.net/wide-column-database/.

[41] E. Uzun, H. N. Buluş, ve C. Erdoğan, “Veritabanı Tasarımının Yazılım Performansına Etkisi: Normalizasyona karşı Denormalizasyon”, Süleyman

Demirel Üniversitesi Journal National Application Science, c. 22, sayı 2, ss. 887–

895, 2018.

[42] A. Nizam, Veritabanı Tasarımı İlişkisel Veri Modeli ve Uygulamaları, Papatya Yayıncılık Eğitim.

[43] Python, 2019, 2 Temmuz, “The Python Tutorial”. [Online]. Erişim: https://docs.python.org/3/tutorial/index.html.

[44] M. Akca, “Polimeraz Zı̇ncı̇r Reaksı̇yonlarinda Prı̇mer Tasarim İçı̇n Bı̇r Python Modülü”, Yüksek lisans tezi, Bilgisayar mühendisliği, Karabük Üniversitesi, Karabük, Türkiye, 2017.

[45] MongoDb, 2019, 2 Temmuz, “What is MongoDB?” [Online]. Erişim: https://www.mongodb.com/what-is-mongodb.

ÖZGEÇMİŞ

KİŞİSEL BİLGİLER

Adı Soyadı : Oktay YILDIRIM

Doğum Tarihi ve Yeri : 01/03/1984 – Çaycuma / ZONGULDAK Yabancı Dili : İngilizce

E-posta : oktayildirim67@gmail.com

ÖĞRENİM DURUMU

Derece Alan Okul/Üniversite Mezuniyet Yılı

Lisans

Bilgisayar Sistemleri

Öğretmenliği Gazi Üniversitesi 2007

Lise

Çaycuma Anadolu Ticaret

Meslek Lisesi 2002

YAYINLAR

O. YILDIRIM, R. KARA, “İlişkisel Veri Tabanı Sistemlerinden NoSQL Sistemlere Veri Göçü”, 3rd International Engineering Research Symposium INERS’19, September 05-07, 2019, Düzce, Turkey.

Benzer Belgeler