Hizmet Olarak Veritabanı (DBaaS) Nasıl Seçilir

Hizmet Olarak Veritabanı (DBaaS) Nasıl Seçilir

Tim Rottach, Ürün Pazarlama Müdürü, Couchbase

Bir tatbik ya da bir veri ambarı projesi için bir veritabanı seçmek, uzun vadeli bir kararlılık gerektirir. Veritabanı uygulamanızın temelidir ve bütün bilgilerinize güvenilir bir depolama ve erişim sağlar. Veri eğer olmazsa tatbik da uygulamanız da olmaz. Bu yazı, tatbik ya da mikro hizmet geliştirmek için geliştirilmiş olan operasyonel veritabanlarına odaklanacaktır. Böyle bir segmentasyon yaptığımızda bile piyasada hala yüzlerce veritabanı opsiyonu bulunduğunu görüyoruz. Eğer hizmet olarak veritabanı arıyorsanız, bütün satıcılar ürünlerini tam anlamıyla yönetilen bir hizmet olarak sunmadığından seçenekleriniz daha azca olacaktır. Uygulamaya değişik işlevler eklemek ve zamanla geliştirmek, belirlediğiniz veritabanına bağlı olarak ya daha kolay ya da daha zor olacaktır. Bazı veritabanları çok hususi kabiliyetler sunarken, bazıları ise daha geniş ölçekte ve esnektir. AWS, Google Cloud ve Microsoft Azure gibi bulut sağlayıcıları, her biri muayyen kabiliyetlere yoğunlaşan muhtelif DBaaS teklifleri sunar. Bu opsiyonlar bazı durumlarda yardımcı olmaktan çok kafa karıştırıcı olabilir. Buradaki müspet nokta ise bu kadar sağlayıcı arasında tercih yapma şansınızın olması, gereksinim duyduğunuz DBaaS’ı bulmanız için daha çok opsiyona haiz olmanız anlamına geliyor.

DBaaS Kriterleri

Piyasada yer edinen çoğu bulut veritabanı bir noktada farklılaşan olan ortak özellikler sunuyor. İşte aramanızda üzerinde durmanız gereksinim duyulan birkaç alan.

Veri yapısı

İlişkisel veritabanı idare sistemleri (RDBMS’ler), verileri faal bir halde depolamak için tasarlanmıştır. Bu da durağan(durgun) ve daha önceden kaydedilmiş bir maliyetle gelir. Verimliliğin üstünlükleri olsa da, uygulamaların ve mikro hizmetlerin çok süratli değişmiş olduğu modern bir çevik program geliştirme modelinde bu katılık olumsuzluğa yol açabilir. Uygulama ihtiyaçları her değiştiğinde veritabanı şemasını değişim yapmak halinde kalmak, geliştirmeye ayrılacak tarihi azaltacaktır. NoSQL veritabanları bu kısıtlamadan muaftır ve geliştiricilere ürünleri daha süratli geliştirebilmeleri için daha çok elastikiyet sağlar. Ayrıca, en iyi NoSQL veritabanları, genel hatlarıyla esnekliği korurken işlemleri de destekler.

Sorgu Kalıpları

Tüm veritabanlarında en yaygın sorgu dili SQL’dir. İlişkisel veritabanlarının hâkimiyeti ve dilin kendisinin kullanışlılığı sebebiyle onlarca senedir kullanılmaktadır. Okunması/anlaşılması kolay ve elastikiyet açısından muhteşemdir. Bununla beraber, daha kolay ve daha süratli veri alımı için anahtar-değer gibi öteki veri alma yolları da bulunmaktadır. Tüm metin arama şeklinde de malum “fuzzy” arama sorguları, programlar içerisinde kullanıcılar için arama fonksiyonu elde eden çok kullanımı kolay bir veritabanı özelliği olabilir. Popülaritesi artan bir öteki opsiyon da, yüksek ölçüde bağlantılı veri kümeleriyle çalışan GraphQL’dir. İhtiyaçlara (şimdiki ve gelecekteki) göre, DBaaS’ın sorgulama ihtiyacınız olan şeyleri karşıladığından ve değişik tanınmış programlama dilleri için bir program geliştirme kiti ile beraber geldiğinden emin olun.

Tutarlılık

İlişkisel veritabanlarının kullanım oranı kısmen ACID hususiyet desteğine bağlanabilir. Açılımı; bütünlük, tutarlılık, istiklal ve dayanıklılık anlamına gelen ACID, veri işlemlerinin korunmasını ve doğruluğunu sağlar. Modern uygulamalarla birlikte, işlemlere gereksinim duymadan hıza olan gereksinim artmaktaydı ve NoSQL veritabanları, nihai tutarlılık için ACID’den vazgeçti. Bugün, çoğu NoSQL veritabanı, bir tür kuvvetli tutarlılık (ACID gibi) ve nihai tutarlılığın bir karışımını sunarak geliştiricilere uygulamalarını iyi mi oluşturacakları konusu ile alakalı daha çok elastikiyet sağlıyor. Bu yüzden, ACID ihtiyaçları açısından ihtiyacınız olan şeylerin spektrumunu ve bunun muayyen bir sağlayıcı ile iyi mi ahenkli bulunduğunu idrak etmek büyük ehemmiyet taşır.

Dağıtım Seçenekleri

DBaaS’ı, kendi kendini yöneten bir sistemle kıyaslandığımızda dağıtım hakkında çok daha azca iş bulunduğunu görürüz. Veritabanını ve onu desteklemek için gereksinim duyulan bütün kaynakları sağlamalı ve hizmet, en azca kesinti süresi ile çalışabilmelidir. Dolayısıyla, kullanılabilirlik ihtiyaçlarınız için bulut sağlayıcısı seçimlerinizi, bölgelerinizi ve kurulum seçeneklerini düşünmeniz gerekir. Öyleyse, daha geniş bir geliştirme vakit çizelgesinde veritabanı platformunun öteki seçenekleri nelerdir? Asgari yeterlilikte bir ürün kurmak için indirilebilir bir versiyon var mı? Ya vites değiştirmeniz ve şirket içerisinde dağıtmanız gerekirse? Tüm seçenekleri daha önceden bilmek, gelecekte meydana gelebilecek büyük bir hatası önleyebilir.

Olgunluk

Daha ilkin de belirttiğimiz gibi, piyasada gayet fazla sayıda veritabanı bulunuyor. Bazılarının kullanım oranı artarken diğerlerinin düşecek. Bunlardan birini tercih etmek kısa vadede işinizi görse de uzun solukta canınızı yakabilir. Bazen daha yetişkin bir ürünü tercih etmek, ihtiyacınız olacağını bilmediğiniz ya da daha önceden ayrım etmediğiniz çoğu yarar sağlayabilir ve bu nedenden dolayı minnettar kalabilirsiniz. Olgun bir ürün genelde daha iyi istikrar, yardımcı ve elastikiyet sunar.

Yüksek Kullanılabilirlik ve Felaket Kurtarma Çözümü

Kim veritabanının çökmesini ister? Tabii ki asla kimse. Kullanıcı sayısı, veri hacimleri, kapsanacak yerler vb. açısından veri gereksinimlerinizin ne kadar komplike olduğuna bağlı olarak, DBaaS’ınızın yüksek kullanılabilirlik ve yıkım kurtarma çözümü konusu ile alakalı iyi mi bulunduğunu anlamanız büyük ehemmiyet taşır. Bazıları çekirdek mimari ve yıkım kurtarma çözümü opsiyonları açısından diğerlerinden daha iyidir ve genelde gereksinim duyduğunuz güvence çabalama süresine haiz olmanızı sağlamak için ek maliyetler olacaktır.

Ölçeklenebilirlik

Kolay ve otomatik ölçeklendirme, bütün DBaaS tekliflerinde olması gereksinim duyulan bir şey bulunmasına rağmen çalışmış oldukları değişik yollar vardır. Bazı DBaaS’lar, otomatik ölçeklendirmeyle beraber kullanım başına ödeme temelinde sunucusuz bir modelde ölçeklenir. Bu işinizi kolaylaştırabilir ama işler beklentilerin çok ötesine geçerse de olabildiğince maliyetli olabilir. Tedarik modeller ise birazcık daha çok iş ile esnek ölçeklendirme sunar, ama CPU çekirdekleri, bellek, depolama alanı ve daha fazlası için ek denetim içerir. Tüm bu özellikler asla bir vakit uygulamada değişim gerektirmemelidir.

Mobil ve Edge Yetenekler

DBaaS’ınızın verileri bir mobil ya da edge programla senkronize etmesi gerekecek mi? Veri senkronizasyonu iyi mi yapılacak? Mobil uygulamanın ağ bağlantısı olmadan çalışması gerekiyor mu? Bunlar, programınızı offline öncelikli hale getirmenize yardımcı olabilecek mobil gömülü bir veritabanı düşünürken üzerinde durulması gereksinim duyulan türden sorulardır.

Güvenlik

Güvenlik, kuruluşlar ve hackerlar arasında bitmek bilmeyen bir mücadeledir. DBaaS sağlayıcınızın, gelişkin, çok katmanlı emniyet teknolojileri ve 7/24 seyretme sağladığından emin olmalısınız. Sistemler, veriler hem hareketsiz hem de dinamik haldeyken hususi ağ ve şifreleme içermelidir. DBaaS sağlayıcıları, genelde emniyet merkezi internet sayfalarında detaylı ve yöntem incelemeler sunar.

Maliyet

Maliyet, veritabanı seçiminde her vakit bir faktördür. Birtakım DBaaS’lar olabildiğince kolay ve bedava bir tabaka sunar ama bu reel bir tatbik için asla bir vakit kafi değildir. Bu nedenle toplam haiz olma maliyetini (TCO) ve bu maliyeti, okuma/yazma performansı ihtiyaçları, genel kabiliyetler ve sistem ölçeklenirken desteklenebilecek toplam kullanıcı sayısıyla iyi mi dengeleyeceğinizin üzerinde durmalısınız.

Sonuç

Bir DBaaS seçerken hız, esneklik, pazara sunma süresi ve göz önünde bulundurulması gereksinim duyulan maliyetler gibi çoğu faktörün tatbik gereksinimlerinizle ahenkli olmasından emin olmalısınız. Doğru bulut veritabanı platformunu kura çekmek asla de kolay değildir. Birçok kuruluş, mühim programları için riski, veri yayılımını ve toplam haiz olma maliyetini azaltırken, esnekliği, performansı ve istikrarı çoğaltmak için Couchbase’i tercih ediyor. İşte bütün bunlardan dolayı, Fortune 100’ün %30’u kritik verilerini Couchbase veritabanı platformuyla yönetiyor.

Siz de Couchbase’i bedava olarak deneyebilirsiniz.