Google Cloud Platform içerisinde çok fazla farklı depolama ve database seçeneği mevcut. Bir data engineer olarak, ihtiyaca uygun şekilde doğru depolamayı seçmek ise elzem.
GCP üzerinde doğru opsiyonu seçme konusunda bir flow ile devam edebiliriz.
Sorulması gereken ilk soru;
Structured – Unstructured
Veri yapısal mı yapısal olmayan bir formatta mı?
Yapısal olmayan formattan kastımız ise genellikle video, görsel, ses dosyaları. Eğer depolama ihtiyacımız bu şekilde yapısal olmayan bir format ise cevap basit. Google Cloud Storage
Eğer verimiz yapısal bir formatta ise bir tür veri tabanına ihtiyaç duyacağız ve seçim yapmamız gereken birçok farklı veri tabanı modeli mevcut.
Veri analitik amaçlı mı kullanılacak? (Analytics)
Yani bu veri ile analitik sorgumalar yapacak, trend eğilimlerini analiz edecek ya da bir makine öğrenmesi modeli mi geliştireceksiniz?
Cevap evet ise bir soru daha;
Düşük bir gecikme ihtiyacımız var mı? (Low Latency)
Örneğin elimizde saniyede binler hatta milyon satır yazma ihtiyacımız olan bir zaman serisi verimiz olabilir, böyle bir durumdaysak cevap: Cloud Big Table
Gecikme eğer sorun değilse size büyük bir veri ambarı gerecek. BigQuery burada güzel bir seçim olabilir.
Diyelim ki verileriniz analitik için değil;
İlişkisel bir veri mi? (Relational)
Yani bir MySQL ya da PostgreSQL içerisinde denk gelebileceğiniz türden bir veri ise sıradaki sorumuz;
Uygulamanız birden fazla global bölgeye mi hizmet veriyor? Veri tabanınıza dünyanın herhangi bir yerinden güçlü bir tutarlılık ile mi erişilmesi gerekiyor? (Strong Consistency)
Böyle bir ihtiyacınız varsa High Availability, Consistency ve Yatay Ölçeklenebilirliği bir arada sunan Cloud Spanner tercih edebilirsiniz.
Sizin ihtiyacınız sadece geleneksel bir SQL veri tabanı ise GCP üzerinden yönetebileceğiniz (fully managed) MySQL ya da PostgreSQL’i Cloud SQL ile kullanabilirsiniz.
Eğer ilişkisel bir veri tabanı işinizi görmüyorsa; Mobile SDK için ya da bir NoSQL çözümü için de Cloud Firestore tercih edebilirsiniz. Cloud Firestore döküman tabanlı, otomatik ölçeklenebilir, fully managed ve offline veri erişimini sunan bir Google çözümü.
Fully Managed: Google tarafından yönetilen, sizin bazı spesifik ayarları yapabileceğiniz servisler.
Eğer ihtiyacınız bir Redis veri tabanı ise GCP içerisinde bunun karşılığı Cloud MemoryStore.
Göreceğimiz üzere Google Cloud içerisinde Storage başlığında birçok servis bulunmakta, daha önce temas ettiğiniz uygulamalar Google içerisinde farklı servis isimlendirmeleriyle karşınıza çıkabiliyor.
Maalesef ki yukarıdaki her servisin detayına girmek mümkün değil, fakat genel anlamda hangi durumlarda hangi servisin seçileceğini yukarıdaki ağaç yapısına göre seçmemiz mümkün.