SQL veritabanlarından Nosql veritabanlarına veri göçü aracı geliştirme
Development of a data migration tool from SQL databases to Nosql databases
Yazar: OKTAY YILDIRIM
Danışman: PROF. DR. RESUL KARA
Düzce Üniversitesi / Fen Bilimleri Enstitüsü / Elektrik-Elektronik ve 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
Dizin: Dağıtık veri tabanı sistemleri = Distributed database systems ; Çoklu veri tabanı sistemleri = Multi database systems ; İlişkisel veri tabanı = Relational database

Özet:
Geleneksel veri tabanı yönetim sistemleri, verileri normalize ederek ilişkili tablolarda barındırırlar. Veriler disk sistemleri üzerinde depolanır ve işlenmek üzere belleğe transfer edilir. Günümüz teknolojik gelişmelerine bağlı olarak küçük boyutlarda milyarlarca verinin bir araya gelmesiyle oluşan ve adına "büyük veri" denilen veri yığını ilişkisel veri tabanlarıyla işlenmesi esnasında düşük başarımlara yol açarlar. Bu yüzden verileri bellekte işlenmek üzere organize eden NoSQL sistemlerin kullanımı kaçınılmaz olmuştur. Sosyal medya ve nesnelerin interneti uygulamalarından elde edilen veriler büyük veri olarak nitelendirilebilir. Günümüzde çok önem kazanan konulardan biri de verilerin analiz edilerek anlamlı bilgilerin çıkarımıdır. Özellikle veri analitiği çalışmaları için işlem zamanından kazanç sağlamak için ilişkisel veri tabanı sistemleri yerine NoSQL sistemlerin kullanımı kaçınılmaz olmaktadır. Mevcut verilerini ilişkisel veri tabanları üzerinde saklayan işletmelerin NoSQL'e geçişleri için verileri kayıpsız olarak taşımaları gereklidir. Bu çalışmada, ilişkisel veri tabanı sistemlerinden NoSQL sistemlere veri göçü için kullanılan yöntemler ele alınmış, veritabanı tablosundaki yabancı anahtar sayısına bağlı bir yöntem önerilmiştir. Python dili kullanılarak geliştirilen bir yazılımla, önerilen yöntemle kayıpsız veri göçü gerçekleştirilebildiği görülmüştür.

Abstract:
Conventional database management systems normalize the data and host it in the associated tables. Data is stored on disk systems and transferred to memory for processing. Due to today's technological developments, the data stack formed by gathering billions of data in small dimensions is called big data. Processing large stacks in relational databases reduces performance. Therefore, the use of NoSQL systems organizing data for processing in memory has become inevitable. Data obtained from social media and internet of things can be considered as big data. One of the most important issues today is the analysis of data and the extraction of meaningful information. It is inevitable to use NoSQL systems instead of relational database systems in order to save processing time especially for data analytic studies. Businesses that store existing data on relational databases are required to migrate data to NoSQL without loss. In this study, the methods used for data migration from relational database systems to NoSQL systems are discussed, and a method based on the number of foreign keys in the database table is proposed. It has been found that with the software developed using Python language, the proposed method can perform lossless data migration.