Ada di struktur file golang project
Saya langsung mengimplementasikan di model dengan path direktorinya di /models
Ada di file no_3_ bank_account_system.go
SELECT customer_id, SUM(amount) AS total_spent FROM orders WHERE order_date >= CURRENT_DATE - INTERVAL '1 month' GROUP BY customer_id ORDER BY total_spent DESC LIMIT 5;
CREATE INDEX idx_orders_order_date ON orders (order_date);
CREATE INDEX idx_orders_date_customer_amount ON orders (order_date, customer_id, amount);
Indeks ini memungkinkan basis data untuk:
- memfilter dengan cepat berdasarkan order_date.
- mengelompokkan berdasarkan customer_id (memanfaatkan urutan indeks).
- mengambil jumlah langsung dari indeks (menghindari akses tabel).
- menganalisis dan memetakan sistem yang ada (mengidentifikasi tanggung jawab, menilai ketergantungan, dan memprioritaskan ekstraksi)
- menetapkan batasan layanan (desain berbasis domain (DDD) dan pemisahan basis data)
- ekstraksi inkremental (mengganti modul)
- migrasi data (penulisan ganda/CDC)
- komunikasi (API dan pesan asinkron)
- memelihara API yang Ada (API gateway dan versioning)
- beralih fitur
- konsistensi data (Proxy Layers dan Shadow Testing)
- koordinasi klien(Deprecation Timeline dan SDKs/Client Libraries)
- testing
- menghentikan layanan monolit
- kemampuan observasi
- mengoptimalkan