Caching data pelaporan dalam pangkalan data transaksi yang sama berbanding menggunakan gudang data
P粉511749537
P粉511749537 2024-02-26 19:20:23
0
1
430

Kami mempunyai penyelesaian SaaS di mana setiap penyewa mempunyai pangkalan data MySQL sendiri. Sekarang saya sedang mereka bentuk papan pemuka untuk sistem SaaS ini dan ia memerlukan beberapa carta analisis. Untuk mendapatkan data yang diperlukan untuk carta, kami boleh menanyakan setiap data transaksi penyewa dalam masa nyata daripada pangkalan datanya. dan dapatkan graf yang dikemas kini tanpa prestasi buruk kerana volum data tidak begitu besar setakat ini. Walau bagaimanapun, memandangkan volum data akan terus berkembang, kami memutuskan untuk memisahkan data analisis dan data transaksi untuk setiap syarikat Kami akan mengambil data analisis carta di latar belakang, menyimpan/menyimpannya dan mengemas kininya dengan kerap. Soalan saya ialah:

  • Apakah beberapa soalan atau faktor bagus yang perlu kita pertimbangkan sebelum memutuskan sama ada kita perlu memasukkan pergudangan data dan pemodelan data dari awal, atau hanya cache data analisis daripada carta yang dijana oleh API dalam lajur JSON dalam jadual baharu untuk setiap penyewa? pangkalan data MYSQL.

P粉511749537
P粉511749537

membalas semua(1)
P粉759451255

Daripada pergi ke berjuta-juta baris dalam jadual "fakta", bina dan kekalkan jadual ringkasan dan kemudian dapatkan data daripadanya. Ia mungkin berjalan 10 kali lebih cepat.

Ini memerlukan perubahan kod kerana jadual tambahan, tetapi ia mungkin berbaloi.

Jadual ringkasan

Dalam erti kata lain, jika set data menjadi lebih besar daripada X, jadual ringkasan adalah penyelesaian terbaik. Caching tidak akan membantu. Perkakasan tidak mencukupi. JSON hanya menghalang.

Membina graf bernilai setahun berdasarkan mata data bernilai setahun (satu sesaat) adalah perlahan dan membazir. Adalah lebih masuk akal untuk membina carta setahun berdasarkan subjumlah harian.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan