Peralihan dari Data Relasional ke Event
(event-driven.io)Panduan Peralihan dari Data Relasional ke Event
- Dalam aliran event sourcing, data bisnis tidak hilang, melainkan disimpan dalam bentuk event.
- Event merepresentasikan fakta yang telah terjadi, dan disimpan setelah setiap tindakan.
- Event stream adalah daftar semua event yang tercatat, bersifat immutable, dan kesalahan di masa lalu dapat diperbaiki dengan menambahkan event baru.
1. Cari kolom status
- Nilai pada kolom status dapat mencerminkan tahap siklus hidup data.
- Misalnya, pesanan bisa dimulai, dikirim, dan dibayar.
- Status-status ini dapat diubah menjadi event seperti Order Initiated, Order Shipped, dan Order Paid.
2. Periksa kolom tanggal
- Kolom tanggal dapat memberikan informasi tentang kejadian-kejadian penting dalam suatu proses.
- ShipmentDate, DeliveryDate, OrderPlacementDate, dan sejenisnya dapat menunjukkan istilah bisnis serta membantu memperkenalkan event baru.
3. Analisis selektivitas kolom
- Kolom nullable mungkin diberikan belakangan atau bersifat opsional.
- Kolom wajib harus disediakan pada event Order Initiated pertama.
4. Cari tabel dengan relasi 1 ke banyak terbanyak
- Dalam event sourcing, data dikelompokkan berdasarkan proses bisnis untuk pemrosesan yang efisien.
- Tabel dengan banyak relasi 1 ke banyak dapat menjadi kandidat untuk jenis stream.
5. Perkenalkan event secara eksplisit
- Saat memigrasikan data relasional ke event, event yang baru ditemukan sebaiknya tidak digunakan ulang selama impor; sebagai gantinya, event Order Imported harus disediakan secara eksplisit.
6. Bereksperimen dan memverifikasi
- Cobalah prototipe di lingkungan yang aman, bandingkan hasilnya dengan ekspektasi, dan lakukan iterasi tanpa terburu-buru.
Pendapat GN⁺
- Hal terpenting dalam tulisan ini adalah pentingnya pendekatan baru yang mempertahankan data bisnis saat beralih dari database relasional ke event sourcing.
- Tulisan ini menarik karena menawarkan cara untuk lebih memahami dan memanfaatkan siklus hidup data, keluar dari pendekatan pengelolaan data yang lama.
- Event sourcing dapat membantu membangun pemahaman bersama antara tim bisnis dan tim teknis, bukan hanya dari sudut pandang teknis.
1 komentar
Komentar Hacker News
Merekomendasikan penggunaan PostgreSQL dan alat pelaporan FOSS
Kapan arsitektur event-driven tepat digunakan
Berbagi pengalaman skeptis terhadap event sourcing
Kegunaan pemodelan domain event
Pertanyaan tentang implementasi event sourcing
Bottom-up vs top-down, kustom vs general-purpose
Dukungan dan kritik terhadap arsitektur berbasis event
Event sourcing dan kebutuhan akan relasi
Dukungan terhadap data relasional
Pemahaman baru tentang desain event-driven