Moose - ClickHouse ile analitik backend oluşturmaya yönelik açık kaynak bir framework
(github.com/514-labs)- Mevcut veri backend’i geliştirmenin karmaşıklığı ve yavaşlığını çözerek, TypeScript veya Python ile veri analitiği backend’lerini hızlıca geliştirmeyi sağlayan açık kaynak bir framework
- Yerleşik stack (ClickHouse, Redpanda, Temporal) sunuyor ve ileride çeşitli bulut platformlarına genişlemesi planlanıyor
- Yerel geliştirmeyi basitleştirerek hızlı test ve anında hot reload desteği sağlıyor
- Çeşitli veri yoğun uygulamalar geliştirmek için uygun; gerçek zamanlı analiz, veri taşıma ve event streaming gibi kullanım alanlarına sahip
Moose
- Moose, yalnızca TypeScript veya Python koduyla veri analitiği backend’i kurmayı sağlayan bir framework’tür
- Mevcut veri backend’i geliştirme araçlarının yavaş ve karmaşık olma sorununu çözmek için vardır
-
Günümüz araçlarıyla analitik backend oluştururken yaşanan sorunlar
- Araçların dağınık olması
Kafka, ClickHouse, Postgres, dbt, Airflow gibi çok sayıda servisi entegre etmek zaman alır - Şema uyumsuzluğu sorunu
Kod modelleri, veritabanı şeması, API doğrulaması ve mesaj formatları zamanla birbiriyle uyumsuz hale gelir - Geliştirme iş akışının zorluğu
Yerelde test eksikliği, uzun dağıtım döngüleri ve sık bağlam değiştirme geliştirici verimliliğini düşürür - Yalnızca SQL’e dayalı işleme
Aşina olunan programlama dilleri yerine sadece SQL kullanmak zorunda kalma rahatsızlığı vardır
- Araçların dağınık olması
-
Her şeyi doğrudan kendiniz kurduğunuzda ortaya çıkan sorunlar
- Basit bir alan ekleme için bile aşağıdaki işlerin tamamını manuel yapmak gerekir
- TypeScript/Python kod modelini değiştirme
- Veritabanı şemasını değiştirme
- Kafka topic’ini güncelleme
- Runtime doğrulamasını güncelleme
- Dönüşümleri ve sorguları güncelleme
- Her değişikliği güvenli biçimde test etmek her seferinde çok zaman ve emek ister
- Basit bir alan ekleme için bile aşağıdaki işlerin tamamını manuel yapmak gerekir
Moose’un çözüm yaklaşımı
-
Moose’un sundukları
- TypeScript veya Python kodunun kendisi, veri uygulaması mantığı ile altyapının tek doğruluk kaynağı olarak görev yapar
- Kod tabanlı olarak şunları garanti eder
- Tam tip güvenliği ve doğrulama
- Boilerplate kodun ortadan kaldırılması
- Hataların geliştirme aşamasında önceden yakalanması
-
Bağlam değiştirmenin ortadan kaldırılması
- Veritabanı tablo adlandırma kuralları, model/tablo alanlarının senkron olup olmadığı veya alanların nullable olup olmadığı gibi konuları düşünmek gerekmez
-
Yerel geliştirme
- Tek tıkla çalıştırma
Tek bir komutla tüm veri altyapısını yerelde çalıştırabilirsiniz - Sıfır yapılandırma
Tüm bileşenler önceden yapılandırılmıştır; ek kurulum gerekmez - Prodüksiyonla aynı mimari
Gerçek dağıtım ortamıyla aynı teknoloji stack’i kullanılır - Gerçek zamanlı geri bildirim
Değişiklikler tüm stack’e anında yansır
- Tek tıkla çalıştırma
-
Tipik geliştirme iş akışı
- Model eklediğinizde veya değiştirdiğinizde kaydetmeniz yeterlidir; yerel altyapıda anında hot reload uygulanır
- Yeni alan eklendiğinde API’ye, stream’e ve veritabanına hemen yansır
- Pipeline testleri de örnek veriyi yerel ingest API’sine göndererek anında doğrulanabilir
-
Hot reloading iş akışı
- Modeli değiştirip kaydetmeniz yeterlidir; değişiklikler otomatik olarak uygulanır
- Eklenen alanlar API doğrulamasına, veritabanı şemasına ve stream’lere otomatik olarak yansır
-
Modülerlik
- Yalnızca ihtiyaç duyduğunuz bileşenleri seçerek yapılandırabilirsiniz
Moose ile gelen yerleşik stack
- ClickHouse
Varsayılan olarak etkin OLAP veritabanı - Redpanda
Kafka uyumlu event streaming platformu (devre dışı bırakılabilir) - Temporal
Workflow orkestrasyon aracı (devre dışı bırakılabilir) -
Planlanan genişlemeler
- Snowflake, Databricks, BigQuery
Bulut veri ambarı desteği planlanıyor - Kafka, Kinesis, Pulsar
Çeşitli Kafka uyumlu event streaming platformları için destek planlanıyor
- Snowflake, Databricks, BigQuery
Moose ile neler geliştirilebilir
- Kullanıcıya dönük gerçek zamanlı analiz
Liderlik tabloları, grafikler ve metriklerin web/mobil uygulamalara entegre edilmesi - BI ve veri ambarı
Çeşitli veri kaynaklarını toplayarak analitik veritabanı kurma ve rapor üretme - Veri migrasyonu
Verilerin legacy sistemlerden modern veri backend’lerine taşınması - Event streaming
Kafka, Redpanda gibi streaming platformlarındaki event’lerin gerçek zamanlı işlenmesi - ETL işleri
Çeşitli kaynaklardaki verilerin düzenli olarak toplanıp analiz ortamına yüklenmesi
Henüz yorum yok.