Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Data Versioning with Dolt at Microservice Appli...

Ahmet Pirimoğlu
October 10, 2023
140

Data Versioning with Dolt at Microservice Applications

Ahmet Pirimoğlu

October 10, 2023
Tweet

Transcript

  1. Ahmet Pirimoğlu • 2006 yılından beri yazılım geliştirici • 15+

    yıldır farklı sektörlerde • Finans Çözümleri • Yükseköğretim Çözümleri • Genellikle yazılım altyapı ekiplerinde • yaklaşık 2 yıldır • Şu an "Open Banking" projesinin yazılım altyapı tarafında "Yazılım Takım Lideri"
  2. Ajanda Open Banking Platform Projemizin kısa aktarımı Dolt ile Tanışma

    Hikayemiz Dolt Nedir? Dolt’un özellikleri Dolt API Pipeline ve Migration Open Banking Projesinde Dolt’u nasıl kullandık Data Migration Kavramı Soru & Cevap
  3. Open Banking Platform • Microservice Application • CQRS & DDD

    • DB & Cloud & Platform Agnostic • Code First Migration (Multi-DB Provider)
  4. Open Banking Platform • 30+ Microservice • 30+ X Tenant

    Count Databases • 4 Database Provider • PostgreSQL • Oracle • MS SQL Server • MySQL
  5. Dolt ile Tanışma Her yeni projedeki gibi seed data'ları sisteme

    nasıl atacağımızla ilgili toplantıda bir tartışma başladı. - Developer lar seed data ları yönetsin! - Olmaz analistler de verileri girecek, arayüzden girebilmemiz lazım - O zaman nasıl yöneteceğiz? - ...
  6. Dolt ile Tanışma Sonra bir arkadaşımızın kafasında bir ışık yandı,

    • bu verileri kod gibi saklayabileceğimiz bir sistem var mı acaba? • Git gibi olsun • Git data desek google da arasak ...
  7. Dolt Nedir? • Git'in veri için olan hali • Fork,

    clone, branch, merge, push, pull vs. git'te karşılaştığımız tüm kavramlar • Dolt > git, dolthub > github, doltlab > gitlab • MySQL uyumlu ama içerisinde herhangi bir MySQL kodu barındırmayan bir veritabanı
  8. Dolt Nedir? • Dolthub başlarda veri toplama yarışmaları için kullanılıyor

    • Git’te olduğu gibi hangi tarihte nasıl bir içerik vardı, kim nasıl bir değişiklik yaptı bunların tamamı hızlı bir şekilde kontrol edilebilir • Sistemsel parametrelerin versiyonlanması ve canlıya geçişi için kullanılabilir
  9. Dolt Çalışma Yapısı • Veriler işlenerek tablo formatına getirilir •

    Dolt ile yeni bir commit oluşturulur • Remote repo’muza (doltlab) push’lanır • Main branch'e geçmesi için PR oluşturulur
  10. Open Banking Projesinde Dolt Seed (tohum) ve parametre verileri olarak

    adlandırdığımız ve uygulamanın ilk kurulduğu/konfigüre edildiğinde sistemin çalışması için gerekli olan tanımların; • kolay şekilde, • kullanıcı arayüzünden girilmesi, • versiyonlanması, • dağıtılması, • developer ve analistlerin istedikleri gibi branchler açıp gerek lokal, gerekse de ortak alanda çalışabilmeleri • ve bu veri setlerinin kolaylıkla paylaşımı/dağıtılmasını sağlamak amacıyla kullanılmaktadır.
  11. Dolt API • Dolt içerisinde yer alan database tablo ve

    kolon yapılarına SQL sorgusu atmak için bir API yapısı bulunmaktadır