- Framework open source yang membantu mengatasi kompleksitas dan lambatnya pengembangan backend data tradisional, sehingga backend analitik data dapat dikembangkan dengan cepat menggunakan TypeScript atau Python
- Menyediakan stack bawaan (ClickHouse, Redpanda, Temporal), dengan rencana ekspansi ke berbagai platform cloud ke depan
- Menyederhanakan pengembangan lokal untuk mendukung pengujian cepat dan hot reload instan
- Cocok untuk membangun berbagai aplikasi yang intensif data, serta dapat digunakan untuk analitik real-time, migrasi data, event streaming, dan lainnya
Moose
- Moose adalah framework yang memungkinkan pembangunan backend analitik data hanya dengan kode TypeScript atau Python
- Framework ini hadir untuk menyelesaikan masalah tooling backend data tradisional yang lambat dan kompleks
-
Masalah saat membangun backend analitik dengan tooling saat ini
- Masalah fragmentasi tool
Banyak waktu habis untuk mengintegrasikan berbagai layanan seperti Kafka, ClickHouse, Postgres, dbt, dan Airflow
- Masalah ketidaksesuaian skema
Model kode, skema database, validasi API, dan format pesan menjadi tidak sinkron seiring waktu
- Kesulitan workflow pengembangan
Tidak adanya pengujian lokal, siklus deployment yang panjang, dan seringnya perpindahan konteks menurunkan produktivitas pengembangan
- Pemrosesan yang hanya mengandalkan SQL
Ada ketidaknyamanan karena harus menggunakan SQL saja alih-alih bahasa pemrograman yang sudah familier
-
Masalah yang muncul saat membangun sendiri
- Bahkan untuk menambahkan field sederhana pun, semua pekerjaan berikut harus ditangani secara manual
- Memodifikasi model kode TypeScript/Python
- Mengubah skema database
- Memperbarui topik Kafka
- Memperbarui validasi runtime
- Memperbarui transformasi dan query
- Dibutuhkan banyak waktu dan upaya untuk menguji semua perubahan dengan aman setiap saat
Cara Moose menyelesaikannya
-
Yang disediakan Moose
- Kode TypeScript atau Python itu sendiri berperan sebagai single source of truth untuk logika aplikasi data dan infrastrukturnya
- Berbasis kode, Moose menjamin hal-hal berikut
- Keamanan tipe dan validasi yang lengkap
- Penghapusan kode boilerplate
- Penemuan kesalahan lebih awal pada tahap pengembangan
-
Menghilangkan perpindahan konteks
- Tidak perlu lagi memikirkan aturan penamaan tabel database, apakah field model/tabel sudah sinkron, atau apakah field harus Nullable
-
Pengembangan lokal
- Menjalankan dengan satu klik
Seluruh infrastruktur data dapat dijalankan secara lokal hanya dengan satu perintah
- Tanpa konfigurasi
Semua komponen sudah dikonfigurasi sebelumnya sehingga tidak perlu setup tambahan
- Struktur yang sama dengan lingkungan produksi
Menggunakan stack teknologi yang sama dengan lingkungan deployment nyata
- Umpan balik real-time
Perubahan langsung diterapkan ke seluruh stack
-
Workflow pengembangan yang umum
- Saat model ditambahkan atau diubah lalu disimpan, perubahan akan langsung di-hot reload ke infrastruktur lokal
- Jika field baru ditambahkan, perubahan segera diterapkan ke API, stream, dan database
- Pengujian pipeline juga bisa langsung dicek dengan mengirim data sampel ke API ingest lokal
-
Workflow hot reloading
- Setelah model diubah, cukup simpan dan perubahan akan diterapkan secara otomatis
- Field yang ditambahkan akan otomatis diterapkan ke validasi API, skema database, dan stream
-
Modularitas
- Hanya komponen yang diperlukan yang dapat dipilih untuk disusun
Stack Moose bawaan
- ClickHouse
Database OLAP yang diaktifkan secara default
- Redpanda
Platform event streaming kompatibel Kafka (dapat dinonaktifkan)
- Temporal
Tool orkestrasi workflow (dapat dinonaktifkan)
-
Ekspansi yang direncanakan
- Snowflake, Databricks, BigQuery
Dukungan untuk data warehouse cloud sedang direncanakan
- Kafka, Kinesis, Pulsar
Dukungan untuk berbagai platform event streaming kompatibel Kafka sedang direncanakan
Hal-hal yang bisa dibangun dengan Moose
- Analitik real-time untuk pengguna
Mengintegrasikan leaderboard, grafik, metrik, dan lainnya ke aplikasi web/mobile
- BI dan data warehouse
Mengumpulkan berbagai sumber data untuk membangun database analitik dan membuat laporan
- Migrasi data
Memindahkan data dari sistem lama ke backend data modern
- Event streaming
Memproses event secara real-time di platform streaming seperti Kafka dan Redpanda
- Pekerjaan ETL
Mengumpulkan data dari berbagai sumber secara berkala dan memuatnya ke lingkungan analitik
Belum ada komentar.