Saya datang dari dunia Database Relasional lalu saya menemukan hal Datastore ini. butuh beberapa hari untuk menguasainya. nah ada beberapa temuan saya.
Anda pasti sudah tahu bahwa Datastore dibangun untuk skala dan itu adalah hal yang memisahkannya dari RDMBS. untuk skala yang lebih baik dengan dataset besar, App Engine telah melakukan beberapa perubahan (beberapa berarti banyak perubahan).
RDBMS VS
Struktur DataStore
Dalam database, kami biasanya menyusun data kami dalam Tabel, Baris yang di Datastore itu menjadi Jenis dan Entitas .
Hubungan
Dalam RDBMS, Sebagian besar orang mengikuti hubungan Satu-ke-Satu, Banyak-ke-Satu, Banyak-ke-Banyak, Di Datastore, Karena memiliki hal "Tidak Bergabung" tetapi masih dapat mencapai normalisasi dengan menggunakan " ReferenceProperty "Misalnya Contoh Hubungan Satu-ke-Satu .
Indeks
Biasanya di RDMBS kami membuat indeks seperti Primary Key, Foreign Key, Unique Key dan Index key untuk mempercepat pencarian dan meningkatkan kinerja basis data kami. Di datastore, Anda harus membuat setidaknya satu indeks per jenis (secara otomatis akan menghasilkan apakah Anda suka atau tidak) karena datastore mencari entitas Anda berdasarkan indeks ini dan percayalah itu adalah bagian terbaik, Di RDBMS Anda dapat mencari menggunakan bidang non-indeks meskipun akan memakan waktu tetapi akan. Di Datastore Anda tidak dapat mencari menggunakan properti non-indeks.
Hitung
Dalam RDMBS, jauh lebih mudah untuk menghitung (*) tetapi dalam datastore, Tolong jangan berpikir dengan cara normal (Ya ada fungsi hitung) karena memiliki 1000 Batas dan akan dikenakan biaya sebanyak operasi kecil sebagai entitas yang tidak bagus tapi kami selalu punya pilihan bagus, kami bisa menggunakan Shard Counters .
Kendala Unik
Di RDMBS, Kami menyukai fitur ini, kan? tetapi Datastore memiliki caranya sendiri. Anda tidak dapat mendefinisikan properti sebagai unik :(.
Permintaan
GAE Datatore menyediakan fitur yang lebih baik, banyak LIKE (Oh tidak! Datastore tidak memiliki kata kunci LIKE) SQL yang merupakan GQL .
Sisipan Data / Perbarui / Hapus / Pilih
Ini di mana kita semua tertarik, seperti dalam RDMBS kita memerlukan satu permintaan untuk Sisipkan, Perbarui, Hapus dan Pilih seperti RDBMS, Datastore telah meletakkan, menghapus, mendapatkan (jangan terlalu bersemangat) karena Datastore masukkan atau dapatkan dalam bentuk Tulis, Baca, Operasi Kecil ( Biaya Baca untuk Panggilan Datastore ) dan di situlah Pemodelan Data mulai berlaku. Anda harus meminimalkan operasi ini dan menjalankan aplikasi Anda. Untuk Mengurangi Operasi Baca Anda dapat menggunakan Memcache .