Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Fluid Framework memberi pengembang struktur data terdistribusi (DDSes) yang secara otomatis memastikan bahwa setiap klien yang terhubung memiliki akses ke status yang sama. API yang disediakan oleh DDSes dirancang agar terbiasa dengan pemrogram yang telah menggunakan struktur data umum sebelumnya.
Nota
Artikel ini mengasumsikan bahwa Anda terbiasa dengan Memperkenalkan struktur data terdistribusi di fluidframework.com.
Struktur data terdistribusi berulah seperti struktur data lokal. Kode Anda dapat menambahkan data ke dalamnya, menghapus data, memperbaruinya, dll. Namun, DDS bukan objek lokal. DDS juga dapat diubah oleh klien lain yang mengekspos kontainer induk DDS yang sama. Karena pengguna dapat secara bersamaan mengubah DDS yang sama, Anda perlu mempertimbangkan DDS mana yang akan digunakan untuk memodelkan data Anda.
Nota
Arti dari 'secara bersamaan'
Dua klien atau lebih dikatakan melakukan perubahan secara bersamaan jika mereka masing-masing membuat perubahan sebelum mereka menerima perubahan yang lain dari server.
Memilih struktur data yang benar untuk skenario Anda dapat meningkatkan performa dan struktur kode aplikasi Anda.
DDSes bervariasi satu sama lain dengan tiga karakteristik:
- Struktur data dasar: Misalnya, pasangan kunci-nilai, urutan, atau antrean.
- Otonomi klien: DDS optimis memungkinkan klien mana pun untuk mengubah nilai secara sepihak dan nilai baru disampaikan ke semua klien lain. Tetapi DDS konsensus hanya memungkinkan perubahan jika diterima oleh klien lain melalui proses konsensus.
- Kebijakan penggabungan: Kebijakan yang menentukan bagaimana perubahan yang bertentangan dari klien diselesaikan.
Di bawah ini kami telah menghitung struktur data dan menjelaskan kapan struktur data tersebut mungkin paling berguna.
Data kunci-nilai
DDS ini digunakan untuk menyimpan data kunci-nilai. Mereka optimis dan menggunakan kebijakan penggabungan last-writer-wins. Meskipun nilai pasangan dapat menjadi objek yang kompleks, nilai pasangan tertentu tidak dapat diedit secara langsung; seluruh nilai harus diganti dengan nilai baru yang berisi pengeditan yang diinginkan, secara keseluruhan.
- SharedMap: struktur data kunci-nilai dasar.
Skenario kunci-nilai
Struktur data kunci-nilai adalah pilihan paling umum untuk banyak skenario.
- Data preferensi pengguna.
- Status survei saat ini.
- Konfigurasi tampilan.
Masalah umum dan praktik terbaik untuk DDS nilai kunci
- Menyimpan penghitung di SharedMap dapat menyebabkan perilaku yang tidak terduga. Gunakan SharedCounter sebagai gantinya.
- Menyimpan array, daftar, atau log dalam entri kunci-nilai dapat menyebabkan perilaku tak terduga karena pengguna tidak dapat secara kolaboratif memodifikasi bagian dari satu entri. Coba simpan array atau daftar data di SharedSequence atau SharedInk.
- Menyimpan banyak data dalam satu entri nilai kunci dapat menyebabkan masalah performa atau penggabungan. Setiap pembaruan akan memperbarui seluruh nilai daripada menggabungkan dua pembaruan. Coba pisahkan data di beberapa kunci.
Urutan-urutan
DDS ini digunakan untuk menyimpan data berurutan. Mereka optimis. Struktur data urutan berguna saat Anda harus menambahkan atau menghapus data pada indeks tertentu dalam daftar atau array. Tidak seperti struktur data bernilai kunci, urutan memiliki urutan berurutan dan dapat menangani penyisipan simultan dari beberapa pengguna.
- SharedNumberSequence: urutan angka.
- SharedObjectSequence: urutan objek biasa.
Urutan skenario
- Daftar
- Garis waktu
Masalah umum dan praktik terbaik untuk urutan DDSes
- Simpan hanya data yang tidak dapat diubah sebagai item secara berurutan. Satu-satunya cara untuk mengubah nilai item adalah dengan terlebih dahulu menghapusnya dari urutan lalu menyisipkan nilai baru pada posisi di mana nilai lama berada. Tetapi karena klien lain dapat menyisipkan dan menghapus, tidak ada cara yang dapat diandalkan untuk mendapatkan nilai baru ke posisi yang diinginkan.
String
SharedString DDS digunakan untuk data teks tidak terstruktur yang dapat diedit secara kolaboratif. Ini optimis.
-
SharedString
-- struktur data untuk menangani teks kolaboratif.
Skenario string
- Editor teks
Lihat juga
Untuk mempelajari selengkapnya tentang DDSes dan cara menggunakannya, lihat bagian fluidframework.com berikut:
- Memperkenalkan struktur data terdistribusi.
- Jenis struktur data terdistribusi.