NoSQL "Sadece SQL" anlamına gelmez ve genellikle veritabanının son on yılda çok popüler olan ilişkisel bir veritabanı olmadığı anlamına gelir.
NoSQL'in son birkaç yıldır bu kadar popüler olmasının nedeni, ilişkisel bir veritabanı bir sunucudan büyüdüğü zaman, artık kullanımı o kadar kolay olmama nedenidir. Başka bir deyişle, dağıtık bir sistemde çok iyi ölçeklenemezler. Google, Yahoo, Facebook ve Amazon'dan bahsettiğiniz büyük sitelerin tümü (Digg hakkında pek bir şey bilmiyorum) birçok veriye sahiptir ve verileri çeşitli nedenlerle dağıtılmış sistemlerde depolar . Verilerin bir sunucuya sığmaması veya yüksek kullanılabilirlik için gereksinimler olması olabilir .
CAP Teoremi
Dağıtılmış bir sistemin özellikleri CAP Teoremi ile tanımlanabilir . Üç özellikten yalnızca en fazla ikisine sahip olabilirsiniz:
- C durumluk
- Bir kullanılabilirlik
- Şebeke toleransı P artitioning
Amazon Dynamo, üç özelliğin de hepsine yaklaşmak için Yaklaşan Tutarlılığı kullanıyor . Kağıt Dinamo: Amazon'un Yüksek Kullanılabilir Anahtar-Değer Deposu , NoSQL veritabanları ve dağıtılmış sistemler hakkında bilgi edinmeye değerdir. Amazon Dynamo, A ve P özelliklerine sahiptir.
Google , C ve A özelliklerine sahip olan BigTable ile farklı bir yaklaşım benimsemiştir .
Diğer NoSQL veritabanları
Başlangıçta yazdığım gibi, farklı gereksinimler için tasarlanmış birçok başka NoSQL veritabanı var. Neo4j gibi grafik veritabanları , CouchDB gibi belge veritabanları ve OrientDB gibi multimodel / nesne veritabanları .
Sonunda, ilişkisel veritabanlarının popüler kalacağını söylemek isterim. Çok esnek ve bakımı kolay. Ancak her zaman en iyi seçenek değildirler.