menggunakan JPA (hibernasi) VS prosedur tersimpan

Saya sedang mengerjakan proyek menggunakan ZK Framework, Hibernate, Spring dan Mysql.

Saya perlu membuat beberapa grafik dari database Mysql, tetapi setelah saya menghitung jumlah objek yang saya perlukan untuk menghitung nilai grafik tersebut, saya menemukan lebih dari 1400 objek dan jumlah kueri dan transaksi yang sama.

Jadi saya pikir jika menggunakan prosedur tersimpan di Mysql untuk menghitung nilai-nilai tersebut dan menyimpannya dalam tabel terpisah (menggunakan arsitektur yang dekat dengan Gudang Data), dan kemudian menggunakan aplikasi web saya untuk membaca nilai tabel tersebut dan menampilkannya sebagai grafik.

Saya ingin tahu dari segi kecepatan dan performa, metode mana yang lebih baik?

Dan terima kasih


person elmetni hamza    schedule 18.06.2014    source sumber


Jawaban (1)


Tidak ada cara untuk mengatakannya, sungguh, tanpa banyak detail lebih lanjut. Namun:

Apa yang ingin Anda lakukan disebut Denormalisasi. Ini adalah teknik yang diakui untuk mempercepat pelaporan dan membuatnya lebih mudah. (Jika tidak, denormalisasi Anda gagal!) Jika berhasil, ia memiliki keuntungan sebagai berikut:

  • Laporan berjalan lebih cepat
  • Kode laporan lebih mudah untuk ditulis

Di samping itu:

  • Laporan Data kedaluwarsa, hanya berisi data pada saat terakhir kali Anda melakukan penghitungan

Bentuk ekstrem untuk melakukan hal ini adalah dengan mengambil database OLTP (database standar) dan mengekspornya ke database Analisis (alias database Cube atau OLAP).

Salah satu masalah Denormalisasi adalah a) biasanya memerlukan upaya yang signifikan, b) menambahkan kode tambahan yang menambah kompleksitas sehingga meningkatkan biaya dukungan, dan c) mungkin tidak menghasilkan cukup (atau tidak ada) perbedaan. Oleh karena itu, biasanya Anda tidak melakukannya sampai Anda tahu bahwa Anda mempunyai masalah. Hal ini akan terjadi bila Anda telah menyelesaikan laporan pada database dasar dan mendapati bahwa laporan tersebut terlalu sulit untuk ditulis dan/atau dijalankan terlalu lambat. Saya sangat menyarankan bahwa hanya ketika Anda mencapai titik itu barulah Anda melakukan Denormalisasi.

Ada kalanya Anda tidak perlu melakukan itu, tapi saya hanya melihat 1 contoh seperti itu dalam lebih dari 25 tahun pengembangan; dan keputusan itu terbantu oleh keinginan untuk menggunakan database OLAP oleh Manajemen untuk tujuan politik.

person simon at rcl    schedule 18.06.2014