Ringkasan Datastore API

Datastore API untuk Firestore menawarkan database dokumen NoSQL yang dibuat untuk penskalaan otomatis, performa tinggi, dan kemudahan pengembangan aplikasi.

Firestore mencakup fitur berikut:

  • Transaksi atomik: menjalankan serangkaian operasi yang semuanya berhasil, atau tidak ada yang terjadi.
  • Ketersediaan tinggi untuk operasi baca dan tulis: database berjalan di pusat data Google yang menggunakan redundansi untuk meminimalkan dampak dari titik kegagalan.
  • Skalabilitas besar dengan performa tinggi: arsitektur terdistribusi secara otomatis mengelola penskalaan dan mempertahankan performa di bawah beban berat.
  • Penyimpanan dan pembuatan kueri data yang fleksibel: model data dokumen dipetakan secara alami ke bahasa berorientasi objek dan skrip, serta diekspos ke aplikasi melalui beberapa klien. API yang kompatibel dengan Datastore di Firestore juga menyediakan bahasa kueri seperti SQL.
  • Konsistensi kuat: kueri sangat konsisten.
  • Enkripsi dalam penyimpanan: data dienkripsi secara otomatis sebelum ditulis ke disk dan didekripsi secara otomatis saat dibaca oleh pengguna yang diotorisasi. Untuk mengetahui informasi selengkapnya, lihat Enkripsi Sisi Server.
  • Terkelola sepenuhnya tanpa periode nonaktif terencana: Google menangani administrasi layanan sehingga Anda dapat fokus pada aplikasi Anda. Aplikasi Anda tetap dapat menggunakan Firestore saat layanan menerima upgrade terencana.

Perbandingan dengan database relasional

Meskipun antarmuka Datastore memiliki banyak fitur yang sama dengan database relasional, sebagai database NoSQL, antarmuka ini berbeda dalam cara mendeskripsikan hubungan antar-objek data. Berikut adalah perbandingan tingkat tinggi antara konsep Datastore dan database relasional:

Konsep Datastore Firestore Database relasional
Kategori objek Jenis Grup koleksi Tabel
Satu objek Entity Dokumen Baris
Data individual untuk sebuah objek Properti Kolom Kolom
ID unik untuk objek Kunci ID dokumen Kunci utama

Tidak seperti baris dalam tabel database relasional, entity Datastore dari jenis yang sama dapat memiliki properti yang berbeda, dan entity yang berbeda dapat memiliki properti dengan nama yang sama tetapi jenis nilai yang berbeda. Anda dapat menggunakan karakteristik unik ini untuk merancang dan mengelola data agar dapat diskalakan secara otomatis.

Karena semua kueri dilayani oleh indeks yang dibuat sebelumnya, jenis kueri yang dapat dieksekusi oleh Datastore API lebih ketat daripada yang diizinkan pada database relasional dengan SQL. Secara khusus, Datastore tidak menyertakan dukungan untuk operasi join, pemfilteran ketidaksetaraan pada beberapa properti, atau pemfilteran data berdasarkan hasil subkueri. Jika aplikasi Anda memerlukan kemampuan kueri lanjutan, termasuk gabungan dan subkueri, pertimbangkan untuk menggunakan Firestore Native API atau API yang kompatibel dengan MongoDB.

Tidak seperti database relasional yang menerapkan skema, Datastore tidak memiliki skema. Datastore tidak memerlukan entity dengan jenis yang sama agar dapat memiliki kumpulan properti yang konsisten (meskipun Anda dapat memilih untuk menerapkan persyaratan tersebut dalam kode aplikasi Anda sendiri).

Opsi penyimpanan dan database lainnya

API yang kompatibel dengan Datastore di Firestore ditujukan untuk mendukung aplikasi App Engine lama. Jika Anda mencari database NoSQL berorientasi dokumen untuk aplikasi baru, sebaiknya gunakan salah satu Firestore API, bukan Datastore API, untuk memanfaatkan kemampuan yang lebih canggih. Pelajari lebih lanjut opsi Anda.

Firestore adalah database dokumen yang sangat skalabel yang mungkin tidak ideal untuk setiap kasus penggunaan. Misalnya, database ini mungkin bukan pengganti terbaik untuk database relasional. Berikut beberapa skenario umum yang mungkin membuat Anda mempertimbangkan database alternatif:

  • Jika Anda memerlukan database relasional dengan dukungan SQL penuh untuk sistem pemrosesan transaksi online (OLTP), pertimbangkan Cloud SQL.
  • Jika Anda tidak memerlukan dukungan untuk transaksi ACID atau jika data Anda tidak terlalu terstruktur, pertimbangkan Bigtable.
  • Jika Anda memerlukan kueri interaktif dalam sistem pemrosesan analisis online (OLAP), pertimbangkan BigQuery.
  • Jika Anda perlu menyimpan blob besar yang tidak dapat diubah, seperti gambar atau film berukuran besar, pertimbangkan Cloud Storage.

Untuk informasi selengkapnya tentang opsi database lainnya, lihat ringkasan layanan database.

Langkah berikutnya

Menghubungkan ke Datastore dengan App Engine

Runtime standar Go App Engine terhubung ke Datastore menggunakan Go Datastore API. Untuk daftar lengkap konten paket datastore, lihat referensi paket datastore.