Anasayfa / Web Yazılım / NoSQL Nedir Neden Kullanılmalıdır?

NoSQL Nedir Neden Kullanılmalıdır?

Carlo Strozzi’nin bir ürünü olan NoSQL ilk olarak 1998 yılında ortaya çıkmıştır. Arayüzü bulunmadığından dolayı Carlo Strozzi buna NoSQL ismini vermiştir. Akla ilk gelen anlam bakımından NoSQL, SQL yok manasını taşımaktadır. Bu şekilde bir isim tercih edilmesindeki en büyük sebep etkileyiciliktir. Aynı zamanda bu teknolojinin birçok ismi de mevcuttur. NonRel ve NoRDBMS bu isimlerdendir. Ayrıca bu veritabanı için “Not Only Sql” tabiri de kullanılmaktadır.

Açık dağıtık veritabanlarının konuşulacağı bir konferansta tekrardan gündeme gelen NoSQL Eric Evans tarafından önerilmiştir. NoSQL gibi dağıtık veritabanı sistemlerine damga vurmak amacıyla bu öneriyi sunan Eric Evans, Rockspace şirketinde çalışmaktadır. Ayrıca NoSQL’in gündeme geldiği bu konferans 2009 yılının başlarında gerçekleşmiştir.

NoSQL Veritabanı

Kullanımı yıllardır devam eden Microsoft SQL Server ve MySQL gibi veritabanı yönetim sistemlerine alternatif çözüm olarak ortaya çıkan NoSQL RDBMS tabanlı çalışmamaktadır. RDBMS yerine yatay büyüme göstererek çalışan bu veritabanı bu özelliğiyle daha performanslı olmuştur. Aynı şekilde verileri bölerek kopyalama işlemi yapan bu sistem bunu yaparak tutarlılığın olmasını sağlamakta ve harcanan performansı en aza indirgemektedir.

Veritabanında SQL veritabanı kullanılmadığından dolayı NoSQL ismini alan bu veritabanı birçok kullanıcıya kolaylık sağlasa da kimisi bu veritabanının yetersiz kaldığı görüşündedir. Fakat BigData üzerinden düşünüldüğünde verilerin büyüklüğünden dolayı MySQL veya SQL Server hata verebilmektedir. Bundan dolayı birtakım sorunlarla karşı karşıya kalınılabilir. Bilgilerin burada tutulmaması bilgilerin çöp olmasına sebebiyet verecektir. Bu sorunun üstesinden NoSQL kolaylıkla gelmektedir.

NoSQL İlişkisel Veritabanın Farkı Nedir?

RDBMS tabanlı çalışmayan NoSQL verileri dikey yerine yatay bir şekilde eklemektedir. Yukarıda da belirttiğim gibi buda sizlere performans açısından birtakım avantajlar sağlamaktadır. Ayrıca yine yukarıda belirttiğim gibi bu sistem verileri parçalara ayırmaktadır. Buda tutarlılığı arttırıp harcanan yükü azaltmaktadır.

RDBMS sisteminde sütunlar önceden belirmektedir. Belirlenen bu sütunlara sonrasında satır satır veriler eklenmektedir. Fakat NoSQL de böyle bir işlem yapılmamaktadır. Buda onun SQL veritabanına göre daha esnek yapıda olmasını sağlamıştır. Bunun yanı sıra bu sistem verileri nasıl depolayacağına kendisi karar vermektedir. Sizlerin yapması gereken tek şey o veriyi nasıl kullanacağınızdır. Buda yazılan projenin daha hızlı ve performanslı olmasını sağlayacaktır.

Yatay ve Dikey Büyüme Arasındaki Farklar

SQL verileri dikey büyüme mantığında veritabanına eklerken NoSQL yatay büyüme ile verileri depolamaktadır. Dikey ile yatay arasındaki en büyük farksa dikeyde büyümenin yetersiz kaldığı koşullarda sisteme ek bir donanım eklenmelidir. Fakat yatay büyümede yükleri sunuculara bölebilirsiniz. Bu iki teknolojinin arasındaki en büyük fark budur.

NoSQL Avantajları

  • Diğer veritabanlarına göre daha erişilebilir bir konumdadır.
  • Okuma ve yazma bakımından daha performanslıdır.
  • Verilerin yatay olarak eklenmesi büyük veriler üzerinden işlem yapılmasına olanak sağlamaktadır.
  • Diğer sistemlere oranla daha esnek yapıdadır.
  • Veritabanı bakımı ve programlama bakımından daha performanslıdır.

NoSQL Dezavantajları

  • Diğer veritabanı yönetim sistemlerinden NoSQL’e verileri taşımak oldukça güçtür. Veriler başarılı bir şekilde taşınsa bile birtakım kodlarda düzenlemelerin yapılması gereklidir.
  • Yapılandırılmalara gidilmesi zaman alabilmektedir.
  • İşlem hareketleri bulunmamaktadır. Bunun sonucunda da birtakım veri kayıpları sorunuyla karşı karşıya kalınabilir.
  • Diğer ilişkisel veritabanlarına göre güvenlik açısından gelişmiş özelliklere sahip değildir. Buda onun en büyük sorunlarından biridir.

hakkında Alper Acarlı

Acarnet'te Entrepreneur

Bu Yazıya da Bakabilirsiniz

Yazılım şirketleri

Yazılım şirketlerinin hangi işlerle meşgul olduklarını bilmek yazılımı ve kodlamaları bilmemiz gerekir. Yazılımın asıl işleri …

3 yorumlar

  1. NoSQL veritabanlarıyla ilgili büyük bir sorun, performans testi ve analizi için raporlama araçlarının eksikliğidir. Diğer taraftan SQL ile, uygulamanızın geçerliliğini kanıtlamanıza yardımcı olacak çok çeşitli raporlama araçları bulabilirsiniz.

  2. NoSQL veritabanlarının dezavantajları ve hız performans sorunları çıkarsa da yine de SQL avantajları sayesin de insanları SQL kullanmaya yöneltiyor.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir