Cara terbaik untuk mempercepat akses data ke dua gudang data?

9

Saya memulai proyek intelijen bisnis yang akan membutuhkan akses abstrak ke dua gudang data yang ada. Saya perlu merancang arsitektur aplikasi untuk memungkinkan intelijen bisnis swalayan untuk menggabungkan data dan memberikan pandangan tunggal atas dua gudang yang ada. Saya datang dengan sesuatu seperti ini:

masukkan deskripsi gambar di sini

Saya berjuang dengan potongan virtualisasi / caching dan bertanya-tanya apakah ada pola desain perusahaan untuk menyelesaikan masalah saya. Apakah arsitektur seperti ini berfungsi untuk meringkas skema bintang di gudang data? Saya melihat produk-produk seperti Red Hat JBoss Virtualisasi Data dan Red Hat JBoss Data Grid (antara lain).

Kami tidak menggunakan Hibernate saat ini dan pemahaman saya tentang Data Grid adalah bahwa mereka adalah penyimpanan nilai-kunci, atau penyimpanan objek dan karenanya tidak cocok untuk melakukan caching model relasional. Saya juga harus menyebutkan bahwa kami ingin menggunakan produk vendor untuk bagian Dashboard Self-Service, tetapi kami mungkin akhirnya melakukan beberapa pengembangan-kustom di bidang ini jika vendor tidak dapat menawarkan segala yang kami inginkan.

Mark Allison
sumber
2
Baru saja menemukan buku ini, yang mungkin baik untuk saya amazon.com/Data-Virtualization-Business-Intelligence-Systems/dp/…
Mark Allison
2
Saya tidak yakin Anda telah memberikan informasi yang cukup tentang proyek Anda untuk memberi saran tentang arsitektur.
Vladislav Rastrusny
Mengapa data relasional tidak bisa di-cache dalam penyimpanan kunci-nilai {key: pk, value: the_rest_of_the_row}? Anda mungkin juga ingin me-cache metadata tabel.
9000
2
Apa masalah dengan pendekatan klasik?
NoChance

Jawaban:

1

Tidak ada banyak detail tentang apa yang ingin Anda capai di sini, tetapi dari apa yang telah Anda jelaskan, sepertinya Anda bisa melakukannya dengan data mart untuk memisahkan repositori utama dan mengekspos sekumpulan kecil data ke melayani aplikasi.

Bahkan jika Anda bisa mendesain lapisan aplikasi yang layak, Anda mungkin akan mendapatkan masalah kinerja karena memuat pada satu (atau keduanya) dari basis data repositori. Manfaat dari pendekatan mart adalah bahwa DB yang dibicarakan oleh aplikasi sangat performan. Pembaruan terjadi pada DB repositori di belakang layar dan didorong melalui basis apa pun yang Anda inginkan.

Manfaat tambahan yang Anda juga hanya memiliki satu vendor DB untuk dipertimbangkan di lapisan aplikasi Anda.

Robbie Dee
sumber