Firestore dalam mode Datastore mempertahankan statistik tentang data yang disimpan untuk aplikasi, seperti berapa banyak entity yang ada dalam jenis tertentu, atau berapa banyak ruang yang digunakan oleh nilai properti dari jenis tertentu. Anda dapat melihat statistik ini di Konsol Google Cloud. Buka halaman Dasbor atau jalankan kueri GQL dalam bentuk SELECT * FROM __Stat_Kind__
dari halaman Entity.
Anda juga dapat mengakses nilai ini secara terprogram dalam aplikasi dengan membuat kueri entity bernama khusus menggunakan Datastore API. Setiap statistik dapat diakses sebagai entity yang nama jenisnya diawali dan diakhiri dengan dua garis bawah. Misalnya, setiap aplikasi memiliki tepat satu entity dari jenis __Stat_Total__
yang mewakili statistik tentang semua entity dalam mode Datastore secara total. Setiap entitas statistik memiliki properti berikut:
count
, jumlah item yang dipertimbangkan oleh statistik (bilangan bulat panjang)bytes
, ukuran total item untuk statistik ini (bilangan bulat panjang)timestamp
, waktu pembaruan statistik terbaru (nilai tanggal-waktu)
Beberapa jenis statistik juga memiliki properti tambahan, yang tercantum di bawah.
Jika sistem statistik membuat entitas statistik baru, sistem tidak langsung menghapus entitas statistik lama. Cara terbaik untuk mendapatkan tampilan statistik yang konsisten adalah dengan membuat kueri untuk entitas statistik dengan timestamp
terbaru, lalu menggunakan nilai stempel waktu tersebut sebagai filter saat mengambil entitas statistik lainnya.
Entity statistik disertakan dalam nilai statistik yang dihitung. Entitas statistik menggunakan ruang relatif terhadap jumlah jenis dan nama properti unik yang digunakan oleh aplikasi.
Sistem statistik juga akan membuat statistik khusus untuk setiap namespace. Perhatikan bahwa jika aplikasi tidak menggunakan namespace, statistik khusus namespace tidak akan dibuat. Statistik khusus namespace ditemukan dalam namespace yang spesifiknya. Nama jenis untuk statistik khusus namespace diawali dengan __Stat_Ns_
dan memiliki akhiran yang sama dengan jenis statistik di seluruh aplikasi.
Daftar statistik
Berikut adalah daftar lengkap statistik yang tersedia:
Statistik | Jenis Entity Statistik | Deskripsi |
---|---|---|
semua entitas | __Stat_Total__ Entri khusus namespace: __Stat_Ns_Total__ |
Semua entity. Properti tambahan: • entity_bytes : Penyimpanan di tabel entity yang diukur dalam byte.• builtin_index_bytes : Penyimpanan dalam entri indeks bawaan yang diukur dalam byte.• builtin_index_count : jumlah entri indeks bawaan.• composite_index_bytes : Penyimpanan dalam entri indeks komposit yang diukur dalam byte.• composite_index_count : Jumlah entri indeks komposit. |
semua entity dalam namespace | __Stat_Namespace__ Perhatikan bahwa entity __Stat_Namespace__ dibuat untuk setiap namespace yang ditemukan dan hanya ditemukan dalam namespace string kosong. |
Semua entity dalam namespace. • subject_namespace , namespace yang direpresentasikan (string)• entity_bytes : Penyimpanan di tabel entity yang diukur dalam byte.• builtin_index_bytes : Penyimpanan dalam entri indeks bawaan yang diukur dalam byte.• builtin_index_count : jumlah entri indeks bawaan.• composite_index_bytes : Penyimpanan dalam entri indeks komposit yang diukur dalam byte.• composite_index_count : Jumlah entri indeks komposit. |
semua entri dalam indeks yang ditentukan aplikasi | __Stat_Kind_CompositeIndex__ Entri khusus namespace: __Stat_Ns_Kind_CompositeIndex__ |
Entri di tabel indeks komposit; satu entity statistik untuk setiap jenis entity yang disimpan. Properti tambahan: • index_id , ID indeks.• kind_name , nama jenis yang direpresentasikan (string) |
entity sejenis | __Stat_Kind__ Entri khusus namespace: __Stat_Ns_Kind__ |
Entity sejenis; satu entity statistik untuk setiap jenis entity yang disimpan. Properti tambahan: • kind_name , nama jenis yang direpresentasikan (string)• entity_bytes : Penyimpanan di tabel entity yang diukur dalam byte.• builtin_index_bytes : Penyimpanan dalam entri indeks bawaan yang diukur dalam byte.• builtin_index_count : jumlah entri indeks bawaan.• composite_index_bytes : Penyimpanan dalam entri indeks komposit yang diukur dalam byte.• composite_index_count : Jumlah entri indeks komposit. |
root entity sejenis | __Stat_Kind_IsRootEntity__ Entri khusus namespace: __Stat_Ns_Kind_IsRootEntity__ |
Entity sejenis yang merupakan entity group root entity (tidak memiliki induk ancestor); satu entity statistik untuk setiap jenis entity yang disimpan. Properti tambahan: • kind_name , nama dari jenis yang direpresentasikan (string)• entity_bytes : Penyimpanan di tabel entity yang diukur dalam byte. |
non-root entity sejenis | __Stat_Kind_NotRootEntity__ Entri khusus namespace: __Stat_Ns_Kind_NotRootEntity__ |
Entity sejenis yang bukan merupakan root entity dari entity group (memiliki induk ancestor); satu entity statistik untuk setiap jenis entity yang disimpan. Properti tambahan: • kind_name , nama dari jenis yang direpresentasikan (string)• entity_bytes : Penyimpanan di tabel entity yang diukur dalam byte. |
properti dari suatu jenis | __Stat_PropertyType__ Entri khusus namespace: __Stat_Ns_PropertyType__ |
Properti jenis nilai di semua entity; satu entity statistik per jenis nilai. Properti tambahan: • property_type , nama jenis nilai (string)• entity_bytes : Penyimpanan di tabel entity yang diukur dalam byte.• builtin_index_bytes : Penyimpanan dalam entri indeks bawaan yang diukur dalam byte.• builtin_index_count : jumlah entri indeks bawaan. |
properti dari suatu jenis per jenis | __Stat_PropertyType_Kind__ Entri khusus namespace: __Stat_Ns_PropertyType_Kind__ |
Properti jenis nilai di seluruh entity dari jenis tertentu; satu entity statistik per kombinasi jenis dan jenis properti. Properti tambahan: • property_type , nama jenis nilai (string)• kind_name , nama jenis yang direpresentasikan (string)• entity_bytes : Penyimpanan di tabel entity yang diukur dalam byte.• builtin_index_bytes : Penyimpanan di indeks bawaan yang diukur dalam byte.• builtin_index_count : jumlah entri indeks bawaan. |
properti dengan nama | __Stat_PropertyName_Kind__ Entri khusus namespace: __Stat_Ns_PropertyName_Kind__ |
Properti dengan nama tertentu di seluruh entity dari jenis tertentu; satu entity statistik per kombinasi nama dan jenis properti yang unik. Properti tambahan: • property_name , nama properti (string)• kind_name , nama dari jenis yang direpresentasikan (string)• entity_bytes : Penyimpanan di tabel entity yang diukur dalam byte.• builtin_index_bytes : Penyimpanan dalam entri indeks bawaan yang diukur dalam byte.• builtin_index_count : jumlah entri indeks bawaan. |
properti dari suatu jenis dan dengan nama | __Stat_PropertyType_PropertyName_Kind__ Entri khusus namespace: __Stat_Ns_PropertyType_PropertyName_Kind__ |
Properti dengan nama tertentu dan jenis nilai tertentu di seluruh entity dari jenis tertentu; satu entity statistik per kombinasi nama properti, jenis nilai, dan jenis yang ada di database. Properti tambahan: • property_type , nama jenis nilai (string)• property_name , nama properti (string)• kind_name , nama jenis yang direpresentasikan (string)• entity_bytes : Penyimpanan dalam tabel entity yang diukur dalam byte.• builtin_index_bytes : Penyimpanan dalam entri indeks bawaan yang diukur dalam byte.• builtin_index_count : jumlah entri indeks bawaan. |
Beberapa statistik merujuk pada jenis nilai properti berdasarkan nama, sebagai string. Berikut adalah nama-nama tersebut:
"Blob"
"BlobKey"
"Boolean"
"Category"
"Date/Time"
"Email"
"Float"
"GeoPt"
"IM"
"Integer"
"Key"
"Link"
"NULL"
"PhoneNumber"
"PostalAddress"
"Rating"
"ShortBlob"
"String"
"Text"
"User"
Urutan penurunan entitas statistik
Aplikasi dengan ribuan namespace, jenis, atau nama properti memerlukan banyak entity statistik. Untuk mengurangi overhead penyimpanan dan pembaruan statistik, database Firestore dalam mode Datastore secara bertahap menghapus entity statistik sesuai urutan di bawah ini.
Firestore dalam mode Datastore melacak ukuran entity statistik jenis dan non-jenis secara terpisah. Ukuran entity statistik non-jenis tidak terpengaruh saat statistik jenis dihapus.
Entity statistik ringkasan __Stat_Kind_CompositeIndex__
, __Stat_PropertyType__
,
dan __Stat_Total__
tidak pernah dihapus.
Hapus urutan untuk entitas statistik jenis
Statistik entitas jenis dihapus dalam urutan berikut:
statistik per-namespace, per-jenis
__Stat_Ns_Kind__
__Stat_Ns_Kind_IsRootEntity__
__Stat_Ns_Kind_NotRootEntity__
__Stat_Ns_PropertyType_Kind__
statistik per jenis
__Stat_Kind__
__Stat_Kind_IsRootEntity__
__Stat_Kind_NotRootEntity__
__Stat_PropertyType_Kind__
Hapus urutan untuk entitas statistik non-jenis
Statistik entitas non-jenis dihapus dalam urutan berikut:
statistik per-namespace, per-jenis, dan per-properti:
__Stat_Ns_PropertyName_Kind__
__Stat_Ns_PropertyType_PropertyName_Kind__
statistik per jenis dan per properti
__Stat_PropertyName_Kind__
__Stat_PropertyType_PropertyName_Kind__
statistik per namespace
__Stat_Namespace__
__Stat_Ns_Kind_CompositeIndex__
__Stat_Ns_PropertyType__
__Stat_Ns_Total__