ORM (Object relational mapping) merupakan sebuah metode atau framework dimana setiap tabel pada database akan dipetakan menjadi kelas-kelas. Terdapat berbagai produk ORM yang populer seperti Hibernate, JPA, TopLink dan lainnya. Mengapa menggunakan ORM? Apa kita harus menggunakan ORM? Apakah lebih baik dibandingkan menggunakan Native SQL?
Kelebihan menggunakan ORM:
Kekurangan ORM:
Menurut saya, menggunakan native SQL masih lebih baik dibandingkan menggunakan ORM dalam hal performance. Lagian, seberapa besar kemungkinan kita melakukan migrasi database? Untuk penulisan query, jika menggunakan gaya ORM juga rumit, sementara untuk menghasilkan sebuah laporan kita membutuhkan query yg kompleks.
Tapi, dalam beberapa kasus, banyak aplikasi yang dibangun dengan memadukan ORM dan native SQL. ORM digunakan ketika melakukan operasi CUD sementara native SQL digunakan untuk operasi select aja.
Jadi, penggunaan ORM belum tentu lebih baik dari native SQL walaupun ORM saat ini sangat populer. Memilih ORM atau native SQL? Kembali lagi, tergantung analisa kebutuhan anda. Banyak hal yang harus dipertimbangkan jika menggunakan ORM.
Punya pendapat lain? silahkan berikan commentnya ya.. :)
Kelebihan menggunakan ORM:
- Coding lebih mudah dibaca dan dimaintain, karena ORM menerapkan gaya penulisan OOP.
- Dapat menyesuaikan format jam dan tanggal sesuai kebutuhan database. Kita tahu bahwa format jam dan tanggal di MySQL tentu berbeda dengan MSSQL atau Oracle. Dengan menggunakan ORM, mempermudah kita melakukan migrasi database.
- Dalam beberapa kasus, ORM memproses query lebih cepat dibandingkan native SQL karena ORM memiliki caching tersendiri.
- Dan lainnya.. :)
Kekurangan ORM:
- ORM membutuhkan memori yang besar. Karena setiap pemetaan akan diwakilkan oleh sebuah Objek.
- Secara umum, performance ORM sebenarnya lebih lambat dibandingkan dengan menggunakan native SQL. Hal ini semakin terasa jika ukuran database semakin besar.
- Sulit menuliskan query yang membutuhkan multiple join yang rumit.
- Karena menggunakan konsep OOP, maka database yang kita rancang juga harus menerapkan normalisasi yang baik.
- Dan lainnya juga :)
Menurut saya, menggunakan native SQL masih lebih baik dibandingkan menggunakan ORM dalam hal performance. Lagian, seberapa besar kemungkinan kita melakukan migrasi database? Untuk penulisan query, jika menggunakan gaya ORM juga rumit, sementara untuk menghasilkan sebuah laporan kita membutuhkan query yg kompleks.
Tapi, dalam beberapa kasus, banyak aplikasi yang dibangun dengan memadukan ORM dan native SQL. ORM digunakan ketika melakukan operasi CUD sementara native SQL digunakan untuk operasi select aja.
Jadi, penggunaan ORM belum tentu lebih baik dari native SQL walaupun ORM saat ini sangat populer. Memilih ORM atau native SQL? Kembali lagi, tergantung analisa kebutuhan anda. Banyak hal yang harus dipertimbangkan jika menggunakan ORM.
Punya pendapat lain? silahkan berikan commentnya ya.. :)
jos ndan
ReplyDelete