Pengertian Database Caching ~ Cache database

Database caching alias cache database adalah proses yang termasuk dalam desain aplikasi komputer yang menghasilkan halaman web on­demand (dinamis) dengan mengakses database backend. Ketika aplikasi ini digunakan di lingkungan multi­tier yang melibatkan klien berbasis browser, server aplikasi web dan database backend, caching database yang tingkat menengah digunakan untuk meraih skala dan kinerja tinggi.

Cache database
Dalam arsitektur tiga lapis, tingkat aplikasi dan tingkat data dapat di host dengan host yang berbeda. Throughput aplikasi dapat dibatasi oleh jaringan kecepatan. Keterbatasan ini dapat diminimalkan apabila ada basis data di tingkat aplikasi. Karena perangkat lunak database komersial membuat ekstensif menggunakan sumber daya sistem, tidak selalu praktis untuk memiliki aplikasi dan database yang di host yang sama. Dalam hal ini, aplikasi database yang lebih ringan dapat digunakan untuk cache data dari basis data komersial.

Manfaat Database Caching

Database caching meningkatkan skalabilitas dengan mendistribusikan permintaan beban kerja dari backend ke beberapa sistem front­end murah. Hal ini memungkinkan fleksibilitas dalam pengolahan data; misalnya, data pelanggan Platinum dapat di­cache sedangkan pelanggan biasa tidak. Caching dapat meningkatkan ketersediaan data, dengan menyediakan layanan lanjutan untuk aplikasi yang bergantung hanya pada tabel cache bahkan jika server backend tidak tersedia.

Manfaat lain adalah peningkatan kecepatan akses data yang dibawa oleh lokalitas data dan merapikan puncak beban dengan menghindari round­trip antara tingkat menengah dan data­tier.

Elemen desain potensial
  • Diupdate Cache tabel: Sebagian besar solusi cache yang ada hanya­baca yang membatasi penggunaannya untuk segmen kecil dari aplikasi, non­real time aplikasi.
  • Update Bi­Directional: Untuk cache diupdate, update, yang terjadi dalam cache, harus disebarkan ke database target dan setiap pembaruan yang terjadi langsung pada database target harus datang untuk cache secara otomatis.
  • Sinkron dan asynchronous propagasi update: Pembaruan pada tabel cache akan disebarkan untuk menargetkan database dalam dua mode. modus sinkron memastikan bahwa setelah operasi database melengkapi update diterapkan pada database target juga. Dalam kasus modus Asynchronous update yang tertunda ke database target. Modus sinkron memberikan konsistensi persediaan tinggi dan cocok untuk aplikasi real time (secara langsung). Modus asynchronous memberikan throughput yang tinggi dan cocok untuk dekat aplikasi real time.
  • Beberapa Cache granularity tingkat Database, tingkat Table dan caching Hasil­set: bagian utama dari database perusahaan yang historis dan jarang diakses. Tapi, ada beberapa informasi yang harus langsung diakses seperti data premium pelanggan, dll.
  • Pemulihan untuk tabel cache: Dalam hal sistem atau kegagalan listrik, selama restart platform caching semua transaksi yang dilakukan pada tabel cache harus dipulihkan.
  • Alat untuk memvalidasi koherensi cache: Dalam kasus modus asynchronous propagasi pembaruan, cache pada node cache yang berbeda dan database target mungkin menyimpang. Hal ini perlu diselesaikan secara manual dan solusi caching harus menyediakan alat untuk mengidentifikasi ketidaksesuaian dan mengambil tindakan korektifjika diperlukan.
  • Horizontal Scalable: Clustering digunakan dalam banyak solusi untuk meningkatkan ketersediaan dan untuk mencapai load balancing. Platform caching harus bekerja di lingkungan yang berkerumun mencakup ke beberapa node demikian menjaga data cache koheren di seluruh node.
  • Akses transparan ke meja non­cache berada di database target: Database Cache harus melacak pertanyaan dan harus bisa cerdas rute ke cache database atau database asal berdasarkan lokalitas data tanpa modifikasi kode aplikasi.
  • Transparan Fail lebih: Tidak boleh layanan pemadaman jika terjadi kegagalan platform yang caching. koneksi klien harus diarahkan ke database target.
  • Tidak ada atau sangat sedikit perubahan aplikasi untuk solusi caching: Dukungan untuk antarmuka standar JDBC, ODBC dll yang akan membuat aplikasi untuk bekerja secara lancar tanpa perubahan kode aplikasi. Ini harus rute semua prosedur yang tersimpan panggilan untuk menargetkan basis data sehingga mereka tidak perlu bermigrasi.
Produk Database Caching
  • CSQL Cache ­ Untuk Cache tabel dari MySQL, Postgres dan Oracle.
  • Memcached ­ Untuk hasil Cache set query
  • AppFabric Caching ­ Untuk hasil Cache set query
  • Windows Azure Caching ­ Untuk hasil Cache set query pada Windows Azure
  • TimesTen ­ Untuk men­cache ORACLE tabel
  • SafePeak ­ Automated caching hasil set query dan prosedur dari SQL Server, dengan penggusuran
  • Tembolok otomatis untuk kebenaran data penuh.

0 Comments


EmoticonEmoticon