Memilih Struktur Data

Harap diingat, saat Anda menyusun data di Cloud Firestore, Anda memiliki beberapa pilihan berbeda:

  • Dokumen
  • Beragam koleksi
  • Subkoleksi dalam dokumen

Pertimbangkan keuntungan dari setiap pilihan karena hal tersebut berkaitan dengan kasus penggunaan Anda. Beberapa contoh struktur untuk data hierarkis diuraikan dalam panduan ini.

Data bertingkat dalam dokumen

Anda dapat membuat tingkatan pada objek-objek yang kompleks seperti array atau peta dalam dokumen.

  • Keuntungan: Jika Anda memiliki daftar data sederhana dan tetap yang ingin Anda simpan di dalam dokumen, hal ini mudah untuk disiapkan dan akan menyederhanakan struktur data Anda.
  • Batasan: Tindakan ini tidak skalabel seperti opsi lainnya, terutama jika data Anda bertambah dari waktu ke waktu. Dengan daftar yang lebih besar atau berkembang, dokumen juga tumbuh, yang dapat menyebabkan waktu pengambilan dokumen menjadi lebih lambat.
  • Apakah kasus penggunaan yang mungkin terjadi? Dalam aplikasi chat, misalnya, Anda dapat menyimpan tiga ruang chat yang baru dikunjungi oleh pengguna sebagai daftar bertingkat di profilnya.
  • alovelace
    •     nama :
            depan : "Ada"
            belakang : "Lovelace"
          lahir : 1815
          room :
            0 : "Chat Software"
            1 : "Tokoh Terkenal"
            2 : "SWE Terkenal"

Subkoleksi

Anda dapat membuat koleksi dalam dokumen jika Anda memiliki data yang mungkin bertambah dari waktu ke waktu.

  • Keuntungan: Seiring dengan perkembangan daftar Anda, ukuran dokumen induk tidak berubah. Anda juga mendapatkan kemampuan kueri penuh pada subkoleksi, dan Anda dapat menerbitkan kueri grup koleksi di seluruh subkoleksi.
  • Keterbatasan: Anda tidak dapat menghapus subkoleksi dengan mudah.
  • Apakah kasus penggunaan yang mungkin terjadi? Dalam aplikasi chat yang sama, misalnya, Anda dapat membuat koleksi pengguna atau pesan dalam dokumen ruang chat
  • sains
    • software
        nama : "chat software"
      • pengguna
        • alovelace
              depan : "Ada"
              belakang : "Lovelace"
        • sride
              depan : "Sally"
              belakang : "Ride"`


    • astrofisika
      • ...

Koleksi tingkat root

Buat koleksi pada tingkat root database Anda untuk mengatur set data yang berbeda.

  • Keuntungan: Koleksi tingkat root berguna untuk hubungan many-to-many dan memberikan pembuatan kueri yang andal dalam setiap koleksi.
  • Keterbatasan: Mendapatkan data yang hierarkis secara alami bisa menjadi semakin rumit seiring dengan perkembangan database Anda.
  • Apakah kasus penggunaan yang mungkin terjadi? Dalam aplikasi chat yang sama, misalnya, Anda dapat membuat satu koleksi untuk pengguna dan satu koleksi lain untuk chat room dan pesan.
  • pengguna
    • alovelace
          depan : "Ada"
          belakang : "Lovelace"
          lahir : 1815
    • sride
          depan : "Sally"
          belakang : "Ride"
          lahir : 1951
  • room
    • software
      • pesan
        • pesan1
              dari : "alovelace"
              isi : "..."
        • pesan2
              dari : "sride"
              isi : "..."