Apa itu IndexedDB?
IndexedDB adalah database lokal yang dapat digunakan di browser untuk menyimpan data secara tahan lama di sisi klien (di perangkat pengguna). IndexedDB bekerja dalam lingkungan browser dan berfungsi mirip dengan cara Anda berinteraksi dengan database MySQL.
Perbedaan dengan Database MySQL
- Database vs. IndexedDB:
- Jika Anda memahami MySQL sebagai sebuah database tempat Anda menyimpan tabel dan data, maka IndexedDB juga bisa dipandang sebagai database, tetapi berada di perangkat pengguna (di browser).
- Table dan Objek Penyimpanan:
- Di MySQL, Anda memiliki tabel untuk menyimpan data. Dalam IndexedDB, Anda memiliki objek penyimpanan (store) yang mirip dengan tabel. Setiap objek penyimpanan dapat berisi data terkait.
- Struktur Data:
- Seperti dalam MySQL, Anda dapat mendefinisikan skema data dalam objek penyimpanan IndexedDB. Ini mirip dengan mendefinisikan struktur tabel dan tipe data kolom dalam MySQL.
- Operasi CRUD:
- Seperti dalam MySQL, Anda dapat melakukan operasi CRUD (Create, Read, Update, Delete) pada data di IndexedDB.
- Misalnya, untuk menambahkan data ke objek penyimpanan (mirip dengan INSERT di MySQL), Anda dapat menggunakan metode
add
pada IndexedDB.
- Kunci Data:
- Mirip dengan MySQL yang menggunakan kunci utama untuk mengidentifikasi baris dalam tabel, IndexedDB juga menggunakan kunci untuk mengidentifikasi data dalam objek penyimpanan. Data dalam IndexedDB disimpan dalam pasangan kunci-nilai.
- Indeks:
- IndexedDB juga mendukung indeks, yang mirip dengan indeks di MySQL. Indeks memungkinkan Anda untuk melakukan pencarian atau pengurutan data lebih efisien.
- Transaksi:
- Saat Anda ingin melakukan operasi pada data, Anda harus membuka transaksi di IndexedDB. Ini mirip dengan melakukan transaksi dalam MySQL, di mana Anda melakukan beberapa perubahan dalam satu “transaksi” yang sama.
- Versi Database:
- IndexedDB memiliki konsep versi database, mirip dengan versi skema database di MySQL. Anda dapat mengelola versi database saat Anda melakukan perubahan pada struktur data.
- Event dan Callback:
- Seperti dalam MySQL, Anda perlu mengatur event dan callback dalam IndexedDB. Ini termasuk menangani peristiwa seperti pembuatan atau perubahan data.
- Keamanan:
- IndexedDB berjalan di browser dan terkait dengan halaman web tertentu. Ini memberikan tingkat keamanan untuk data klien. Sama seperti data di MySQL dikelola oleh server, data di IndexedDB dikelola oleh browser.
Baca juga: Panduan IndexedDB CRUD
Namun, perlu dicatat bahwa meskipun ada beberapa kesamaan dalam konsep dan operasi, IndexedDB dan MySQL adalah teknologi yang berbeda dengan lingkungan yang berbeda pula. IndexedDB lebih fokus pada penyimpanan data lokal di browser, sementara MySQL digunakan untuk menyimpan data di server database.