Anda harus memilih mekanisme penyimpanan yang tepat, baik untuk penyimpanan perangkat lokal maupun untuk penyimpanan server berbasis cloud. Mesin penyimpanan yang baik memastikan informasi Anda disimpan dengan andal, mengurangi bandwidth, dan meningkatkan responsivitas. Strategi penyimpanan cache yang tepat adalah elemen penyusun inti untuk mengaktifkan pengalaman web seluler offline.
Artikel ini memberikan dasar singkat untuk mengevaluasi API dan layanan penyimpanan, setelah itu kami akan memberikan tabel perbandingan dan beberapa panduan umum. Dalam waktu dekat, kami berencana menambahkan referensi untuk memahami topik penyimpanan yang dipilih secara lebih mendalam.
Taksonomi Penyimpanan
Mari kita mulai dengan memahami beberapa dimensi yang dapat digunakan untuk menganalisis penyimpanan data untuk aplikasi web. Kemudian, kita akan menggunakan framework ini untuk menghitung dan mengevaluasi banyak opsi penyimpanan yang tersedia bagi developer web.
Model Data
Model untuk menyimpan unit data menentukan cara data diatur secara internal, yang memengaruhi kemudahan penggunaan, biaya, dan performa permintaan penyimpanan dan pengambilan.
Terstruktur: Data yang disimpan dalam tabel dengan kolom yang telah ditentukan sebelumnya, seperti yang biasa dilakukan oleh sistem pengelolaan database berbasis SQL, sangat cocok untuk kueri yang fleksibel dan dinamis, dengan rentang lengkap jenis kueri yang mungkin tidak diketahui sebelumnya. Contoh utama datastore terstruktur di browser adalah IndexedDB.
Nilai Kunci: Datastore Nilai Kunci, dan database NoSQL terkait, menawarkan kemampuan untuk menyimpan dan mengambil data tidak terstruktur yang diindeks oleh kunci unik. Datastore Key/Value mirip dengan tabel hash karena memungkinkan akses waktu konstan ke data buram yang diindeks. Contoh datastore nilai kunci yang terkenal adalah Cache API di browser dan Apache Cassandra di server.
Byte Stream: Model sederhana ini menyimpan data sebagai string byte buram dengan panjang variabel, sehingga meninggalkan semua bentuk organisasi internal ke lapisan aplikasi. Model ini sangat cocok untuk sistem file dan blob data lain yang diatur secara hierarkis. Contoh datastore byte stream yang terkenal mencakup sistem file dan layanan penyimpanan cloud.
Persistensi
Metode penyimpanan untuk aplikasi web dapat dianalisis sesuai dengan cakupan tempat data dibuat persisten.
Persistensi Sesi: Data dalam kategori ini hanya dipertahankan selama satu sesi web atau tab browser tetap aktif. Contoh mekanisme penyimpanan dengan persistensi sesi adalah Session Storage API.
Persistensi Perangkat: Data dalam kategori ini dipertahankan di seluruh sesi dan tab/jendela browser, dalam perangkat tertentu. Contoh mekanisme penyimpanan dengan persistensi perangkat adalah Cache API.
Persistensi Global: Data dalam kategori ini dipertahankan di seluruh sesi dan perangkat. Dengan demikian, ini adalah bentuk persistensi data yang paling andal. Contoh mekanisme penyimpanan dengan persistensi global adalah Google Cloud Storage.
Dukungan Browser
Developer harus memilih API yang paling sesuai dengan domain masalah mereka; tetapi, mereka juga harus mempertimbangkan fakta bahwa API standar dan yang sudah mapan lebih disukai daripada antarmuka kustom atau eksklusif, karena API tersebut cenderung lebih lama dan lebih didukung secara luas. Mereka juga dapat menikmati pusat informasi yang lebih luas dan ekosistem developer yang lebih kaya.
Transaksi
Sering kali, kumpulan operasi penyimpanan terkait harus berhasil atau gagal secara atomik. Sistem pengelolaan database secara tradisional mendukung fitur ini menggunakan model transaksi, tempat pembaruan terkait dapat dikelompokkan ke dalam unit arbitrer. Meskipun tidak selalu diperlukan, ini adalah fitur yang praktis, dan terkadang penting, di beberapa domain masalah.
Sinkron/Asinkron
Beberapa API penyimpanan bersifat sinkron dalam arti bahwa permintaan penyimpanan atau pengambilan memblokir thread yang saat ini aktif hingga permintaan selesai. Hal ini sangat berat di browser web, tempat permintaan penyimpanan berbagi thread utama dengan UI. Untuk alasan efisiensi dan performa, API penyimpanan asinkron lebih disarankan.
Men-debug penyimpanan di Chrome DevTools
Lihat dokumen berikut untuk mempelajari lebih lanjut cara menggunakan Chrome DevTools untuk memeriksa dan men-debug API penyimpanan web pilihan Anda. API yang tidak disebutkan di sini tidak didukung di DevTools atau tidak berlaku.
Jika Anda menggunakan beberapa storage API, lihat fitur Hapus Penyimpanan di DevTools. Fitur ini memungkinkan Anda menghapus beberapa toko dengan sekali klik tombol. Lihat Menghapus pekerja layanan, penyimpanan, database, dan cache untuk mengetahui informasi selengkapnya.
Langkah berikutnya…
Setelah meninjau beberapa cara yang relevan untuk memikirkan mekanisme penyimpanan dan membandingkan API dan layanan paling populer yang tersedia saat ini, kami akan segera menambahkan lebih banyak konten untuk mempelajari lebih dalam satu atau beberapa topik yang menarik: