ProgrammerZamanNow / qna

Q&A Bareng Programmer Zaman Now, Orang Ganteng dan Intelek
255 stars 7 forks source link

400 table 975 index 278 fk, Hmm... #598

Open nbrnext opened 9 months ago

nbrnext commented 9 months ago

Salam untuk mas eko, content qna nya bagus mas, banyak pertanyaan* menarik yang dapat mewakili programmer, terkhusus pemula seperti saya.

Kaget, dan senyum sendiri, itulah reaksi saya pertama melihat file dengan 400 table 975 index 278 fk, dari bongkar package aplikasi isp buatan orang luar negri yang dengan berbagai macam fitur.

Dari itu saya jadi penasaran berapa banyak jumlah table dan index yang pernah mas eko handle untuk aplikasi yang sudah produksi? Dan untuk e-commerce yang mas oke handle sekarang ada berapa banyak itu table dan index nya?

Sukses dan sehat selalu mas, terima kasih.

brainplusplus commented 1 month ago

Bantu jawab, kalau konsepnya sudah microservice beneran (seperti di blibli), biasanya table "keseluruhan" akan banyak, karena masing-masing service untuk mencegah highly couple (tingkat ketergantungan antar service), akan memiliki table masing-masing dimana seringnya tablenya akan ada yang sama (duplikasi data/redudancy data),

contohnya : ada 2 microservice, satu service Product, satu service Transaction, nah pada microservice "beneran" biasanya data product (sebagian saja, tidak semua data, semisal id product, nama product) akan di taruh juga di database milik transaction service, dan itu hanya nama product, id product yang di transaksikan saja, kalau produk yang blom ada transaksinya tidak akan ikut di simpan. Kenapa? biar tidak setiap transaction service digunakan tidak terus-terusan "ketergantungan" ke product service, semisal kita ingin melihat transaksi 1 bulan, nah, nama product itu gak perlu ambil dari database di product service, cukup ambil dari database milik transaction service, sehingga tidak highly couple dan meningkatkan performa

nah kesimpulannya, jumlah tablenya pasti banyak, karena tiap service punya table yang terkadang "redundant", berbeda dengan microservice "abal2" yang ternyata adalah distributed monolith