Go 1.11 telah mencapai akhir dukungan
dan akan
dihentikan penggunaannya
pada 31 Januari 2026. Setelah penghentian penggunaan, Anda tidak akan dapat men-deploy aplikasi Go 1.11, meskipun organisasi Anda sebelumnya menggunakan kebijakan organisasi untuk mengaktifkan kembali deployment runtime lama. Aplikasi Go 1.11 yang ada akan terus berjalan dan menerima traffic setelah
tanggal penghentiannya. Sebaiknya Anda
bermigrasi ke Go versi terbaru yang didukung.
Ringkasan Datastore
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Firestore dalam mode Datastore (Datastore) adalah database dokumen NoSQL yang dibuat untuk penskalaan otomatis, performa tinggi, dan kemudahan pengembangan aplikasi. Fitur Datastore meliputi:
- Transaksi atom. Datastore dapat menjalankan serangkaian operasi yang semua operasi akan berhasil, atau tidak akan ada operasi yang terjadi.
- Ketersediaan baca dan tulis yang tinggi. Datastore berjalan di pusat data Google, yang menggunakan redundansi untuk meminimalkan dampak dari titik kegagalan.
- Skalabilitas besar dengan performa tinggi. Datastore menggunakan arsitektur terdistribusi untuk mengelola penskalaan secara otomatis. Datastore menggunakan campuran indeks dan batasan kueri sehingga kueri Anda dapat diskalakan sesuai dengan ukuran set hasil, bukan ukuran set data.
- Penyimpanan dan pembuatan kueri data yang fleksibel. Datastore dipetakan secara alami ke bahasa berorientasi objek dan skrip, serta diekspos ke aplikasi melalui beberapa klien. Datastore juga menyediakan bahasa kueri seperti SQL.
- Konsistensi kuat. Datastore memastikan bahwa semua kueri sangat konsisten.
- Enkripsi dalam penyimpanan. Datastore secara otomatis mengenkripsi semua data sebelum ditulis ke disk dan secara otomatis mendekripsi data tersebut saat dibaca oleh pengguna yang diotorisasi. Untuk 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 Datastore saat layanan menerima upgrade terencana.
Perbandingan dengan database relasional
Meskipun antarmuka Datastore memiliki banyak fitur yang sama
seperti database relasional, sebagai database NoSQL, antarmuka ini bervariasi dalam cara
menjelaskan 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. Karakteristik unik ini menyiratkan cara yang berbeda dalam merancang dan mengelola data untuk memanfaatkan kemampuan penskalaan secara otomatis. Secara khusus,
Datastore berbeda dari database relasional tradisional dalam
hal penting berikut:
- Datastore dirancang untuk menskalakan set data yang sangat besar secara otomatis, sehingga performa aplikasi tetap tinggi saat traffic meningkat:
- Datastore menulis skala dengan mendistribusikan data secara otomatis sesuai kebutuhan.
- Datastore membaca skala karena satu-satunya kueri yang didukung adalah kueri yang performanya diskalakan dengan ukuran set hasil (bukan set data). Artinya, kueri yang set hasilnya berisi 100 entity memiliki performa yang sama, baik menelusuri lebih dari seratus entity maupun satu juta entity. Properti ini adalah alasan utama beberapa jenis kueri tidak didukung.
- Karena semua kueri dilayani oleh indeks yang dibuat sebelumnya, jenis kueri yang dapat dieksekusi 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.
- 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).
Efektif untuk
Datastore sangat ideal untuk aplikasi yang mengandalkan data terstruktur yang sangat tersedia dalam skala besar. Anda dapat menggunakan Datastore untuk menyimpan dan membuat kueri semua jenis data berikut:
- Katalog produk yang menyediakan inventaris real-time dan detail produk untuk retailer.
- Profil pengguna yang menghadirkan pengalaman kustom berdasarkan aktivitas dan preferensi pengguna di masa lalu.
- Transaksi berdasarkan properti ACID. Misalnya, mentransfer dana dari satu rekening bank ke rekening bank lain.
Opsi penyimpanan dan database lainnya
Datastore tidak ideal untuk setiap kasus penggunaan. Misalnya, Datastore bukanlah database relasional dan bukan solusi yang efektif untuk data analisis.
Berikut adalah beberapa skenario umum yang mungkin perlu dipertimbangkan sebagai alternatif untuk Datastore:
- 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 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
.
Anda tidak dapat menggunakan library klien
Cloud Datastore dengan aplikasi Go di lingkungan standar
App Engine.
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-19 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-19 UTC."],[[["\u003cp\u003eFirestore in Datastore mode (Datastore) is a NoSQL document database designed for automatic scaling, high performance, and easy application development.\u003c/p\u003e\n"],["\u003cp\u003eDatastore offers features like atomic transactions, high availability, massive scalability, flexible data storage and querying, strong consistency, encryption at rest, and is fully managed with no planned downtime.\u003c/p\u003e\n"],["\u003cp\u003eUnlike relational databases, Datastore is schemaless and designed to automatically scale to very large datasets, supporting only queries that scale with the result set size.\u003c/p\u003e\n"],["\u003cp\u003eDatastore is ideal for applications requiring highly available structured data at scale, such as product catalogs, user profiles, and ACID transactions.\u003c/p\u003e\n"],["\u003cp\u003eAlternative database options to Datastore are recommended for relational databases with full SQL support, non-structured data, interactive querying, or large immutable blobs such as images or movies.\u003c/p\u003e\n"]]],[],null,["# Datastore Overview\n\n| This API is supported for first-generation runtimes and can be used when [upgrading to corresponding second-generation runtimes](/appengine/docs/standard/\n| go\n| /services/access). If you are updating to the App Engine Go 1.12+ runtime, refer to the [migration guide](/appengine/migration-center/standard/migrate-to-second-gen/go-differences) to learn about your migration options for legacy bundled services.\n\n\u003cbr /\u003e\n\nFirestore in Datastore mode (Datastore) is a NoSQL document database built for automatic scaling, high performance,\nand ease of application development. Datastore features include:\n\n- **Atomic transactions**. Datastore can execute a set of operations where either all succeed, or none occur.\n- **High availability of reads and writes**. Datastore runs in Google data centers, which use redundancy to minimize impact from points of failure.\n- **Massive scalability with high performance**. Datastore uses a distributed architecture to automatically manage scaling. Datastore uses a mix of indexes and query constraints so your queries scale with the size of your result set, not the size of your dataset.\n- **Flexible storage and querying of data** . Datastore maps naturally to object-oriented and scripting languages, and is exposed to applications through multiple clients. It also provides a SQL-like [query language](/datastore/docs/apis/gql/gql_reference).\n- **Strong consistency**. Datastore ensures that all queries are strongly consistent.\n- **Encryption at rest** . Datastore automatically encrypts all data before it is written to disk and automatically decrypts the data when read by an authorized user. For more information, see [Server-Side Encryption](/datastore/docs/concepts/encryption-at-rest).\n- **Fully managed with no planned downtime**. Google handles the administration of the service so you can focus on your application. Your application can still use Datastore when the service receives a planned upgrade.\n\nComparison with relational databases\n------------------------------------\n\nWhile the Datastore interface has many of the same features\nsimilar to relational databases, as a NoSQL database, it varies in how it\ndescribes the relationships between data objects. Here's a high-level comparison\nof Datastore and relational database concepts:\n\nUnlike rows in a relational database table, Datastore entities of\nthe same kind can have different properties, and different entities can have\nproperties with the same name but different value types. These unique\ncharacteristics imply a different way of designing and managing data to take\nadvantage of the ability to scale automatically. In particular,\nDatastore differs from a traditional relational database in the\nfollowing important ways:\n\n- Datastore is designed to automatically scale to very large data sets, allowing applications to maintain high performance as they receive more traffic:\n - Datastore writes scale by automatically distributing data as necessary.\n - Datastore reads scale because the only queries supported are those whose performance scales with the size of the result set (as opposed to the data set). This means that a query whose result set contains 100 entities performs the same whether it searches over a hundred entities or a million. This property is the key reason some types of queries are not supported.\n- Because all queries are served by previously built indexes, the types of queries that can be executed are more restrictive than those allowed on a relational database with SQL. In particular, Datastore does not include support for join operations, inequality filtering on multiple properties, or filtering on data based on results of a subquery.\n- Unlike relational databases which enforce a schema, Datastore is schemaless. It doesn't require entities of the same kind to have a consistent set of properties (although you can choose to enforce such a requirement in your own application code).\n\nWhat it's good for\n------------------\n\nDatastore is ideal for applications that rely on highly available structured data at scale. You can use Datastore to store and query all of the following types of data:\n\n- Product catalogs that provide real-time inventory and product details for a retailer.\n- User profiles that deliver a customized experience based on the user's past activities and preferences.\n- Transactions based on [ACID](https://en.wikipedia.org/wiki/ACID) properties. For example, transferring funds from one bank account to another.\n\nOther storage and database options\n----------------------------------\n\nDatastore is not ideal for every use case. For example, Datastore is not a relational database, and it is not an effective solution for analytic data.\n\nHere are some common scenarios where you should probably consider an alternative to Datastore:\n\n- If you need a relational database with full SQL support for an online transaction processing (OLTP) system, consider [Cloud SQL](/sql).\n- If you don't require support for ACID transactions or if your data is not highly structured, consider [Bigtable](/bigtable).\n- If you need interactive querying in an online analytical processing (OLAP) system, consider [BigQuery](/bigquery).\n- If you need to store large immutable blobs, such as large images or movies, consider [Cloud Storage](/storage).\n\n\nFor more information about other database options, see the [overview\nof database services](/products/databases).\n\nWhat's next\n-----------\n\n- [Learn how to store and query data using the Google Cloud console](/datastore/docs/store-query-data)\n- [Learn about the Datastore data model](/datastore/docs/concepts/entities)\n- [View best practices for Datastore](/datastore/docs/best-practices)\n\nConnecting to Datastore with App Engine\n---------------------------------------\n\nApp Engine's Go standard runtime connects to Datastore using the [Go\nDatastore API](/appengine/docs/legacy/standard/go111/datastore/api-overview). For a complete list of the contents of the\n`datastore` package, see the [`datastore` package reference](/appengine/docs/legacy/standard/go111/reference/latest/datastore).\n\nYou cannot use the [Cloud\nDatastore client library](/datastore/docs/reference/libraries#client-libraries-install-go) with Go applications in the App Engine standard\nenvironment."]]