All Products
Search
Document Center

AnalyticDB:Studi Kasus Penggunaan Materialized View oleh Pelanggan

Last Updated:Mar 29, 2026

Materialized view di AnalyticDB for MySQL melakukan pra-perhitungan dan menyimpan hasil kueri sehingga pembacaan berulang mengakses data cache alih-alih menjalankan agregasi mahal setiap kali. Studi kasus berikut menunjukkan bagaimana tiga tim memanfaatkan materialized view untuk mengurangi latensi kueri, menghilangkan pipeline refresh manual, serta menstabilkan database di bawah beban konkuren yang tinggi.

Kapan Menggunakan Materialized View

Materialized view paling efektif digunakan ketika:

  • Kueri melibatkan operasi kompleks (JOIN, GROUP BY, agregasi) dan dijalankan secara berkala.

  • Data sumber berubah sesuai jadwal yang dapat diprediksi (per jam, harian).

  • Banyak pengguna mengakses data ringkasan yang sama secara konkuren.

  • Waktu pembuatan laporan yang lama menyebabkan peluang bisnis terlewat.

Mengurangi Latensi Kueri untuk Business Advisor

Latar Belakang

Business Advisor adalah layanan Alibaba yang digunakan oleh puluhan juta merchant untuk menganalisis operasional toko. Selama promosi penjualan, lonjakan traffic membuat analisis real-time menjadi sangat krusial. Layanan ini melacak lima metrik — produk terjual, pembeli, pengunjung, penambahan ke keranjang belanja, dan jumlah pembayaran — yang dikelompokkan berdasarkan toko, produk, dan channel, serta menampilkan peringkat masing-masing merchant berdasarkan industri dan lokasi. Business Advisor juga menunjukkan tren peringkat toko dalam sehari dan perubahan peringkat sepanjang hari tersebut.

Business Advisor berjalan di atas AnalyticDB for MySQL dan menyediakan analisis per jam selama promosi penjualan.

Manfaat Materialized View

Tanpa materialized view, setiap kueri per jam memicu perhitungan real-time yang melibatkan operasi JOIN dan GROUP BY, membutuhkan minimal 1 detik per kueri. Menampilkan data 24 jam memerlukan 24 kueri — total 24 detik, melebihi ambang batas latensi yang dapat diterima.

Dengan menyimpan hasil per jam yang telah dihitung sebelumnya dalam materialized view, setiap kueri membaca dari view tersebut alih-alih menghitung ulang dari data mentah. Waktu kueri turun dari 1 detik menjadi 100 milidetik per kueri.

Mengotomatiskan Refresh Data untuk Platform Pemasaran

Latar Belakang

Seorang pelanggan menyediakan layanan pemasaran otomatis untuk perusahaan garmen. Pembuatan laporan memerlukan data keanggotaan, data inventaris, dan sumber lainnya. Volume data dan kompleksitas pemrosesan menyebabkan keterlambatan laporan, sehingga staf pemasaran melewatkan peluang yang sensitif terhadap waktu. Jumlah besar kueri yang diproses secara simultan juga berpotensi menyebabkan ketidakstabilan pada database.

Manfaat Materialized View

Tim mengonfigurasi refresh otomatis materialized view sesuai jadwal harian. Karena view tersebut menyimpan hasil yang telah diproses, kueri laporan dijalankan terhadap data yang sudah diagregasi, bukan tabel mentah.

Dua hasil utama:

  • Laporan lebih cepat: Kueri selesai dengan cepat karena komputasi berat dijalankan selama jendela refresh di luar jam sibuk, bukan saat kueri dieksekusi.

  • Tidak perlu penjadwal terpisah: Mode refresh terjadwal di AnalyticDB for MySQL menangani proses refresh secara otomatis, sehingga menghilangkan kebutuhan untuk memelihara sistem penjadwalan tugas terpisah.

Menstabilkan Laporan Spot-Check untuk Cainiao

Latar Belakang

Cainiao, bagian dari Alibaba Group, memproses volume besar paket gudang. Karyawan secara rutin meninjau laporan spot-check yang mencakup tujuh hari sebelumnya. Setiap laporan mencakup informasi produk, rasio spot check, laju kelulusan (pass rate), dan jumlah paket.

Pembuatan laporan ini mengonsumsi sumber daya komputasi yang signifikan. Selama acara puncak seperti Double 11, volume paket melonjak dan pembuatan laporan semakin melambat. Kueri besar yang tidak teratur dari banyak pengguna konkuren memperparah ketidakstabilan tersebut.

Manfaat Materialized View

Cainiao membuat materialized view yang melakukan pra-perhitungan data spot-check tujuh hari dan merefresh-nya setiap jam. Karyawan menjalankan kueri terhadap view tersebut dengan filter berbasis waktu alih-alih menjalankan agregasi penuh terhadap tabel mentah.

CREATE MATERIALIZED VIEW xxx_report
REFRESH NEXT now + interval 1 hour
AS
SELECT ...
WHERE create_time >= select current_date() - interval 7 day