Saya pernah ditanya beberapa kali mengenai projek data engineering yang boleh diikuti untuk mempelajar bidang data engineering ini. Ada beberapa yang saya pernah cadangkan. Namun semua disampaikan dalam Bahasa Inggeris. Ada kelopongan projek data engineering dalam Bahasa Melayu dan pada masa yang saya dan pasukan saya sedang giat membangunkan infrastruktur data dengan mengggunakan #dbt. Alang-alang ini menjadi wadah saya berkongsi pengalaman menggunakan dbt dan tempat saya berbincang dalam topik ini.
Dan Tuan Amzar turut bersetuju untuk membantu dalam projek ini. Beliau akan menjadi co-writer saya dalam rencana berkaitan dengan dbt-untuk-ecommerce.
Kami berharap dbt-untuk-commerce ini akan menjadi platform untuk berkongsi kod-kod dbt yang akan membantu Data Engineer yang lain.
Mari kita mulakan…….
Setup Database dan Tables
Untuk rencana pertama dalam projek ini, mari kita fokus kepada sistem yang akan menjadi sumber utama: Sebuah Ecommerce website.
Dapatkan file diagram di sini (buka file ini dengan draw.io)
Tables dalam Sistem Ecommerce
Berikut adalah senarai tables untuk sistem ecommerce ini
Users
Table ini digunakan untuk menyimpan data dan maklumat users/customers
Categories
Table ini digunakan untuk menyimpan kategori produk
Products
Table ini digunakan untuk menyimpan informasi produk. Table ini ada FK (foreign key) ke Table Categories
untuk mendapakan kategori produk
Orders dan Order_Items
Orders
table digunakan untuk menyimpan pesanan (order) secara umum. Table Order_Items
pula menyenaraikan barang-barang dipesan.
Payments
Menyimpan maklumat pembayaran apabila pesanan telah dibuat
Shippings
Menyimpan maklumat penghantaran pesananan
Reviews
Menyimpan maklumat review mengenai sesuatu produk.
Kod-kod untuk create table ini boleh didapati dalam git kami.
https://github.com/mhasbullah/dbt-untuk-ecommerce
Kemudian masukkan data dalam tables ini menggunakan INSERT sql file dibawah (rujuk source_setup
).
---https://github.com/mhasbullah/dbt-untuk-ecommerce/tree/main/source_setup
02_insert_data_categories.sql
03_insert_data_products.sql
04_insert_data_users.sql
05_insert_data_orders.sql
06_insert_data_payments.sql
07_insert_data_shipping.sql
08_insert_data_reviews.sql
Selamat mencuba! Jika anda ada masalah comment rencana ini. Insyaallh kami akan membantu anda