SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
T.C.
SAKARYA ÜNİVERSİTESİ
FEN BİLİMLERİ ENSTİTÜSÜ

HİYERARŞİK, İLİŞKİSEL VE NoSQL
VERİTABANLARI

YÖNETİM BİLİŞİM SİSTEMLERİ DERSİ (ENF503)
2013-2014 GÜZ DÖNEMİ ÖDEVİ
Murat AZİMLİ (1250E43037)

Enstitü Anabilim Dalı

:

BİLİŞİM SİSTEMLERİ

Enstitü Bilim Dalı

:

BİLİŞİM SİSTEMLERİ

Öğretim Görevlisi

:

Prof. Dr. Orhan TORKUL

Aralık 2013
i

İÇİNDEKİLER
1. GİRİŞ……………………………………………………………………....................1
2. VERİTABANI NEDİR ?.............................................................................................2
3. VERİTABANI MODELLEMESİ NEDİR ?................................................................3
4. VERİTABANI TÜRLERİ……………….…………………………………...............5
4.1 Hiyerarşik Veritabanları ………..………………………………………………5
4.2 İlişkisel Veritabanları…..………………………………………………………..6
4.2.1

İlişkisel Veritabanı Nesneleri....................................................................6

4.2.2

İlişkisel Veritabanlarında Sorgulama........................................................7

4.2.3

İlişkisel Veritabanlarında ACID Özellikleri…………………………….8

4.3 NoSQL Veritabanları ………………………………………………………….10
5. SONUÇ……………………………………………………………………………..12

6. KAYNAKLAR…………………………………………...…………………………13
1

1.GİRİŞ
Son yıllarda, bilişim ve iletişim araçları teknolojisinde çok büyük gelişmeler
yaşanmıştır. Bilişim ve iletişim araçlarındaki üretim maliyetlerinin düşmesiyle,
insanların ve kurumların son teknolojiye ulaşması kolaylaşmıştır. Bu sayede,
milyarlarca byte tutan veriler elektronik ortamlarda depolanabilmiş, insanlar ve
kurumlar arasındaki her türlü işlem (hareket) kayıt altına alınabilmiştir. Buna paralel
olarak, iletişim teknolojilerinde ise adeta kablosuz (mobil) bir döneme girilmiş, insanlar
ve kurumlar için zamanın ve mekanın önemi giderek azalmıştır. Bu sayede dünyada
uzak mesafeler yakınlaşmış, daha önce ulaşılamayan yerlere ulaşılabilmiştir. Tüm bu
gelişmeler, insanlar ve kurumlar arasında rekabeti de beraberinde getirmiştir. Örneğin;
15-20 sene öncesine kadar ülkemizde faaliyet gösteren 3-5 tane otomobil markası
varken, bugün 100 ü aşkın marka ülkemizde faaliyet göstermektedir.
Küçülen dünyada ve artan rekabet koşulları altında kurumların yaşamaları ve gelecekte
de var olmaları da alacakları kararların doğruluğuna bağlıdır. Günümüzde, kurumların
aldıkları yanlış kararların geri dönüşü hemen hemen kalmamıştır. Bir çok kurum,
aldıkları yanlış kararlar neticesinde faaliyetlerini durdurmak zorunda kalmıştır. Bunun
tam aksine, bir çok kurum da aldıkları doğru kararlar sonucunda büyümüş, geleceklerini
garanti altına almışlardır. Doğru karar vermenin önemini anlayan kurumlar, yaptıkları
tüm işlemleri, daha sonra kullanılmak üzere elektronik ortamlarda (veritabanlarında)
saklamaya başlamışlardır.
İlk başlarda amaç, verilere istendiği anda ulaşabilmek, verileri listeleyip raporlamaktı.
Bu yapıldıktan sonra, depolanan verilerden analiz yaparak çeşitli sonuçlara ulaşmak
sonraki amaç oldu. Çünkü, son yıllarda kurumlar arası rekabet çok artmış buda alınan
karar sayısındaki artışı beraberinde getirmiştir. Alınan kararların hızlı ve doğru bir
şekilde alınması gerekmiştir. Karar almayı etkileyen faktörler ve parametreler de
geçmişle kıyaslanamayacak ölçüde artmış ve karmaşıklaşmıştır.
İş dünyasının giderek karmaşıklaşan veri depolama ve analiz ihtiyaçlarına çözüm
bulmak için çeşitli veritabanı teknolojileri geliştirilmiştir.
2

2.VERİTABANI NEDİR ?
Veritabanı, kurumlarda gerçek zamanlı operasyonel verilerin girildiği ve saklandığı
elektronik (bilgisayar) ortamlardır. Örneğin; bir işletmede satış faturası kesilmesi, satış
faturası sonucunda ilgili muhasebe hesaplarının çalıştırılması, yine fatura karşılığnda
ürün satınalınması, satınalma faturası sonucunda ilgili muhasebe hesaplarının
çalıştırılması, depoya ürün girişi ve stokların arttırılması gibi işlemler birer operasyonel
veridir. Sürekli olarak tekrarlanmakta ve kayıt altına alınarak saklanması gerekmektedir.
Önceleri, kurumlarda veri saklama ortamı olarak çeşitli defterler, kartonlar (kartoteks)
kullanıldı. Kurumda yapılan her türlü işlem, ilgili defterlere ve kartonlara işlenerek
dosyalandı. Fihristler ve indexler oluşturularak çeşitli arama bulma yöntemleri
geliştirildi. Ancak bütün bunlar insan eliyle yapılmakta olduğundan, kayıt, arama,
bulma, sorgulama işlemleri çok zaman alıyordu. Kurumlardaki en kalabalık
departmanlarını bu tür kayıtların yapıldığı departmanlar oluşturuyordu. Bunlara örnek
olarak, kamu kurumlarında evrak kayıt birimleri ve özel kurumlarda da muhasebe
departmanları gösterilebilir.
Bilişim teknolojilerindeki gelişmelere paralel olarak, kurumlardaki gerçek zamanlı
operasyonel veriler elektronik ortamlara (bilgisayar) kayıt edilerek saklanmaya
başlandı. Bilişim teknolojilerindeki yeni ürünlerin fiyatları ucuzladı ve bir çok kurum
tarafından ulaşılabilir hale geldi. Bunların sonucunda, hemen hemen tüm kurumlar
operasyonel verilerini elektronik ortamda (bilgisayar) kayıt altına alıp saklamaya
başladı.
3

3. VERİTABANI MODELLEMESİ NEDİR ?
Veritabanı modellemesi, herhangi bir veritabanına kayıt edilecek verilerin, veriler
arasındaki ilişkilerin, verilere nasıl erişileceğinin tasarlanmasıdır. Veritabanlarına,
gerçek dünyada üretilen, çeşitli nesnelere ve olaylara ait olan veriler kayıt edilir.
Teknolojik kısıtlamalardan dolayı, gerçek dünyada üretilen tüm verilerin bir
veritabanına kayıt edilmesi mümkün değildir. Kayıt edilebilse bile, bu verilerin büyük
çoğunluğu bir işe yaramayacaktır. Bu yüzden, veritabanlarına işe yarayacak, ulaşılmak
istenen sonuca götürebilecek veriler kayıt edilmelidir. Örneğin, bir işletmeye ait
veritabanında, müşterilerinin babalarının isimlerini veya arabalarının markalarının yer
almasının bir anlamı mı ? Bu veriler işletmenin işine yarayacak mı ? Yada, müşterilerin
hangi bilgileri veritabanında yer almalı ? Soruları sorulmaya başlandığında, bir
veritabanın yapısının tasarlanmaya başlanarak modelleme yapıldığını anlayabiliriz.
Kullanılacak veritabanı ne olursa olsun, öncelikle veritabanında hangi verilerin
tutulacağı belirlenmelidir. Bu tasarımı yapmak için en yaygın kullanılan yöntem, varlıkilişki diyagramlarıdır. Bu diyagramlarda, varlıklar ve özellikleri ile varlıklar arasındaki
ilişki açıkca gösterilir. Varlıklar arasındaki ilişki de, tıpkı varlıklar gibi çeşitli
özelliklere sahiptir. Örneğin, bir üniversite veritabanını düşündüğümüzde, bir
öğrencinin birden fazla bölümünün olup olamayacağı, birden fazla ders alıp
alamayacağı gibi. Bu tür verilere “yapısal” veriler denir.
Yapısal veriler içeren veritabanlarında, varlıklar ve özellikleri, varlıklar arasındaki
ilişkiler ve özellikleri (tablo ve alanlar) önceden belirlenmiş ve tanımlanmıştır. Bunların
dışında bir veri veritabanına girilemez ve saklanamaz. İnsanların ve kurumların yapısal
verileri elektronik ortamlarda saklama ve gerektiğinde bu verilere ulaşma ihtiyacı
20.yüzyılda ortaya çıkmıştır. Bu süre içerisinde, bir çok çalışma yapılmış, yapılan
çalışmalar bir araya getirilmiş, herkesin kabul ettiği bir endüstri standardı haline
dönüşmüştür. Bundan dolayı, yapısal verileri içeren ilişkisel veritabanlarının nasıl
olacağı, veritabanı modellemesinin nasıl yapılacağı bir çok kişi tarafından bilinmekte ve
uygulanmaktadır.
4

Son yıllarda, yaygınlaşan bilgisayar ve internet teknolojileri sayesinde, gerçek dünyada
üretilen veriler, direkt olarak elektronik ortamlarda bilgisayarlar üzerinde üretilmeye
başlandı. Örneğin, internet üzerinden alışveriş yapılması, bankacılık ve finans işlemleri,
çeşitli bilgi ve belgelerin paylaşımı gibi. Bunun sonucunda, içereceği verilerin
(yapısının) önceden tahmin edilemeyeceği (yapısal olmayan) bir veritabanı türü doğdu.
Buda, “internet veritabanı” dır.
Günümüzde, “internet veritabanı” na dünya çapında sayısız kullanıcı tarafından veri
girişi yapılmakta, sayısız kullanıcı tarafından da girilen bu verilere ulaşılmaya
çalışılmaktadır. Bundan dolayı, bilişim dünyası 3 soruyla karşılaşmıştır:


Bu kadar büyük boyutlardaki ve yapısal olmayan veri nerede ve nasıl
depolanacak ?



Sonradan arandığında bu verilere nasıl ulaşılacak ?



Bu verilerle nasıl analiz yapılacak ve ne gibi sonuçlara ulaşılacak ?

Bu soruların cevaplarını tam olarak veren, herkes tarafından kabul görmüş ve endüstri
standardı haline gelmiş teknoloji çözümü henüz oluşmamıştır. Bu konudaki çalışmalar,
farklı kişiler ve kurumlar tarafından kendi ihtiyaçlarına çözüm bulabilmek için
yürütülmektedir. Bu konuda önemli bir mesafe alınmıştır. En azından, birbirlerinden
farklı mantıkta olsalar bile temelde aynı işi yapan algoritmalar geliştirilmiştir. Bu
algoritmaları kullanarak, yapısal olmayan verileri depolayabilen ve gerektiğinde bu
veriler üzerinde sorgulama yapabilmeyi sağlayan veritabanı sistemleri yaygınlaşmaya
başlamıştır.
5

4. VERİTABANI TÜRLERİ

4.1 Hiyerarşik Veritabanları
Hiyerarşik veritabanları, yapısal veriyi depolamak ve işlemek için geliştirilmiş olan ilk
veritabanı modelidir. Bu veritabanı modelinde, kök düğüm (root node) haricinde kalan
tüm düğümler, bir üst düğüme bağlanmak zorundadır. Verilerin tablolara yazılma
mantığı ile, daha sonra verilere erişim mantığı aynıdır. Bu mantık, ikili arama (binary
search) metoduna dayanır. Verilerin tabloda yerleşeği düğüm (kayıt) ikili arama
metoduna göre bulunur ve yine aynı metodla erişim sağlanır.

Şekil 4.1: İkili (binary) veri yapısı

Hiyerarşik veritabanları, dünya genelinde yaygın bir kullanıma kavuşamamıştır. İlk kez,
1968 yılında IBM firması tarafından ticari olarak geliştirilmiş olup sadece ana
bilgisayarlarda (mainframe) kullanılmıştır. Çünkü, o yıllarda kişisel bilgisayarlar (pcpersonel computer) henüz yaygınlaşmamıştı. Ana bilgisayarlarda bulunan işlemciler,
günümüzde kullanılan kişisel bilgisayarların işlemcilerine göre çok yavaştı. Bir verinin
tabloya yerleşebilmesi için bir çok düğümün ötelenmesi (yer değiştirmesi) gerekiyordu.
Ayrıca bir veriye ulaşabilmek için bir çok düğümden geçilmesi gerekiyordu.
Hiyerarşik veritabanları, gerçek dünyada oluşan verileri tam olarak yansıtamıyordu.
Çünkü, gerçek dünyada üretilen verilerde bir ast-üst ilişkisi yoktu. Sadece aralarında bir
ilişki bulunuyordu. Bundan dolayı, ilişkisel veritabanları günlük hayatta yaygın olarak
kullanılmadı ve bir endüstri standardı haline gelemedi.
O dönem yapılan çalışmalar, kazanılan tecrübe ve deneyimler sonucunda „“ilişkisel
veritabanı“ modellerine geçiş yapıldı. Bugün bile, bir çok ilişkisel veritabanı o dönem
geliştirilen ikili arama (binary search) kullanmaktadır.
6

4.2 İlişkisel Veritabanları
Günümüzde bilgisayar ortamlarında tutulan ilişkisel veritabanlarının mantığı, geçmişte
kayıt işlemlerinin defter ve kartonlara yapılıp dosyalanmasına dayanır. Veritabanı
içerisindeki bilgilere erişim mantığı hemen hemen aynıdır. Ancak, bilgisayar ortamında
yapılan

kayıt

ve

bilgiye

sonradan

erişim

(sorgulama)

işlemleri

geçmişle

karşılaştıralamayacak kadar kolay ve hızlı yapılmaktadır. Kolaylık ve hız kadar diğer
önemli bir kavram da doğruluk ve tutarlılıktır. İlişkisel veritabanı sistemlerinin
günümüzde yaygın olarak kullanılmasının temel sebepleri de bunlardır.
Kurumlarda gerçek zamanlı operasyonel verilerin tutulduğu veritabanlarına OLTP
(OnLine Transaction Processing) veritabanları denir. Bu tür veri tabanlarına, aynı
anda bir çok kullanıcı kayıt girebilir. Girilen kayıtlar üzerinde çok miktarda silme,
güncelleme, sorgulama gibi temel veritabanı işlemleri yapılabilir.
4.2.1 İlişkisel Veritabanı Nesneleri
İlişkisel veritabanları içerisinde bir çok mantıksal nesne bulunur. Bunların temeli ve en
önemlileri ise Tablo (Table) ve Indeks (Index) lerdir. Veritabanına girilen veriler
tablolarda tutulur. Her bir tablo

farklı yapılardaki veri gruplarına aittir. Örneğin,

müşteri verileri bir tabloda tutulurken, ürün verileri ayrı bir tabloda tutulur. Çünkü,
müşteri varlığı ile ürün varlığı’nın nitelikleri (attribute) farklıdır. Bu verilerin arasındaki
ilişkilerin kurulduğu başka bir tablo daha olabilir. Örneğin, fatura tablosu. Fatura
tablosu içerisinde, hem müşteri verileri hemde ürün verileri bulunabilir. Bunlara genel
olarak “hareket tabloları” denir ve varlıklar arasında ilişki kurulmasını sağlarlar.
Tablolarda tutulan verilere daha hızlı erişim ve sorgulama yapılabilmesi için kullanılan
nesneler ise indeks’lerdir. Bir veritabanında çok sayıda tablo olabileceği gibi, bir
tabloda da farklı niteliklere göre hazırlanmış çok sayıda indeks olabilir. Her veritabanın
içerisinde, kendi içinde oluşturulmuş olan nesneleri tutan sistem tabloları ve şemaları
bulunmaktadır. Bunlara META-DATA denilmektedir.
7

MUSTERI_NO

MUSTERI_UNVAN

VERGI_DAIRE

VERGI_NO

0001

DENEME A.Ş.

BORNOVA

123456789

0002

ÖRNEK LTD.ŞTİ.

KARŞIYAKA

654321678

0004

BATI METAL SANAYİ A.Ş

KONAK

234559456

0005

DOĞU ÜRETİM SAN.A.Ş

BORNOVA

001234345

Şekil 4.2: Örnek bir tablo ve içerdiği veriler

Tablo ve indeksler dışında, günümüz ilişkisel veritabanlarında bir çok nesne
bulunmaktadır. Bunların başlıcaları; Görüntüler (View), Saklanmış Yordamlar (Stored
Procedure & Functions), Tetikleyiciler (Triggers), Kısıtlamalar (Constraints) dır.
Bunların amacı, veritabanına girilen veriler arasında tutarlılığı sağlamaktadır. Örneğin,
müşteri tablosunda olmayan bir müşteriye ait fatura kesilmek istendiğinde veritabanı
bunun hatalı bir veri girişi olduğunu anlayabilir.
Günümüzde ilişkisel veritabanı sistemleri çok gelişmiştir. Tablolarda milyonlarca byte
büyüklüğünde verileri tutabilir, bu veriler üzerinde çok kısa sürelerde arama bulma
işlemleri gerçekleştirebilir. Ayrıca her ilişkisel veritabanı sistemi kendi VTYS
(Veritabanı Yönetim Sistemi) sistemine sahiptir. Veritabanı üzerindeki tüm yönetim
işlemleri bu VTYS ler kullanılarak yapılır. Bunlar;
a. Veritabanına yeni bir tablo, alan veya indeks eklenmesi.
b. Veritabanına yeni bir görüntü, prosedür, fonksiyon eklenmesi.
c. Veritabanı yedeklemesinin yapılması.
d. Veritabanı performansının izlenerek yönetilmesi.
e. Veritabanı güvenliğinin sağlanarak yetkisiz kişilerin erişiminin engellenmesi.
4.2.2 İlişkisel Veritabanlarında Sorgulama
İlişkisel OLTP veritabanlarında gerçek zamanlı operasyonel veriler tutulmaktadır.
Değişik zamanlarda, bu veritabanları içerisinde yer alan veriler sorgulanarak, verilerden
anlamlı bilgiler çıkarılmaya çalışılmaktadır. 1990 lı yılların ortalarına kadar, veriden
anlamlı bilgi çıkarma işlemlerinin tamamına yakını veritabanı sorgulaması ile elde
edilmiştir. Veritabanından, sorgulama ile elde edilen veriler çeşitli tablolama
yazılımlarına aktarılmış ve ihtiyaç duyulan analizler o yazılımlar üzerinde yapılmıştır.
8

İlişkisel OLTP veritabanlarından sorgulama yapabilmek ve istenen kriterlere ait veri
setlerini elde edebilmek için SQL (Structured Query Language) Yapısal Sorgulama
Dili kullanılmaktadır. Tüm ilişkisel OLTP veritabanlarında kullanılan standart bir
sorgulama komut kütüphanesi ANSI (American National Standarts Instutite)
tarafından geliştirilmiştir. (ANSI SQL)
Günümüzde bir çok veritabanı sistemi üreticisi ANSI SQL komut setlerine ilave olarak,
veritabanı üreticileri kendi veritabanı sistemlerine özgü ek komutlar içeren SQL komut
setleri üretmişlerdir. Örnek olarak; PL/SQL ve T-SQL en yaygın olarak kullanılan SQL
komut setleridir.
İlişkisel veritabanlarında tablolarda tutulan veriler satır ve sütunlar olmak üzere 2
boyutludur. Bundan dolayı SQL sorgulama dili ile yapılacak sorgulama da elde edilecek
bilgi 2 boyutu geçemez. Sadece, istenen tablolardaki, istenen sütunlardaki verileri belirli
şartlara göre elde edilebilir. Ancak günümüzdeki çok boyutlu karmaşık prosesler ve
karar alma süreçleri karşısında bu yöntem yetersiz kalmıştır. Analiz süreçlerinde sadece
belirli bir aşamaya kadar ihtiyaçları karşılamıştır.
Şekil-1 deki tablodan, vergi dairesi BORNOVA olan müşterileri elde eden basit bir
sorgulama cümlesi aşağıdaki gibidir: (Tablo adı TBL_MUSTERI dir)
SELECT MUSTERI_NO,MUSTERI_UNVAN,VERGI_DAIRE,VERGI_NO
FROM TBL_MUSTERI
WHERE VERGI_DAIRE = ‘BORNOVA’

4.2.3 İlişkisel Veritabanlarında ACID Özellikleri
1980’li yılların başlarında, ilişkisel veritabanlarında olması gereken özellikler
belirlenerek asgari standartlar oluşturulmuştur. ACID kelimesi, bu özellikleri
tanımlayan ingilizce kelimelerin baş harflerinden oluşan bir kısaltmadır. Bu özellikler:
Atomicity (Atomiklik), Consistency (Tutarlılık), Isolation (İzolasyon), Durability
(Sağlamlık)
9

Atomiklik kavramı veri giriş işlemleri (transaction) ile ilgilidir. İlişkisel veritabanlarına
veri giriş bütünsellik gerektirir. Bazen, bir tabloya bir kayıt girilebileceği gibi, bir çok
tabloya bir çok kayıt girilmesi gerekebilir. Bu durumda, bir işlem (transaction) birden
fazla tabloyu ve birden fazla kaydı kapsayabilir. İşlem sırasında, verilerden herhangi
birinin kayıt edilmesi sırasında hata oluşursa, diğer verilerinde hiç birisi kayıt edilmez.
O ana kadar girilen kayıtlar geri sarılırak, hiç girilmemiş gibi olur. (rollback) Bu durum,
bütün verilerin veritabanına sorunsuz bir şekilde kayıt edilmesini garanti altına alır.
(commit) Bu duruma örnek olarak, veri bütünlüğünün çok önemli olduğu bankaları ve
ticari işletmeleri gösterebiliriz. Bir işletmenin müşterisine bir satış faturası kaydı
girdiğini varsayalım. Satış faturası, birden fazla tablodan oluşmaktadır. Bir satış
faturasının kayıt edilmesiyle, işletme stokları ve muhasebe hesapları etkilenmektedir.
Fatura bilgilerini veritabanına kayıt ettikten sonra, herhangi bir sebepten dolayı
muhasebe hesaplarına ilgili veriler kayıt edilemeyebilir. Böyle bir durumda, fatura
kayıtları ile muhasebe kayıtları arasında bir tutarsızlık oluşacaktır. Bundan dolayı,
veritabanına faturanın kayıt işlemi, muhasebe hesaplarına yapılan kayıtları da
içermelidir. Tüm kayıtlara, “ya hep yada hiç” yaklaşımı ile bakılarak tek bir kayıtmış
gibi düşünülmelidir.
Tutarlılık kavramı, verilerin önceden belirlenen (tanımlanan) kurallara uygun şekilde
veritabanına girişini garanti eder. Önceki bölümde açıklanan, kısıtlamalar (constraint)
yabancı anahtarlar (foreign keys) ve tetikleyiciler (triggers) kavramları “tutarlılık”
amacına hizmet ederler. Bir veritabanıda yer alan herhangi bir tablodaki bir alanın
(field) boş değer içermemesi istenebilir. Yine herhangi bir alana sadece belirlenen
değerlerden birisinin girilmesi veya girilen değerin belirli bir aralıkta olması istenebilir.
Örneğin, “maaş” verisinin girileceği alana negatif değerde veri girilmesi veya “telefon
numarası” verisinin girileceği alana harf içeren veri girilmesinin engellenmesi
gerekmektedir.
İzolasyon kavramı ise, aynı anda birden fazla kullanıcını veri giriş işlemlerinin
(transaction) birbirlerine karışmaması, birbirlerini etkilememesidir. Yani, tam anlamıyla
işlemlerin (transactions) birbirlerinden izole edilmesidir.
Sağlamlık, veritabanına girilen verilerin, istenmeden değişmemesi ve silinmemesidir.
10

4.3 NoSQL Veritabanları

NoSQL,

geleneksel ilişkisel veritabanı sistemlerinin kurallarını uygulamayan ve

veritabanı işlemleri için klasik SQL sorgularına ihtiyaç duymayan veritabanı
sistemlerine verilen isimdir.
Son yıllarda, bilgisayarın ve internetin insan yaşamına daha fazla girmeye başlamasıyla,
internet ortamında yapısı olmayan ve dağınık şekilde bulunan devasa boyutlarda veriler
oluşmaya başlamıştır. Bu verileri depolamak ve işlemek için, geleneksel ilişkisel
veritabanı yöntemleri yetersiz kalmıştır. Çünkü, geleneksel ilişkisel veritabanı sistemleri
ancak yapısal ve ilişkili verileri merkezi bir şekilde depolamak ve işlemek için
geliştirilmişlerdir. Bu sorunu aşmak için, ana faaliyet konusu internet üzerinde olan
firmalar çalışmalara başlamıştır. Bu çalışmaların öncüleri, Google, Facebook, Twitter,
Linkedin, eBay, Amazon gibi firmalardır. Günümüzde, yaklaşık 150 kadar NoSQL
türünde veritabanı sistemi bulunmaktadır.
NoSQL veritabanı sistemleri, henüz bir endüstri standardı haline gelmemiştir. Çünkü,
bir NoSQL veritabanı sisteminde olması gereken asgari özellikler, uluslararası düzeyde
ortaya konulmamış ve herkes tarafından kabul edilmemiştir. Bundan dolayı,
birbirlerinden farklı konulara odaklanmış, farklı algoritmalarla ve mantıklarla çalışan,
farklı özellikler barındıran bir çok NoSQL türünde veritabanı sistemi bulunmaktadır.
NoSQL veritabanı sistemleri de, kendi içlerinde 4 farklı kategoriye ayrılmaktadır:





Column Stores: (Örnekler: HBase, Accumulo)
Document Stores: (Örnekler: MarkLogic, MongoDB, Couchbase
Key-value Stores: (Örnekler: Dynamo, Riak, Redis, Cache, Project Voldemort)
Graph Database: (Örnekler: Neo4J, Allegro, Virtuoso)

NoSQL veritabanı sistemleri, çoğunlukla internet ortamında üretilen ve depolanan
verilere odaklanmıştır. Bu verilerin en önemli özellikleri ise; Yapısal olmamaları,
dağıtık halde ve devasa boyutlarda olmalarıdır. Bundan dolayı NoSQL veritabanı
sistemleri, performans, ölçeklenebilirlik ve yüksek kullanılabilirlik konularına
odaklanmışlardır.
11

Bundan dolayı, geleneksel ilişkisel veritabanı sistemlerinde olan kavramlardan ve
özelliklerden bir çoğu NoSQL veritabanı sistemlerinde bulunmamaktadır. Bunların en
önemlileri, ACID (Atomicity, Consistency, Isolation, Durability) özellikleri ve SQL
veri sorgulama komutlarıdır. Geleneksel ilişkisel veritabanı sistemlerinin bu kadar
yaygınlaşması ve bir endüstri haline gelmesi bu özellikler sayesinde olmuştur. Ayrıca,
geleneksel ilişkisel veritabanı sistemleri tarafında da önemli gelişmeler yaşanmıştır.
Özellikle, çok boyutlu sorguları ve tabloları (küpler) barındıran OLAP (On-Line
Analytical Processing) teknolojileri çok önemlidir. Bu teknoloji ile, çok büyük veriler
üzerinde çeşitli simülasyonlar ve analitik analizler yapılarak iş dünyasına yeni fırsatlar
sunulmuştur.
NoSQL veritabanı sistemleri ne zaman kullanılmalıdır ? Başta belirttiğimiz gibi, çok
büyük hacimli, yapısal özellik göstermeyen, veriler arasındaki ilişkinin ve bütünlüğün
çok önemli olmadığı iş ihtiyaçlarını uygun maliyetlerle karşılamak için kullanılabilir.
Bu tanıma günümüzde en çok uyan uygulamalar internet uygulamalarıdır. Özellikle, bir
internet sitesi aracılığıyla elde edilen, kritik önem derecesine sahip olmayan verilerin
depolanmasında ve erişilmesinde kullanılabilir.
Mali değeri olan veya kaybedilmesinde önemli mali zararlara yol açabilecek verilerin
üretildiği bankacılık, sigortacılık, ithalat, ihracat, üretim vb iş süreçlerinde kullanılması
şu anda uygun görünmüyor.
12

5. SONUÇ

Hiyerarşik veritabanı sistemleri geçmişte kalan veritabanı sistemleridir. Yeni veritabanı
sistemlerine temel teşkil ederek görevini tamamlamış, yerini ilişkisel veritabanı
sistemlerine bırakmıştır.
İlişkisel veritabanı sistemleri ise, endüstri standardı haline gelmiş olan günümüz
veritabanı sistemleridir. Bugün bile, iş dünyasıda için kritik öneme sahip yapısal
verilerin büyük bir kısmı ilişkisel veritabanı sistemlerinde depolanmaktadır. İlişkisel
veritabanı sistemleri, veri tutarlılığı, güvenlik, sağlamlık ve sorgulama konularında
önemli gelişmeler yaşamıştır. Yapısal veriler üzerinde, çok gelişmiş sorgulamalar ve
analizler yapılabilmektedir.
NoSQL veritabanı sistemlerine ise, uzak geleceğin veritabanı sistemlerinin ilk adımları
diyebiliriz. Çünkü, henüz asgari sağlanması gereken özellikler tanımlanmamıştır. Bu
yapılmadan da bir endüstri standardı haline gelmesi, herkes tarafından yaygın şekilde
kullanılması mümkün değildir. Özellikle, kritik öneme sahip verileri depolayan
kurumların yakın gelecekte dahi kullanmaları mümkün görünmüyor. Aslında, NoSQL
veritabanı sistemleri, günümüz ilişkisel veritabanı sistemlerine bir alternatif olma
hedefiyle ortaya çıkmamıştır. Sadece, ilişkisel veritabanlarının zayıf kaldığı, internet
ortamında bulunan düzensiz ve dağıtık verilerin depolanması ve işlenmesinde bir çözüm
üretmişlerdir.
Global veritabanı pazarı incelendiğinde, ilişkisel veritabanı sistemlerinde önde gelen
firmaların da, düzensiz ve dağıtık verilelerle başa çıkabilen çözümler üretmeye
başladığı görülmektedir. Örnek: Oracle NoSQL, SQL Server AZURE vs.
Mevcut ilişkisel veritabanı sistemleri büyük hacimli, dağıtık ve düzensiz verileri
depolama ve işleme konusunda daha fazla özellikler barındırmalı, yeni gelişen NoSQL
veritabanı sistemleri de, veri tutarlılığı ve güvenliği adına daha fazla özellik içermelidir.
Bu şekilde, her iki veritabanı sistemi birbirlerinin eksikliklerini tamamlayarak, uzak
geleceğin yeni nesil veritabanı sistemlerini oluşturacaklardır.
13

6. KAYNAKLAR

[1]

VAISH, G., Getting Started with NoSQL, Pact Publishing, Birmingham-UK,
2013

[2]

MCCREARY, D., KELLY, A., Making Sense of NoSQL, Manning Publications
Co., Shelter Island-NY, 2013

[3]

TIWARI, S., Professional NoSQL, John Wiley & Sons, Inc., Indianapolis, 2011

[4]

DOĞAN, B., Veritabanı Ders Notları, Marmara Üniversitesi

[5]

Why NoSQL ?, Retrieved from http://www.couchbase.com

[6]

İLTER, H., NoSQL, Retrieved from http://devveri.com/nosql-nedir

[7]

TAYLAN, E., NoSQL Nedir ?, Retrieved from
http://www.ermantaylan.com/blog/2011/07/nosql-nedir-ne-zaman-kullanilmalinasil-calisiyor/

[8]

Introduction to MongoDB, Retrieved from
http://docs.mongodb.org/manual/core/introduction/

[9]

Oracle NoSQL Database, Retrieved from
http://www.oracle.com/technetwork/products/nosqldb/overview/index.html?ssS
ourceSiteId=ocomen

[10]

Understanding NoSQL, Retrieved from http://spring.io/understanding/NoSQL

[11]

ACID, Retrieved from http://en.wikipedia.org/wiki/ACID

Mais conteúdo relacionado

Mais procurados (7)

Dokuman Yonetim Sistemi CubeBox-SAYS
Dokuman Yonetim Sistemi CubeBox-SAYSDokuman Yonetim Sistemi CubeBox-SAYS
Dokuman Yonetim Sistemi CubeBox-SAYS
 
Dokuman Yonetimi Sistemi CubeBox-SAYS (Sayisal Arsiv Yonetimi)
Dokuman Yonetimi Sistemi CubeBox-SAYS (Sayisal Arsiv Yonetimi)Dokuman Yonetimi Sistemi CubeBox-SAYS (Sayisal Arsiv Yonetimi)
Dokuman Yonetimi Sistemi CubeBox-SAYS (Sayisal Arsiv Yonetimi)
 
Nitel AraşTıRma
Nitel AraşTıRmaNitel AraşTıRma
Nitel AraşTıRma
 
Windows Azure ile Cloud Computing Uygulamaları - 7
Windows Azure ile Cloud Computing Uygulamaları - 7Windows Azure ile Cloud Computing Uygulamaları - 7
Windows Azure ile Cloud Computing Uygulamaları - 7
 
Veri Ambarı Nedir, Nasıl Oluşturulur?
Veri Ambarı Nedir, Nasıl Oluşturulur?Veri Ambarı Nedir, Nasıl Oluşturulur?
Veri Ambarı Nedir, Nasıl Oluşturulur?
 
İlişkisel Veritabanları, ORM ve Doctrine
İlişkisel Veritabanları, ORM ve Doctrineİlişkisel Veritabanları, ORM ve Doctrine
İlişkisel Veritabanları, ORM ve Doctrine
 
İleri Seviye T-SQL Programlama - Chapter 20
İleri Seviye T-SQL Programlama - Chapter 20İleri Seviye T-SQL Programlama - Chapter 20
İleri Seviye T-SQL Programlama - Chapter 20
 

Destaque

REST yoluyla Web Servis Geliştirme
REST yoluyla Web Servis GeliştirmeREST yoluyla Web Servis Geliştirme
REST yoluyla Web Servis Geliştirme
emirkarsiyakali
 

Destaque (20)

NoSQL - Yazılımcı Bakışıyla
NoSQL - Yazılımcı BakışıylaNoSQL - Yazılımcı Bakışıyla
NoSQL - Yazılımcı Bakışıyla
 
VERİTABANI YÖNETİM SİSTEMLERİ
VERİTABANI YÖNETİM SİSTEMLERİVERİTABANI YÖNETİM SİSTEMLERİ
VERİTABANI YÖNETİM SİSTEMLERİ
 
Bulutlar Üzerinde..
Bulutlar Üzerinde..Bulutlar Üzerinde..
Bulutlar Üzerinde..
 
Bulut Teknolojileri
Bulut TeknolojileriBulut Teknolojileri
Bulut Teknolojileri
 
Graph(çizge) Veritabanları
Graph(çizge) VeritabanlarıGraph(çizge) Veritabanları
Graph(çizge) Veritabanları
 
Gizli Tehlike : AntiPatterns
Gizli Tehlike : AntiPatternsGizli Tehlike : AntiPatterns
Gizli Tehlike : AntiPatterns
 
Symfony2: the world slowest framework
Symfony2: the world slowest frameworkSymfony2: the world slowest framework
Symfony2: the world slowest framework
 
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari OluşturmaSymfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
 
Yük altındaki sistemlerde asenkron hayat
Yük altındaki sistemlerde asenkron hayatYük altındaki sistemlerde asenkron hayat
Yük altındaki sistemlerde asenkron hayat
 
BÜYÜK Portalleri nasıl ReFactor ettik
BÜYÜK Portalleri nasıl ReFactor ettikBÜYÜK Portalleri nasıl ReFactor ettik
BÜYÜK Portalleri nasıl ReFactor ettik
 
Bulut Bilişim (Overview)
Bulut Bilişim (Overview)Bulut Bilişim (Overview)
Bulut Bilişim (Overview)
 
Bulut Bilişim Kavrami - Cloud Computing Concepts
Bulut Bilişim Kavrami - Cloud Computing ConceptsBulut Bilişim Kavrami - Cloud Computing Concepts
Bulut Bilişim Kavrami - Cloud Computing Concepts
 
Bulut Bilişim 2015
Bulut Bilişim 2015Bulut Bilişim 2015
Bulut Bilişim 2015
 
Bulut Bilisim Nedir
Bulut Bilisim NedirBulut Bilisim Nedir
Bulut Bilisim Nedir
 
BIG DATA Nedir ve IBM Çözümleri.
BIG DATA Nedir ve IBM Çözümleri.BIG DATA Nedir ve IBM Çözümleri.
BIG DATA Nedir ve IBM Çözümleri.
 
Symfony2 & doctrine
Symfony2 & doctrineSymfony2 & doctrine
Symfony2 & doctrine
 
Big Data / Büyük Veri
Big Data / Büyük VeriBig Data / Büyük Veri
Big Data / Büyük Veri
 
Big data 24 mart 2015
Big data 24 mart 2015Big data 24 mart 2015
Big data 24 mart 2015
 
Moving from SQL Server to MongoDB
Moving from SQL Server to MongoDBMoving from SQL Server to MongoDB
Moving from SQL Server to MongoDB
 
REST yoluyla Web Servis Geliştirme
REST yoluyla Web Servis GeliştirmeREST yoluyla Web Servis Geliştirme
REST yoluyla Web Servis Geliştirme
 

Semelhante a İlişkisel Veritabanı Sistemleri ve NoSQL

BÖLÜM-1-Veri-Tabanı-Yönetim-Sistemleri.pptx
BÖLÜM-1-Veri-Tabanı-Yönetim-Sistemleri.pptxBÖLÜM-1-Veri-Tabanı-Yönetim-Sistemleri.pptx
BÖLÜM-1-Veri-Tabanı-Yönetim-Sistemleri.pptx
zealcoco2
 
Rda ve ulusal girişim sunum
Rda ve ulusal  girişim sunumRda ve ulusal  girişim sunum
Rda ve ulusal girişim sunum
Aysel Gümüş
 
Yonetim bilgi sistemleri
Yonetim bilgi sistemleriYonetim bilgi sistemleri
Yonetim bilgi sistemleri
raketot
 
Yonetim bilgi sistemleri
Yonetim bilgi sistemleriYonetim bilgi sistemleri
Yonetim bilgi sistemleri
hakanakdag
 
Cei̇T253 Sunum
Cei̇T253 SunumCei̇T253 Sunum
Cei̇T253 Sunum
aslicik
 
Cei̇T253 Sunum
Cei̇T253 SunumCei̇T253 Sunum
Cei̇T253 Sunum
aslicik
 
Cozumler Zirvesi KasıM 2009 Oracleday
Cozumler Zirvesi KasıM 2009 OracledayCozumler Zirvesi KasıM 2009 Oracleday
Cozumler Zirvesi KasıM 2009 Oracleday
didemtopuz
 

Semelhante a İlişkisel Veritabanı Sistemleri ve NoSQL (20)

BÖLÜM-1-Veri-Tabanı-Yönetim-Sistemleri.pptx
BÖLÜM-1-Veri-Tabanı-Yönetim-Sistemleri.pptxBÖLÜM-1-Veri-Tabanı-Yönetim-Sistemleri.pptx
BÖLÜM-1-Veri-Tabanı-Yönetim-Sistemleri.pptx
 
Yonetim bilişim sistemleri
Yonetim bilişim sistemleri Yonetim bilişim sistemleri
Yonetim bilişim sistemleri
 
Veri̇ madenci̇li̇ği̇
Veri̇ madenci̇li̇ği̇Veri̇ madenci̇li̇ği̇
Veri̇ madenci̇li̇ği̇
 
ÖNCEL AKADEMİ: MÜHENDİSLİK BİLİMLERİ
ÖNCEL AKADEMİ: MÜHENDİSLİK BİLİMLERİÖNCEL AKADEMİ: MÜHENDİSLİK BİLİMLERİ
ÖNCEL AKADEMİ: MÜHENDİSLİK BİLİMLERİ
 
ÖNCEL AKADEMİ: MÜHENDİSLİK BİLİMLERİ
ÖNCEL AKADEMİ: MÜHENDİSLİK BİLİMLERİÖNCEL AKADEMİ: MÜHENDİSLİK BİLİMLERİ
ÖNCEL AKADEMİ: MÜHENDİSLİK BİLİMLERİ
 
Ders_1
Ders_1Ders_1
Ders_1
 
KOBİ'ler için Bilgi Yönetimi ve Yönetim Bilgi Sistemleri
KOBİ'ler için Bilgi Yönetimi ve Yönetim Bilgi SistemleriKOBİ'ler için Bilgi Yönetimi ve Yönetim Bilgi Sistemleri
KOBİ'ler için Bilgi Yönetimi ve Yönetim Bilgi Sistemleri
 
Rda ve ulusal girişim sunum
Rda ve ulusal  girişim sunumRda ve ulusal  girişim sunum
Rda ve ulusal girişim sunum
 
Nitel Veri Analizi
Nitel Veri AnaliziNitel Veri Analizi
Nitel Veri Analizi
 
Yonetim bilgi sistemleri
Yonetim bilgi sistemleriYonetim bilgi sistemleri
Yonetim bilgi sistemleri
 
Yonetim bilgi sistemleri
Yonetim bilgi sistemleriYonetim bilgi sistemleri
Yonetim bilgi sistemleri
 
İşletme kaynaklari planlamasi erpi erpii
İşletme kaynaklari planlamasi erpi erpiiİşletme kaynaklari planlamasi erpi erpii
İşletme kaynaklari planlamasi erpi erpii
 
Big Data / Büyük Veri Nedir?
Big Data / Büyük Veri Nedir?Big Data / Büyük Veri Nedir?
Big Data / Büyük Veri Nedir?
 
Yönetim Bilişim Sistemleri
Yönetim Bilişim SistemleriYönetim Bilişim Sistemleri
Yönetim Bilişim Sistemleri
 
veri-bilim.pdf
veri-bilim.pdfveri-bilim.pdf
veri-bilim.pdf
 
Cei̇T253 Sunum
Cei̇T253 SunumCei̇T253 Sunum
Cei̇T253 Sunum
 
Cei̇T253 Sunum
Cei̇T253 SunumCei̇T253 Sunum
Cei̇T253 Sunum
 
Bilgi Yönetimi
Bilgi YönetimiBilgi Yönetimi
Bilgi Yönetimi
 
Cozumler Zirvesi KasıM 2009 Oracleday
Cozumler Zirvesi KasıM 2009 OracledayCozumler Zirvesi KasıM 2009 Oracleday
Cozumler Zirvesi KasıM 2009 Oracleday
 
ÖNCEL AKADEMİ: ÖZEL KONULAR
ÖNCEL AKADEMİ: ÖZEL KONULARÖNCEL AKADEMİ: ÖZEL KONULAR
ÖNCEL AKADEMİ: ÖZEL KONULAR
 

İlişkisel Veritabanı Sistemleri ve NoSQL

  • 1. T.C. SAKARYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ HİYERARŞİK, İLİŞKİSEL VE NoSQL VERİTABANLARI YÖNETİM BİLİŞİM SİSTEMLERİ DERSİ (ENF503) 2013-2014 GÜZ DÖNEMİ ÖDEVİ Murat AZİMLİ (1250E43037) Enstitü Anabilim Dalı : BİLİŞİM SİSTEMLERİ Enstitü Bilim Dalı : BİLİŞİM SİSTEMLERİ Öğretim Görevlisi : Prof. Dr. Orhan TORKUL Aralık 2013
  • 2. i İÇİNDEKİLER 1. GİRİŞ……………………………………………………………………....................1 2. VERİTABANI NEDİR ?.............................................................................................2 3. VERİTABANI MODELLEMESİ NEDİR ?................................................................3 4. VERİTABANI TÜRLERİ……………….…………………………………...............5 4.1 Hiyerarşik Veritabanları ………..………………………………………………5 4.2 İlişkisel Veritabanları…..………………………………………………………..6 4.2.1 İlişkisel Veritabanı Nesneleri....................................................................6 4.2.2 İlişkisel Veritabanlarında Sorgulama........................................................7 4.2.3 İlişkisel Veritabanlarında ACID Özellikleri…………………………….8 4.3 NoSQL Veritabanları ………………………………………………………….10 5. SONUÇ……………………………………………………………………………..12 6. KAYNAKLAR…………………………………………...…………………………13
  • 3. 1 1.GİRİŞ Son yıllarda, bilişim ve iletişim araçları teknolojisinde çok büyük gelişmeler yaşanmıştır. Bilişim ve iletişim araçlarındaki üretim maliyetlerinin düşmesiyle, insanların ve kurumların son teknolojiye ulaşması kolaylaşmıştır. Bu sayede, milyarlarca byte tutan veriler elektronik ortamlarda depolanabilmiş, insanlar ve kurumlar arasındaki her türlü işlem (hareket) kayıt altına alınabilmiştir. Buna paralel olarak, iletişim teknolojilerinde ise adeta kablosuz (mobil) bir döneme girilmiş, insanlar ve kurumlar için zamanın ve mekanın önemi giderek azalmıştır. Bu sayede dünyada uzak mesafeler yakınlaşmış, daha önce ulaşılamayan yerlere ulaşılabilmiştir. Tüm bu gelişmeler, insanlar ve kurumlar arasında rekabeti de beraberinde getirmiştir. Örneğin; 15-20 sene öncesine kadar ülkemizde faaliyet gösteren 3-5 tane otomobil markası varken, bugün 100 ü aşkın marka ülkemizde faaliyet göstermektedir. Küçülen dünyada ve artan rekabet koşulları altında kurumların yaşamaları ve gelecekte de var olmaları da alacakları kararların doğruluğuna bağlıdır. Günümüzde, kurumların aldıkları yanlış kararların geri dönüşü hemen hemen kalmamıştır. Bir çok kurum, aldıkları yanlış kararlar neticesinde faaliyetlerini durdurmak zorunda kalmıştır. Bunun tam aksine, bir çok kurum da aldıkları doğru kararlar sonucunda büyümüş, geleceklerini garanti altına almışlardır. Doğru karar vermenin önemini anlayan kurumlar, yaptıkları tüm işlemleri, daha sonra kullanılmak üzere elektronik ortamlarda (veritabanlarında) saklamaya başlamışlardır. İlk başlarda amaç, verilere istendiği anda ulaşabilmek, verileri listeleyip raporlamaktı. Bu yapıldıktan sonra, depolanan verilerden analiz yaparak çeşitli sonuçlara ulaşmak sonraki amaç oldu. Çünkü, son yıllarda kurumlar arası rekabet çok artmış buda alınan karar sayısındaki artışı beraberinde getirmiştir. Alınan kararların hızlı ve doğru bir şekilde alınması gerekmiştir. Karar almayı etkileyen faktörler ve parametreler de geçmişle kıyaslanamayacak ölçüde artmış ve karmaşıklaşmıştır. İş dünyasının giderek karmaşıklaşan veri depolama ve analiz ihtiyaçlarına çözüm bulmak için çeşitli veritabanı teknolojileri geliştirilmiştir.
  • 4. 2 2.VERİTABANI NEDİR ? Veritabanı, kurumlarda gerçek zamanlı operasyonel verilerin girildiği ve saklandığı elektronik (bilgisayar) ortamlardır. Örneğin; bir işletmede satış faturası kesilmesi, satış faturası sonucunda ilgili muhasebe hesaplarının çalıştırılması, yine fatura karşılığnda ürün satınalınması, satınalma faturası sonucunda ilgili muhasebe hesaplarının çalıştırılması, depoya ürün girişi ve stokların arttırılması gibi işlemler birer operasyonel veridir. Sürekli olarak tekrarlanmakta ve kayıt altına alınarak saklanması gerekmektedir. Önceleri, kurumlarda veri saklama ortamı olarak çeşitli defterler, kartonlar (kartoteks) kullanıldı. Kurumda yapılan her türlü işlem, ilgili defterlere ve kartonlara işlenerek dosyalandı. Fihristler ve indexler oluşturularak çeşitli arama bulma yöntemleri geliştirildi. Ancak bütün bunlar insan eliyle yapılmakta olduğundan, kayıt, arama, bulma, sorgulama işlemleri çok zaman alıyordu. Kurumlardaki en kalabalık departmanlarını bu tür kayıtların yapıldığı departmanlar oluşturuyordu. Bunlara örnek olarak, kamu kurumlarında evrak kayıt birimleri ve özel kurumlarda da muhasebe departmanları gösterilebilir. Bilişim teknolojilerindeki gelişmelere paralel olarak, kurumlardaki gerçek zamanlı operasyonel veriler elektronik ortamlara (bilgisayar) kayıt edilerek saklanmaya başlandı. Bilişim teknolojilerindeki yeni ürünlerin fiyatları ucuzladı ve bir çok kurum tarafından ulaşılabilir hale geldi. Bunların sonucunda, hemen hemen tüm kurumlar operasyonel verilerini elektronik ortamda (bilgisayar) kayıt altına alıp saklamaya başladı.
  • 5. 3 3. VERİTABANI MODELLEMESİ NEDİR ? Veritabanı modellemesi, herhangi bir veritabanına kayıt edilecek verilerin, veriler arasındaki ilişkilerin, verilere nasıl erişileceğinin tasarlanmasıdır. Veritabanlarına, gerçek dünyada üretilen, çeşitli nesnelere ve olaylara ait olan veriler kayıt edilir. Teknolojik kısıtlamalardan dolayı, gerçek dünyada üretilen tüm verilerin bir veritabanına kayıt edilmesi mümkün değildir. Kayıt edilebilse bile, bu verilerin büyük çoğunluğu bir işe yaramayacaktır. Bu yüzden, veritabanlarına işe yarayacak, ulaşılmak istenen sonuca götürebilecek veriler kayıt edilmelidir. Örneğin, bir işletmeye ait veritabanında, müşterilerinin babalarının isimlerini veya arabalarının markalarının yer almasının bir anlamı mı ? Bu veriler işletmenin işine yarayacak mı ? Yada, müşterilerin hangi bilgileri veritabanında yer almalı ? Soruları sorulmaya başlandığında, bir veritabanın yapısının tasarlanmaya başlanarak modelleme yapıldığını anlayabiliriz. Kullanılacak veritabanı ne olursa olsun, öncelikle veritabanında hangi verilerin tutulacağı belirlenmelidir. Bu tasarımı yapmak için en yaygın kullanılan yöntem, varlıkilişki diyagramlarıdır. Bu diyagramlarda, varlıklar ve özellikleri ile varlıklar arasındaki ilişki açıkca gösterilir. Varlıklar arasındaki ilişki de, tıpkı varlıklar gibi çeşitli özelliklere sahiptir. Örneğin, bir üniversite veritabanını düşündüğümüzde, bir öğrencinin birden fazla bölümünün olup olamayacağı, birden fazla ders alıp alamayacağı gibi. Bu tür verilere “yapısal” veriler denir. Yapısal veriler içeren veritabanlarında, varlıklar ve özellikleri, varlıklar arasındaki ilişkiler ve özellikleri (tablo ve alanlar) önceden belirlenmiş ve tanımlanmıştır. Bunların dışında bir veri veritabanına girilemez ve saklanamaz. İnsanların ve kurumların yapısal verileri elektronik ortamlarda saklama ve gerektiğinde bu verilere ulaşma ihtiyacı 20.yüzyılda ortaya çıkmıştır. Bu süre içerisinde, bir çok çalışma yapılmış, yapılan çalışmalar bir araya getirilmiş, herkesin kabul ettiği bir endüstri standardı haline dönüşmüştür. Bundan dolayı, yapısal verileri içeren ilişkisel veritabanlarının nasıl olacağı, veritabanı modellemesinin nasıl yapılacağı bir çok kişi tarafından bilinmekte ve uygulanmaktadır.
  • 6. 4 Son yıllarda, yaygınlaşan bilgisayar ve internet teknolojileri sayesinde, gerçek dünyada üretilen veriler, direkt olarak elektronik ortamlarda bilgisayarlar üzerinde üretilmeye başlandı. Örneğin, internet üzerinden alışveriş yapılması, bankacılık ve finans işlemleri, çeşitli bilgi ve belgelerin paylaşımı gibi. Bunun sonucunda, içereceği verilerin (yapısının) önceden tahmin edilemeyeceği (yapısal olmayan) bir veritabanı türü doğdu. Buda, “internet veritabanı” dır. Günümüzde, “internet veritabanı” na dünya çapında sayısız kullanıcı tarafından veri girişi yapılmakta, sayısız kullanıcı tarafından da girilen bu verilere ulaşılmaya çalışılmaktadır. Bundan dolayı, bilişim dünyası 3 soruyla karşılaşmıştır:  Bu kadar büyük boyutlardaki ve yapısal olmayan veri nerede ve nasıl depolanacak ?  Sonradan arandığında bu verilere nasıl ulaşılacak ?  Bu verilerle nasıl analiz yapılacak ve ne gibi sonuçlara ulaşılacak ? Bu soruların cevaplarını tam olarak veren, herkes tarafından kabul görmüş ve endüstri standardı haline gelmiş teknoloji çözümü henüz oluşmamıştır. Bu konudaki çalışmalar, farklı kişiler ve kurumlar tarafından kendi ihtiyaçlarına çözüm bulabilmek için yürütülmektedir. Bu konuda önemli bir mesafe alınmıştır. En azından, birbirlerinden farklı mantıkta olsalar bile temelde aynı işi yapan algoritmalar geliştirilmiştir. Bu algoritmaları kullanarak, yapısal olmayan verileri depolayabilen ve gerektiğinde bu veriler üzerinde sorgulama yapabilmeyi sağlayan veritabanı sistemleri yaygınlaşmaya başlamıştır.
  • 7. 5 4. VERİTABANI TÜRLERİ 4.1 Hiyerarşik Veritabanları Hiyerarşik veritabanları, yapısal veriyi depolamak ve işlemek için geliştirilmiş olan ilk veritabanı modelidir. Bu veritabanı modelinde, kök düğüm (root node) haricinde kalan tüm düğümler, bir üst düğüme bağlanmak zorundadır. Verilerin tablolara yazılma mantığı ile, daha sonra verilere erişim mantığı aynıdır. Bu mantık, ikili arama (binary search) metoduna dayanır. Verilerin tabloda yerleşeği düğüm (kayıt) ikili arama metoduna göre bulunur ve yine aynı metodla erişim sağlanır. Şekil 4.1: İkili (binary) veri yapısı Hiyerarşik veritabanları, dünya genelinde yaygın bir kullanıma kavuşamamıştır. İlk kez, 1968 yılında IBM firması tarafından ticari olarak geliştirilmiş olup sadece ana bilgisayarlarda (mainframe) kullanılmıştır. Çünkü, o yıllarda kişisel bilgisayarlar (pcpersonel computer) henüz yaygınlaşmamıştı. Ana bilgisayarlarda bulunan işlemciler, günümüzde kullanılan kişisel bilgisayarların işlemcilerine göre çok yavaştı. Bir verinin tabloya yerleşebilmesi için bir çok düğümün ötelenmesi (yer değiştirmesi) gerekiyordu. Ayrıca bir veriye ulaşabilmek için bir çok düğümden geçilmesi gerekiyordu. Hiyerarşik veritabanları, gerçek dünyada oluşan verileri tam olarak yansıtamıyordu. Çünkü, gerçek dünyada üretilen verilerde bir ast-üst ilişkisi yoktu. Sadece aralarında bir ilişki bulunuyordu. Bundan dolayı, ilişkisel veritabanları günlük hayatta yaygın olarak kullanılmadı ve bir endüstri standardı haline gelemedi. O dönem yapılan çalışmalar, kazanılan tecrübe ve deneyimler sonucunda „“ilişkisel veritabanı“ modellerine geçiş yapıldı. Bugün bile, bir çok ilişkisel veritabanı o dönem geliştirilen ikili arama (binary search) kullanmaktadır.
  • 8. 6 4.2 İlişkisel Veritabanları Günümüzde bilgisayar ortamlarında tutulan ilişkisel veritabanlarının mantığı, geçmişte kayıt işlemlerinin defter ve kartonlara yapılıp dosyalanmasına dayanır. Veritabanı içerisindeki bilgilere erişim mantığı hemen hemen aynıdır. Ancak, bilgisayar ortamında yapılan kayıt ve bilgiye sonradan erişim (sorgulama) işlemleri geçmişle karşılaştıralamayacak kadar kolay ve hızlı yapılmaktadır. Kolaylık ve hız kadar diğer önemli bir kavram da doğruluk ve tutarlılıktır. İlişkisel veritabanı sistemlerinin günümüzde yaygın olarak kullanılmasının temel sebepleri de bunlardır. Kurumlarda gerçek zamanlı operasyonel verilerin tutulduğu veritabanlarına OLTP (OnLine Transaction Processing) veritabanları denir. Bu tür veri tabanlarına, aynı anda bir çok kullanıcı kayıt girebilir. Girilen kayıtlar üzerinde çok miktarda silme, güncelleme, sorgulama gibi temel veritabanı işlemleri yapılabilir. 4.2.1 İlişkisel Veritabanı Nesneleri İlişkisel veritabanları içerisinde bir çok mantıksal nesne bulunur. Bunların temeli ve en önemlileri ise Tablo (Table) ve Indeks (Index) lerdir. Veritabanına girilen veriler tablolarda tutulur. Her bir tablo farklı yapılardaki veri gruplarına aittir. Örneğin, müşteri verileri bir tabloda tutulurken, ürün verileri ayrı bir tabloda tutulur. Çünkü, müşteri varlığı ile ürün varlığı’nın nitelikleri (attribute) farklıdır. Bu verilerin arasındaki ilişkilerin kurulduğu başka bir tablo daha olabilir. Örneğin, fatura tablosu. Fatura tablosu içerisinde, hem müşteri verileri hemde ürün verileri bulunabilir. Bunlara genel olarak “hareket tabloları” denir ve varlıklar arasında ilişki kurulmasını sağlarlar. Tablolarda tutulan verilere daha hızlı erişim ve sorgulama yapılabilmesi için kullanılan nesneler ise indeks’lerdir. Bir veritabanında çok sayıda tablo olabileceği gibi, bir tabloda da farklı niteliklere göre hazırlanmış çok sayıda indeks olabilir. Her veritabanın içerisinde, kendi içinde oluşturulmuş olan nesneleri tutan sistem tabloları ve şemaları bulunmaktadır. Bunlara META-DATA denilmektedir.
  • 9. 7 MUSTERI_NO MUSTERI_UNVAN VERGI_DAIRE VERGI_NO 0001 DENEME A.Ş. BORNOVA 123456789 0002 ÖRNEK LTD.ŞTİ. KARŞIYAKA 654321678 0004 BATI METAL SANAYİ A.Ş KONAK 234559456 0005 DOĞU ÜRETİM SAN.A.Ş BORNOVA 001234345 Şekil 4.2: Örnek bir tablo ve içerdiği veriler Tablo ve indeksler dışında, günümüz ilişkisel veritabanlarında bir çok nesne bulunmaktadır. Bunların başlıcaları; Görüntüler (View), Saklanmış Yordamlar (Stored Procedure & Functions), Tetikleyiciler (Triggers), Kısıtlamalar (Constraints) dır. Bunların amacı, veritabanına girilen veriler arasında tutarlılığı sağlamaktadır. Örneğin, müşteri tablosunda olmayan bir müşteriye ait fatura kesilmek istendiğinde veritabanı bunun hatalı bir veri girişi olduğunu anlayabilir. Günümüzde ilişkisel veritabanı sistemleri çok gelişmiştir. Tablolarda milyonlarca byte büyüklüğünde verileri tutabilir, bu veriler üzerinde çok kısa sürelerde arama bulma işlemleri gerçekleştirebilir. Ayrıca her ilişkisel veritabanı sistemi kendi VTYS (Veritabanı Yönetim Sistemi) sistemine sahiptir. Veritabanı üzerindeki tüm yönetim işlemleri bu VTYS ler kullanılarak yapılır. Bunlar; a. Veritabanına yeni bir tablo, alan veya indeks eklenmesi. b. Veritabanına yeni bir görüntü, prosedür, fonksiyon eklenmesi. c. Veritabanı yedeklemesinin yapılması. d. Veritabanı performansının izlenerek yönetilmesi. e. Veritabanı güvenliğinin sağlanarak yetkisiz kişilerin erişiminin engellenmesi. 4.2.2 İlişkisel Veritabanlarında Sorgulama İlişkisel OLTP veritabanlarında gerçek zamanlı operasyonel veriler tutulmaktadır. Değişik zamanlarda, bu veritabanları içerisinde yer alan veriler sorgulanarak, verilerden anlamlı bilgiler çıkarılmaya çalışılmaktadır. 1990 lı yılların ortalarına kadar, veriden anlamlı bilgi çıkarma işlemlerinin tamamına yakını veritabanı sorgulaması ile elde edilmiştir. Veritabanından, sorgulama ile elde edilen veriler çeşitli tablolama yazılımlarına aktarılmış ve ihtiyaç duyulan analizler o yazılımlar üzerinde yapılmıştır.
  • 10. 8 İlişkisel OLTP veritabanlarından sorgulama yapabilmek ve istenen kriterlere ait veri setlerini elde edebilmek için SQL (Structured Query Language) Yapısal Sorgulama Dili kullanılmaktadır. Tüm ilişkisel OLTP veritabanlarında kullanılan standart bir sorgulama komut kütüphanesi ANSI (American National Standarts Instutite) tarafından geliştirilmiştir. (ANSI SQL) Günümüzde bir çok veritabanı sistemi üreticisi ANSI SQL komut setlerine ilave olarak, veritabanı üreticileri kendi veritabanı sistemlerine özgü ek komutlar içeren SQL komut setleri üretmişlerdir. Örnek olarak; PL/SQL ve T-SQL en yaygın olarak kullanılan SQL komut setleridir. İlişkisel veritabanlarında tablolarda tutulan veriler satır ve sütunlar olmak üzere 2 boyutludur. Bundan dolayı SQL sorgulama dili ile yapılacak sorgulama da elde edilecek bilgi 2 boyutu geçemez. Sadece, istenen tablolardaki, istenen sütunlardaki verileri belirli şartlara göre elde edilebilir. Ancak günümüzdeki çok boyutlu karmaşık prosesler ve karar alma süreçleri karşısında bu yöntem yetersiz kalmıştır. Analiz süreçlerinde sadece belirli bir aşamaya kadar ihtiyaçları karşılamıştır. Şekil-1 deki tablodan, vergi dairesi BORNOVA olan müşterileri elde eden basit bir sorgulama cümlesi aşağıdaki gibidir: (Tablo adı TBL_MUSTERI dir) SELECT MUSTERI_NO,MUSTERI_UNVAN,VERGI_DAIRE,VERGI_NO FROM TBL_MUSTERI WHERE VERGI_DAIRE = ‘BORNOVA’ 4.2.3 İlişkisel Veritabanlarında ACID Özellikleri 1980’li yılların başlarında, ilişkisel veritabanlarında olması gereken özellikler belirlenerek asgari standartlar oluşturulmuştur. ACID kelimesi, bu özellikleri tanımlayan ingilizce kelimelerin baş harflerinden oluşan bir kısaltmadır. Bu özellikler: Atomicity (Atomiklik), Consistency (Tutarlılık), Isolation (İzolasyon), Durability (Sağlamlık)
  • 11. 9 Atomiklik kavramı veri giriş işlemleri (transaction) ile ilgilidir. İlişkisel veritabanlarına veri giriş bütünsellik gerektirir. Bazen, bir tabloya bir kayıt girilebileceği gibi, bir çok tabloya bir çok kayıt girilmesi gerekebilir. Bu durumda, bir işlem (transaction) birden fazla tabloyu ve birden fazla kaydı kapsayabilir. İşlem sırasında, verilerden herhangi birinin kayıt edilmesi sırasında hata oluşursa, diğer verilerinde hiç birisi kayıt edilmez. O ana kadar girilen kayıtlar geri sarılırak, hiç girilmemiş gibi olur. (rollback) Bu durum, bütün verilerin veritabanına sorunsuz bir şekilde kayıt edilmesini garanti altına alır. (commit) Bu duruma örnek olarak, veri bütünlüğünün çok önemli olduğu bankaları ve ticari işletmeleri gösterebiliriz. Bir işletmenin müşterisine bir satış faturası kaydı girdiğini varsayalım. Satış faturası, birden fazla tablodan oluşmaktadır. Bir satış faturasının kayıt edilmesiyle, işletme stokları ve muhasebe hesapları etkilenmektedir. Fatura bilgilerini veritabanına kayıt ettikten sonra, herhangi bir sebepten dolayı muhasebe hesaplarına ilgili veriler kayıt edilemeyebilir. Böyle bir durumda, fatura kayıtları ile muhasebe kayıtları arasında bir tutarsızlık oluşacaktır. Bundan dolayı, veritabanına faturanın kayıt işlemi, muhasebe hesaplarına yapılan kayıtları da içermelidir. Tüm kayıtlara, “ya hep yada hiç” yaklaşımı ile bakılarak tek bir kayıtmış gibi düşünülmelidir. Tutarlılık kavramı, verilerin önceden belirlenen (tanımlanan) kurallara uygun şekilde veritabanına girişini garanti eder. Önceki bölümde açıklanan, kısıtlamalar (constraint) yabancı anahtarlar (foreign keys) ve tetikleyiciler (triggers) kavramları “tutarlılık” amacına hizmet ederler. Bir veritabanıda yer alan herhangi bir tablodaki bir alanın (field) boş değer içermemesi istenebilir. Yine herhangi bir alana sadece belirlenen değerlerden birisinin girilmesi veya girilen değerin belirli bir aralıkta olması istenebilir. Örneğin, “maaş” verisinin girileceği alana negatif değerde veri girilmesi veya “telefon numarası” verisinin girileceği alana harf içeren veri girilmesinin engellenmesi gerekmektedir. İzolasyon kavramı ise, aynı anda birden fazla kullanıcını veri giriş işlemlerinin (transaction) birbirlerine karışmaması, birbirlerini etkilememesidir. Yani, tam anlamıyla işlemlerin (transactions) birbirlerinden izole edilmesidir. Sağlamlık, veritabanına girilen verilerin, istenmeden değişmemesi ve silinmemesidir.
  • 12. 10 4.3 NoSQL Veritabanları NoSQL, geleneksel ilişkisel veritabanı sistemlerinin kurallarını uygulamayan ve veritabanı işlemleri için klasik SQL sorgularına ihtiyaç duymayan veritabanı sistemlerine verilen isimdir. Son yıllarda, bilgisayarın ve internetin insan yaşamına daha fazla girmeye başlamasıyla, internet ortamında yapısı olmayan ve dağınık şekilde bulunan devasa boyutlarda veriler oluşmaya başlamıştır. Bu verileri depolamak ve işlemek için, geleneksel ilişkisel veritabanı yöntemleri yetersiz kalmıştır. Çünkü, geleneksel ilişkisel veritabanı sistemleri ancak yapısal ve ilişkili verileri merkezi bir şekilde depolamak ve işlemek için geliştirilmişlerdir. Bu sorunu aşmak için, ana faaliyet konusu internet üzerinde olan firmalar çalışmalara başlamıştır. Bu çalışmaların öncüleri, Google, Facebook, Twitter, Linkedin, eBay, Amazon gibi firmalardır. Günümüzde, yaklaşık 150 kadar NoSQL türünde veritabanı sistemi bulunmaktadır. NoSQL veritabanı sistemleri, henüz bir endüstri standardı haline gelmemiştir. Çünkü, bir NoSQL veritabanı sisteminde olması gereken asgari özellikler, uluslararası düzeyde ortaya konulmamış ve herkes tarafından kabul edilmemiştir. Bundan dolayı, birbirlerinden farklı konulara odaklanmış, farklı algoritmalarla ve mantıklarla çalışan, farklı özellikler barındıran bir çok NoSQL türünde veritabanı sistemi bulunmaktadır. NoSQL veritabanı sistemleri de, kendi içlerinde 4 farklı kategoriye ayrılmaktadır:     Column Stores: (Örnekler: HBase, Accumulo) Document Stores: (Örnekler: MarkLogic, MongoDB, Couchbase Key-value Stores: (Örnekler: Dynamo, Riak, Redis, Cache, Project Voldemort) Graph Database: (Örnekler: Neo4J, Allegro, Virtuoso) NoSQL veritabanı sistemleri, çoğunlukla internet ortamında üretilen ve depolanan verilere odaklanmıştır. Bu verilerin en önemli özellikleri ise; Yapısal olmamaları, dağıtık halde ve devasa boyutlarda olmalarıdır. Bundan dolayı NoSQL veritabanı sistemleri, performans, ölçeklenebilirlik ve yüksek kullanılabilirlik konularına odaklanmışlardır.
  • 13. 11 Bundan dolayı, geleneksel ilişkisel veritabanı sistemlerinde olan kavramlardan ve özelliklerden bir çoğu NoSQL veritabanı sistemlerinde bulunmamaktadır. Bunların en önemlileri, ACID (Atomicity, Consistency, Isolation, Durability) özellikleri ve SQL veri sorgulama komutlarıdır. Geleneksel ilişkisel veritabanı sistemlerinin bu kadar yaygınlaşması ve bir endüstri haline gelmesi bu özellikler sayesinde olmuştur. Ayrıca, geleneksel ilişkisel veritabanı sistemleri tarafında da önemli gelişmeler yaşanmıştır. Özellikle, çok boyutlu sorguları ve tabloları (küpler) barındıran OLAP (On-Line Analytical Processing) teknolojileri çok önemlidir. Bu teknoloji ile, çok büyük veriler üzerinde çeşitli simülasyonlar ve analitik analizler yapılarak iş dünyasına yeni fırsatlar sunulmuştur. NoSQL veritabanı sistemleri ne zaman kullanılmalıdır ? Başta belirttiğimiz gibi, çok büyük hacimli, yapısal özellik göstermeyen, veriler arasındaki ilişkinin ve bütünlüğün çok önemli olmadığı iş ihtiyaçlarını uygun maliyetlerle karşılamak için kullanılabilir. Bu tanıma günümüzde en çok uyan uygulamalar internet uygulamalarıdır. Özellikle, bir internet sitesi aracılığıyla elde edilen, kritik önem derecesine sahip olmayan verilerin depolanmasında ve erişilmesinde kullanılabilir. Mali değeri olan veya kaybedilmesinde önemli mali zararlara yol açabilecek verilerin üretildiği bankacılık, sigortacılık, ithalat, ihracat, üretim vb iş süreçlerinde kullanılması şu anda uygun görünmüyor.
  • 14. 12 5. SONUÇ Hiyerarşik veritabanı sistemleri geçmişte kalan veritabanı sistemleridir. Yeni veritabanı sistemlerine temel teşkil ederek görevini tamamlamış, yerini ilişkisel veritabanı sistemlerine bırakmıştır. İlişkisel veritabanı sistemleri ise, endüstri standardı haline gelmiş olan günümüz veritabanı sistemleridir. Bugün bile, iş dünyasıda için kritik öneme sahip yapısal verilerin büyük bir kısmı ilişkisel veritabanı sistemlerinde depolanmaktadır. İlişkisel veritabanı sistemleri, veri tutarlılığı, güvenlik, sağlamlık ve sorgulama konularında önemli gelişmeler yaşamıştır. Yapısal veriler üzerinde, çok gelişmiş sorgulamalar ve analizler yapılabilmektedir. NoSQL veritabanı sistemlerine ise, uzak geleceğin veritabanı sistemlerinin ilk adımları diyebiliriz. Çünkü, henüz asgari sağlanması gereken özellikler tanımlanmamıştır. Bu yapılmadan da bir endüstri standardı haline gelmesi, herkes tarafından yaygın şekilde kullanılması mümkün değildir. Özellikle, kritik öneme sahip verileri depolayan kurumların yakın gelecekte dahi kullanmaları mümkün görünmüyor. Aslında, NoSQL veritabanı sistemleri, günümüz ilişkisel veritabanı sistemlerine bir alternatif olma hedefiyle ortaya çıkmamıştır. Sadece, ilişkisel veritabanlarının zayıf kaldığı, internet ortamında bulunan düzensiz ve dağıtık verilerin depolanması ve işlenmesinde bir çözüm üretmişlerdir. Global veritabanı pazarı incelendiğinde, ilişkisel veritabanı sistemlerinde önde gelen firmaların da, düzensiz ve dağıtık verilelerle başa çıkabilen çözümler üretmeye başladığı görülmektedir. Örnek: Oracle NoSQL, SQL Server AZURE vs. Mevcut ilişkisel veritabanı sistemleri büyük hacimli, dağıtık ve düzensiz verileri depolama ve işleme konusunda daha fazla özellikler barındırmalı, yeni gelişen NoSQL veritabanı sistemleri de, veri tutarlılığı ve güvenliği adına daha fazla özellik içermelidir. Bu şekilde, her iki veritabanı sistemi birbirlerinin eksikliklerini tamamlayarak, uzak geleceğin yeni nesil veritabanı sistemlerini oluşturacaklardır.
  • 15. 13 6. KAYNAKLAR [1] VAISH, G., Getting Started with NoSQL, Pact Publishing, Birmingham-UK, 2013 [2] MCCREARY, D., KELLY, A., Making Sense of NoSQL, Manning Publications Co., Shelter Island-NY, 2013 [3] TIWARI, S., Professional NoSQL, John Wiley & Sons, Inc., Indianapolis, 2011 [4] DOĞAN, B., Veritabanı Ders Notları, Marmara Üniversitesi [5] Why NoSQL ?, Retrieved from http://www.couchbase.com [6] İLTER, H., NoSQL, Retrieved from http://devveri.com/nosql-nedir [7] TAYLAN, E., NoSQL Nedir ?, Retrieved from http://www.ermantaylan.com/blog/2011/07/nosql-nedir-ne-zaman-kullanilmalinasil-calisiyor/ [8] Introduction to MongoDB, Retrieved from http://docs.mongodb.org/manual/core/introduction/ [9] Oracle NoSQL Database, Retrieved from http://www.oracle.com/technetwork/products/nosqldb/overview/index.html?ssS ourceSiteId=ocomen [10] Understanding NoSQL, Retrieved from http://spring.io/understanding/NoSQL [11] ACID, Retrieved from http://en.wikipedia.org/wiki/ACID