Jika pada tulisan Isolation pada ACID kita membahas tentang Read Phenomena, maka kali ini pembahasannya tentang Update Anomaly. Read Phenomena adalah fenomena selisih pembacaan data pada sebagian data pada suatu sesi karena ada perubahan oleh sesi lain secara bersamaan. Sedangkan Update Anomaly adalah fenomena selisih hasil perubahan data yang dilakukan pada…
Bagian terakhir dari ACID adalah Durability, yaitu artinya data yang berhasil di-commit itu akan disimpan secara permanen. Permanen disini maksudnya adalah data yang disimpan tidak akan expire dalam jangka waktu tertentu, dan datanya tidak akan hilang ketika server direstart. Ini berbeda dengan database yang bersifat in-memory seperti H2 atau database yang bisa…
Isolation adalah kemampuan database untuk menghandle transaksi yang dilakukan lebih dari satu sesi secara bersamaan. Isolation adalah bahasan paling kompleks dibanding keyword ACID lainnya. Pada beberapa bahasa pemrograman atau framework by default Isolationnya mengikuti default Isolation dari database, tapi kita juga bisa mengganti Isolationnya pada masing…
Consistency adalah akronim kedua dari ACID. Consistency adalah bahasan paling general dibanding keyword ACID lainnya. Consistency maksudnya adalah database harus memastikan data yang disimpan sesuai dengan rules yang dibuat, meliputi constraints, trigger, cascades, atau kombinasi sejenisnya. Contoh sederhananya misalkan kita memiliki data dengan rules seperti…
ACID merupakan singkatan dari Atomicity, Consistency, Isolation, dan Durability. Bahasan kali ini adalah Atomicity, yaitu memastikan transaksi pada satu sesi harus dieksekusi semuanya sekaligus atau tidak sama sekali. Ini gunanya adalah agar tidak ada data kotor yang tersisa di database ketika salah satu transaksi gagal tapi transaksi sebelumnya masih tertinggal…
Mungkin ketika kuliah kita udah sering mendengar kata index pada database. Harusnya pada saat materi database dasar ada materi tentang index. Index pada database berguna untuk mempercepat pencarian data agar database tidak perlu melakukan full scan data. Awalnya memang ga bakal terasa efeknya. Apalagi ketika jumlah data yang disimpan masih sedikit. Dampaknya baru…
Ketika mengembangkan aplikasi, melakukan kalkulasi bilangan desimal terkadang cukup tricky. Apalagi kalau berhubungan dengan duit, seperti pada aplikasi perbankan, e-commerce, dan sejenisnya. Perhitungannya tentu harus akurat sesuai aturan yang diberlakukan oleh perusahaan. Kalau tidak teliti saat develop bisa salah perhitungannya. Salah satu hal yang…
Ketika kita mengembangkan aplikasi microservice, biasanya kita akan memecah module tersebut menjadi beberapa submodule. Terkadang kita agak kesulitan memaintain dependency dari masing-masing module. Salah satunya ketika melakukan sentralisasi dependency yang digunakan agar seragam. Misalkan kita ingin menambahkan dependency Jackson-Databind. Kita ingin semua…
Pagination adalah salah satu cara membagi record yang akan kita tampilkan dalam jumlah tertentu ke dalam beberapa halaman agar proses pemuatan record lebih cepat daripada memuat keseluruhan record dalam satu halaman. Karena tentu saja akan sangat lambat kalau kita memiliki 1juta record lalu semua record tersebut kita tampilkan pada satu halaman sekaligus. Apalagi…
Pada OOP, kita menyimpan Data Store melalui sebuah class khusus untuk menyimpan sekelompok data. Mungkin masih banyak yang bingung tentang membedakan definisi-definisi data store pada OOP. Bahkan ga jarang sering kebolak-balik menggunakan terminologinya. Biar ga bingung, gw akan bahas tentang berbagai macam data store pada OOP. Seperti biasa, gw akan…