Hangi veritabanı kurumunuz ve projeleriniz için en doğrusu? Organizasyonlar, bazen bu soruya yanıt ararken, eski alışkanlıklarının yönlendirmesi ile hareket edebiliyorlar.
Sadece büyük miktarlarda verinin toplandığı ve saklandığı yapıların artık yeterli olmadığı bir dönemde bulunuyoruz. Verilerin, artık karar verme konusunda da güvenilir bir temel sağlaması beklenmekte. Bunun mümkün olabilmesi için ise milisaniyeler içinde işlenmeleri ve değerlendirilebilmeleri gerekiyor. Bu karmaşıklığa ek olarak, günümüzde terabaytlar boyunda yapısal olmayan verinin, hızlı bir şekilde oluşması için çok fazla zaman gerekmemektedir — e-postalar, belgeler, fotoğraflar, metin mesajları, videolar vb. — Günümüzde Bir veritabanının, yapısal veya yapısal olmayan verilerde bu türde bir çeşitlilik ile başa çıkabilmesi beklenmektedir. Bu nedenle, kurumlar yeni bir veritabanı seçerken aşağıdaki beş noktayı göz önünde bulundurmalıdır:
1. Kullanım amacı: Bir veritabanı teknolojisine karşı verdiğimiz olumlu ya da olumsuz kararlar, ilk olarak kullanımda olan veya geliştirilecek uygulamaların türüne ve ihtiyaçlarına bağlıdır. Örneğin, çok hızlı yanıt zamanlarına, birden fazla etkileşime (ürün kataloğu gibi), uyumlu yüksek veri hacmini karşılayabilecek e-ticaret gibi uygulamalar mı var? Eğer öyleyse, NoSQL veritabanları, dağıtık kümeler (cluster) içinde yatay veya dikey olarak esnek bir biçimde ölçeklenebilen sunucu kaynakları olarak, öne çıkmaktadırlar. Ayrıca, yapısal olmayan veriler veya bugün sıkça karşımıza çıkan farklı veri yapılarını birlikte işleme ihtiyacı söz konusu olduğunda, NoSQL veritabanları yoğun bir şekilde işlev görür. Öte yandan, klasik ilişkisel veritabanı yönetim sistemleri (DBMS), katı, değiştirilmesi zor tablo yapılarıyla, günümüzün yeni veri ortamıyla başa çıkmak için ara çözümlere ihtiyaç duyduğundan, genellikle maliyetler artar ve performans düşer. Kısacası: büyük verilerin bir NoSQL veritabanına ihtiyacı vardır.
2. İş sürekliliği açısından gereksinimler nelerdir? Kurumlar, yükümlülüklerini yerine getirebilmek ve ticari anlamda rekabetçi olabilmek için hem performans hem de süreklilik anlamında SLA’lerini önceliklendirerek planlama yapmak durumundadırlar. Uygulamalar, ciddi biçimde artan iş yüküne ve paralel kullanıcı kullanımına rağmen yüksek düzeyde işlevsel kalmalıdır. Veritabanlarının da bu artan ek iş yükünü karşılayabilecek şekilde ölçeklenebilir olması gerekir. Buna ek olarak sistem, coğrafi olarak dağıtılmış uygulamalar arasında otomatik replikasyon mekanizmaları aracılığıyla kritik öneme sahip uygulamaların gittikçe artan süreklilik ihtiyaçlarını karşılamalıdır.
3. Veritabanı geleceğe hazır mı? Bir veritabanının desteklenen özellikleri yalnızca mevcut ihtiyaçları karşılamamalı, aynı zamanda gelecekteki iş yüklerini ve kullanım senaryolarını da dikkate almalıdır. Ayrıca, karmaşıklığı ve maliyetleri artıracak ek yazılım gerektirmeyen, doğal olarak entegre edilmiş bir metin araması ve gerçek zamanlı analitik gibi özellikler de oldukça önem taşımaktadır. Modern bir veritabanı aynı zamanda bir “veri deposu”nu ve bir cache katmanını birleştirmelidir: önbelleğe alma, uygulamaları daha düşük maliyetlerle önemli ölçüde hızlandırır ve isteğe bağlı ölçeklenebilirlik sağlar.
4. Gerçek bulut işlevselliği: Maliyetten tasarruf etmek ve daha fazla esneklik elde etmek için kurumlar, sanallaştırılmış, sınırlı, özel, genel veya hibrit bulut ortamlarında çalışabilecek uygulamalara güvenmektedir. Bir veritabanı, bugünün işletmelerinin taleplerini karşılamak için hem bulut tabanlı hem de bulut sağlayıcısından bağımsız olmalıdır. Modern NoSQL veritabanları orkestrasyonu desteklemeli, veriler hızlı bir şekilde replike edilebilmeli ve aktarılabilmelidir. Bunun yanı sıra, uygulama katmanında kesintiye yol açmadan, artan yükü karşılayabilmek için ilave işlem gücü (CPU, Memory, ek sunucu, node vb..) eklenebilmeli, yük ortadan kalktığında da maliyetleri düşürmek için çıkarılabilmelidir. Modern veritabanının hem bulut tabanlı hem de bulut sağlayıcısından bağımsız olması oldukça önemli bir noktadır.
5. İşletme maliyetlerine dikkat: İlişkisel veritabanı ortamında, büyük veriler, sorguları ve analizleri yeterince yüksek bir performans ile gerçekleştirmek için büyük ve pahalı sunuculara ihtiyaç duyarlar. Veri hacmi ne kadar artarsa, daha güçlü sunuculara olan ihtiyaç da o kadar artar. Öte yandan, NoSQL sistemleri kolayca ölçeklenebilir. Dahası, modern NoSQL veritabanlarıyla uygulama geliştiricileri, daha yaygın olarak bilinen SQL’in sözdizimini ve semantiğini, örneğin dağıtılmış veriler ve JSON belgelerini yönetmek için kullanabilirler. Bu özellikler, işletme ve personel eğitimi maliyetinde belirgin bir düşüşe neden olur. NoSQL sayesinde büyük veri, büyük maliyetler anlamına gelmez.
Modern NoSQL veritabanları, eski ilişkisel ve yeni NoSQL veritabanı mimarilerinin en iyi özelliklerini birleştirirler. Şu anda, herhangi bir modern veritabanının temel özellikleri, yüksek ölçeklenebilir, yüksek erişilebilir ve bulut tabanlı olmasıdır. Aynı derecede önemli olan, işletmelerin iş yüklerini ilişkisel veritabanlarından sorunsuz bir şekilde taşımalarını ve uygulamaları çoklu bulut ortamlarında (public, privatet veya hibrit) daha hızlı kurmalarını sağlayan bir veri platformu yaklaşımını benimsemesidir.