Veri Ambarı (Data Warehouse) Nedir?
Veri yönetimi süreci oldukça kapsamlı pek çok ilişkili sistem ve katmanı barındırmakta. Ancak, her alana temas etme imkanı çalıştığınız markalar ve projelerle ilişkili olarak değişkenlik gösterebilmekte. Veri ambarı bu süreç içerisinde önemli bir başlık ve konsept olarak yer tutmakta.
Veri ambarı bağlamındaki deneyimlerim, kısa süreli bir proje bağlamında edindiğim Segment DataWarehouse ile ilişkili oldu. Ancak, uzun süreli bir süreç olmadığı için edindiğim bilgiler de belirli bir bağlamda kaldı. Google Analytics 4 - BigQuery entegrasyonu bu anlamda güzel bir fırsat oldu. Zaman içerisinde, veri ambarı ve ilgili diğer konseptlerle ilgili bilgiler / deneyimler edindikçe paylaşmaya devam edeceim. Bu yazıda öncelikle veri ambarı konusuna dair notlarıma yer vereceğim.
Bir veri işçisinin temel hedefini, oluşturulan veri akışı (data pipeline) üzerinden aktarılan ve/veya yapılandırılmış/yapılandırılmamış (structured/unstructured) veriyi kullanarak sorgularda bulunmak ve analizler aracılığı ile yorumlarda-iç görülerde bulunmak şeklinde özetleyebiliriz. Bu konuya istinaden ayrıca ETL (Extract, Transform, Load) başlıklı yazıma da göz atabilirsiniz.
Veri işçisi (data worker), birincil faaliyet veya faaliyetlerin ilgili bir parçası olarak verilerin toplanması, depolanması, yönetilmesi ve analizinden sorumlu kişi olarak tanımlanabilir1.
Elbette bu bütünsel süreç kendi içerisinde pek çok iç süreci ve katmanı içer(ebil)mektedir. Akış ifadesini kullanmaya devam edelim. Bir akarsu gibi, bir veya daha fazla kaynağın birleşiminden oluşan veri birleşiminin de üzerinde işlemler gerçekleştirilebilmesi için bir alanda kısa ya da uzun süreli olarak tutulması (göl, deniz, vb.) gerekir. Kısa süreli aşamalarda veri parçacığı bir bir amaç doğrultusunda kullanılır. Ancak, eğer veri bir sabit alanda toplanmıyorsa, sahip olduğu değer (olumlu-olumsuz) ile birlikte değişiklikler kayıp haline gelecektir.
Veri akış hattının kısa ya da uzun süreli olan toplandığı bu alanların da teknoloji ve/veya işlev bağlamında çeşitli tanımları vardır; veri tabanı, veri tablosu, veri ambarı, vb.
Bu yazının, BigQuery ile ilgili yayınlayacağım bir sonraki yazının temelini oluşturmasını istediğim için konuyu çok genişletmeyecek ve doğrudan veri ambarından bahsedeceğim. Veri yönetimi ile ilgili diğer konuları farklı yazılara bölerek detaylandırmaya devam edeceğim.
Veri Ambarı
Veri ambarı (data warehouse), temel bir ifade ile açıklamak gerekirse, farklı kaynaklardan (iç ve dış) verilerin toplandığı, iş zekası (BI) faaliyetleri neticesinde veritabanına binen yükü azaltmak amacıyla ortaya çıkmış, alt kümelerden oluşan, merkezi bir depolama alanıdır2 3. Analitik olmayan uygulamalarda kullanılan veritabanı yapısının aksine veri ambarı bize binlerce satırlık sorgu ve analiz (select) işlemlerini hızlı bir şekilde gerçekleştirebilme imkanı sunar 4 5. Veri ambarı konsepti ilk defa bilgisayar bilimcisi Bill Inmon tarafından ele alınmıştır6 7.
Veri ambarı sayesinde veri çıkarma (data extraction), temizleme (cleansing), dönüştürme (transformation) ve yükleme/yenileme (load / refresh) süreçleri etkili bir şekilde gerçekleştirilebilmektedir. Ancak, bu konsepti nihai bir çözüm olarak ele almak doğru olmayacaktır. Veri gölü (data lake) gibi, çeşitli sorunlara çözüm bağlamında oraya çıkan farklı konseptler de süreç içerisinde değerlendirilebilmektedir. Veri ambarlarındaki verilerin güncellenebilmesi için ETL / ELT süreçlerinin işletilmesi gerekir.
Önek bir süreci görsel olarak ifade etmek gerekirse;
Veri ambarı, yapısal olarak veri pazarı (data mart) olarak ifade edilen, belirli bir iş koluna (pazarlama, satış, vb.) veya ekibe yönelik alt kümelerin (modellerin) toplamı olarak da ifade edilebilir.
Veri pazarı (data mart), bir veri ambarında depolanan, organizasyon bünyesindeki tek bir alana ait verileri kapsayan veri alt kümesidir.
Veri ambarları genelde şu iki amaç doğrultusunda kullanılır:
- Stratejik verilerin birikimini sağlamak
- Veriler daha sonra yeniden kullanılmak üzere arşivlenir. Veri ambarları verilerin sorgulanabildiği ve analiz yapılabilindiği bir depodur.
- İş fırsatlarını yakalamak
- Pazarda yeni fırsatlar bulmaya, rekabete katkı, yoğun proje çevirimi, iş, envanter,ürün maliyetlerinin azalmasının yanında farklı işlere ait verilerin ilişkilendirilmesi, karar destek ve alınan bilgiye hızlı cevap verebilme gibi birçok katkısı vardır.
Tipik bir veri ambarı genellikle aşağıdaki unsurları içerir:
- Veri depolamak ve yönetmek üzere bir ilişkisel veritabanı8
- Verileri analize hazırlama (ETL/ELT) çözümü
- Analiz, raporlama ve veri madenciliği yetenekleri
- Veri bilimi ve yapay zeka (AI) algoritmaları uygulayarak işlenebilir bilgi oluşturan daha karmaşık analitik uygulamalar9
Genel olarak, veri ambarlarının aşağıdakilerden oluşan üç katmanlı bir mimarisi vardır:
- Alt katman
- Genellikle bir ilişkisel veritabanı sistemi olan, farklı kaynakladan verileri toplayan ve ayıklama, dönüştürme ve yükleme işlemlerini kapsar.
- Orta katman
- Hızlı sorgulama işlemleri sağlayan bir katmandır. Bu katmanda ROLAP, MOLAP ve HOLAP olarak bilinen üç tür OLAP modeli kullanılabilir10. Kullanılan OLAP modelinin türü, var olan veritabanı sisteminin türüne bağlıdır.
- Üst katman
- Son kullanıcıların iş verileri üzerinde işlemler yapabilmesine olanak tanıyan kullanıcı arayüzü veya raporlama aracını içerir.
Bulut Veri Ambarı
Veri ambarları genellikle maliyetli bir süreci kapsar ve şirket içi (on-premises) sunucularda bulunur. Şirket içi veri ambarları birçok avantaja (güvenlik, hız, vb.) sahip olsalar da, bazı durumlarda genelde esnek değillerdir ve gelecekte doğabilecek ihtiyaçlar doğrultusunda kolay bir şekilde ölçeklenemezler11. Bulut veri ambarları da yine farklı veri kaynaklarından gelen verileri almak ve depolamak amacıyla ortaya çıkan ancak bu işlemler için bulut teknolojisini kullanan bir çözümdür12.
Şirket içi veri ambarı ile kıyaslandığında şu avantajlarla öne çıkarlar13:
- Esneklik
- Bilgi işlem veya depolama gereksinimlerini yönelik kolay ölçeklenebilirlik
- Yönetim ve kullanım kolaylığı
- Maliyet tasarrufu
Öne Çıkan Bulut Veri Ambarı Çözümleri
Aşağıda öne çıkan veri ambarı çözümleri yer almakta14 15. Seçenekler arasında yer alan Google BigQuery Google Analytics 4 entegrasyonu sayesinde hem kişisel hem de kurumsal olarak daha kolay bir şekilde gözlemleyebileceğim bir seçenek. Ancak, ilerleyen zaman içerisinde mümkün olursa diğerleri ile ilgili de bilgiler edinmeye ve paylaşmaya çalışacağım.
- Amazon Redshift
- Google BigQuery16
- IBM Db2 Warehouse
- Microsoft Azure SQL Data Warehouse
- Oracle Autonomous Data Warehouse
- SAP Data Warehouse Cloud
- Snowflake
Yukarıdaki listede yer vermemiş olsam da (odaklanılan alan farklılığı sebebiyle), web analitiği çözümü olan Segment de değerlendirilebilecek seçenekler arasında önemli bir yer tutmakta17.
- European Data Market SMART 2013/0063 Final Report ve Final results of the European Data Market study measuring the size and trends of the EU data economy ↩
- Veri Ambarı. Wikipedia ↩
- Veri Ambarı Nedir? Oracle Türkiye ↩
- IBM Cloud Education. (2020). Data Warehouse ↩
- Jacqueline Biscobing. (2019). Data Warehouse ↩
- Bill Inmon. Wikipedia ↩
- Data Warehouse. DataBrick ↩
- İlişkisel Veritabanı Nedir? Oracle Türkiye ↩
- Veri Bilimi Nedir? Oracle Türkiye ↩
- What is OLAP? Sisense ↩
- Best Software to Build a Data Warehouse in the Cloud: Features, Benefits, Costs. ScienceSoft ↩
- Cloud Data Warehouse vs Traditional Data Warehouse Concepts. Panoply ↩
- SeattleDataGuy. (2020). What Are The Benefits Of Cloud Data Warehousing? ↩
- 5 steps for choosing a cloud data warehouse. Stitch ↩
- Sean Michael Kerner. (2019). Top 8 Cloud Data Warehouses ↩
- What is a data warehouse? Google Cloud ↩
- Segment DataWarehouse ↩