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…
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…
PDF adalah format file yang umum digunakan untuk berbagai keperluan. Salah satunya untuk kebutuhan membuat invoice, laporan perusahaan, slip gaji, dll. Buat yang sering transaksi belanja seperti di mall tentu sudah ga asing lagi dengan invoice sebagai tanda bukti transaksi. Untuk transaksi online, biasanya invoice tersebut dalam bentuk digital, yaitu menggunakan…
Database Normalization adalah proses strukturisasi data dalam rangka mengurangi Data Redundancy dan meningkatkan Data Integrity. Data Redundancy adalah pengulangan data yang sama sehingga beresiko terhadap kesalahan penginputan. Data Integrity adalah data yang mudah dimaintain, akurat, dan konsisten. Kali ini kita akan mencoba melakukan normalisasi data dari yang…