Membuat dan mengedit tabel elastis
Tabel elastis adalah tabel yang dikelola oleh Microsoft Dataverse. Tabel elastis hadir dengan pengalaman pengguna dan API yang sama akrabnya dengan yang ditawarkan dengan tabel standar. Mereka berbagi banyak aspek dan opsi dengan tabel standar, tetapi dilengkapi dengan fitur dan kemampuan unik mereka sendiri yang didukung oleh Azure Cosmos DB.
Seperti tabel standar, tabel elastis disertakan dengan penggunaan kapasitas database Anda Dataverse .
Tonton video ini untuk mempelajari tentang tabel elastis.
Kapan mempertimbangkan Dataverse tabel elastis?
Tabel elastis dirancang untuk menangani data dalam volume besar secara real-time. Dengan tabel elastis, Anda dapat mengimpor, menyimpan, dan menganalisis data dalam volume besar tanpa masalah skalabilitas, latensi, atau performa.
Tabel elastis memiliki kemampuan unik untuk skema fleksibel, penskalaan horizontal, dan penghapusan data otomatis setelah periode waktu tertentu.
Tabel elastis secara otomatis diskalakan untuk menyerap puluhan juta baris setiap jam. Proses latar belakang dapat menyusun sinyal IoT, memprediksi persyaratan pemeliharaan, dan menjadwalkan teknisi secara proaktif.
Pertimbangkan skenario di mana Contoso adalah pengecer dengan jutaan pelanggan yang ada. Contoso memiliki database pelanggan yang besar dan ingin meningkatkan penjualan sambil mempertahankan pelanggan. Berdasarkan riwayat pelanggan sebelumnya, mereka ingin mengadakan acara flash sale 24 jam dengan kupon berbeda yang menargetkan pelanggan dan produk mereka. Mereka memperkirakan bahwa jumlah kupon yang dibutuhkan akan menjadi 100 juta plus per kampanye flash sale. Pemasaran berencana untuk menjalankan beberapa kampanye 24 jam yang menargetkan segmen pelanggan yang berbeda.
Persyaratan untuk aplikasi pemasaran Contoso adalah bahwa ia harus dapat menelan hingga 100 juta atau lebih detail kupon dalam beberapa jam, membaca jutaan kupon per jam, dan mengirim kupon ke pelanggan.
Tabel elastis akan secara otomatis diskalakan untuk skenario throughput tinggi ini.
Misalnya, dalam skenario di atas, tabel elastis bernama Kupon dengan jutaan rekaman dapat dikaitkan dengan Dataverse tabel standar seperti Kontak (info pelanggan) dan Penawaran (tabel standar kustom). Karena tabel elastis diisolasi dari tabel standar, performa untuk aplikasi pemasaran secara keseluruhan tidak akan terpengaruh secara negatif. Selain itu, kemampuan time-to-live dengan tabel elastis (Kupon dalam skenario ini) memungkinkan penghapusan data secara otomatis setelah periode tetap dan memastikan optimalisasi kapasitas penyimpanan.
Gunakan tabel elastis saat:
- Data Anda mungkin tidak terstruktur atau semi-terstruktur, atau jika model data Anda mungkin terus berubah.
- Anda memerlukan penskalaan horizontal otomatis.
- Anda perlu menangani volume permintaan baca dan tulis yang tinggi.
Gunakan tabel standar saat:
- Aplikasi Anda membutuhkan konsistensi yang kuat.
- Aplikasi Anda memerlukan pemodelan relasional dan membutuhkan kemampuan transaksional di seluruh tabel dan selama tahap eksekusi plugin.
- Aplikasi Anda memerlukan gabungan yang kompleks.
Pilihan tabel harus didasarkan pada kebutuhan spesifik aplikasi Anda. Kombinasi kedua jenis tabel mungkin sesuai.
Penskalaan dan performa horizontal
Seiring pertumbuhan data bisnis Anda, tabel elastis memberikan skalabilitas otomatis tak terbatas berdasarkan beban kerja aplikasi Anda, baik untuk ukuran penyimpanan maupun throughput, seperti jumlah rekaman yang dibuat, diperbarui, atau dihapus dalam jangka waktu tertentu.
Jika skenario bisnis Anda memerlukan volume penulisan data yang sangat besar, pembuat aplikasi dapat menggunakan Dataverse beberapa API permintaan, seperti CreateMultiple
, UpdateMultiple
, dan DeleteMultiple
, untuk mencapai lebih banyak throughput dalam Dataverse batas pembatasan. Informasi selengkapnya: Panduan pengembang: Pesan Operasi Massal dan Mengoptimalkan performa untuk operasi massal
Penghapusan data secara otomatis
Kebijakan Time to Live (TTL) memastikan bahwa Anda selalu bekerja dengan informasi terbaru dan akurat, sekaligus mengoptimalkan sumber daya dan mengurangi risiko. Nilai langsung TTL diatur dalam detik pada rekaman, dan ditafsirkan sebagai delta sejak rekaman terakhir diubah.
Skema fleksibel dengan kolom JSON
Tabel elastis memungkinkan Anda menyimpan dan mengkueri data dengan berbagai struktur, tanpa memerlukan skema atau migrasi yang telah ditentukan sebelumnya. Tidak perlu menulis kode kustom untuk memetakan data yang diimpor ke dalam skema tetap. Informasi selengkapnya: Panduan pengembang: Mengkueri kolom JSON dalam tabel elastis Tabel elastis memungkinkan Anda menyimpan dan mengkueri data dengan berbagai struktur, tanpa memerlukan skema atau migrasi yang telah ditentukan sebelumnya. Tidak perlu menulis kode kustom untuk memetakan data yang diimpor ke dalam skema tetap. Informasi selengkapnya: Panduan pengembang: Mengkueri kolom JSON dalam tabel elastis
Pertimbangan saat Anda menggunakan tabel elastis
Meskipun tabel elastis sangat bagus untuk menangani volume permintaan yang besar dalam skala besar, keuntungannya datang dengan beberapa trade-off, yang harus diingat:
- Tabel elastis tidak mendukung transaksi multi-rekaman. Ini berarti bahwa beberapa operasi tulis yang terjadi sebagai bagian dari eksekusi permintaan tunggal tidak transaksional satu sama lain. Misalnya, jika Anda memiliki langkah plug-in sinkron yang terdaftar di
PostOperation
panggung untukCreate message
tabel elastis, kesalahan apa pun dalam plug-in Anda tidak akan mengembalikan rekaman Dataverse yang dibuat. Validasi dalam preplug-in akan tetap berfungsi seperti yang diharapkan karena berjalan sebelum tahap utama. - Tabel elastis mendukung konsistensi yang kuat hanya dalam sesi logis. Di luar konteks sesi, Anda mungkin tidak langsung melihat perubahan pada baris. Informasi selengkapnya: Panduan pengembang: Tingkat konsistensi
- Tabel elastis tidak mendukung filter pada tabel terkait saat membuat tampilan, pencarian tingkat lanjut, atau kueri apa pun secara umum menggunakan API. Jika Anda sering perlu memfilter kolom tabel terkait, sebaiknya denormalisasi kolom dari tabel terkait, yang perlu difilter ke tabel utama itu sendiri. Pertimbangkan pengecer dengan dua tabel elastis: pelanggan dan alamat. Satu pelanggan memiliki banyak alamat. Anda ingin mengembalikan hasil kueri untuk semua pelanggan dari tabel pelanggan yang nilai kotanya dalam tabel alamat adalah New York. Dalam contoh ini, saat mengkueri tabel pelanggan, Anda ingin menerapkan filter pada kolom kota dari tabel alamat terkait. Ini tidak didukung untuk tabel elastis. Salah satu cara untuk membuat ini berfungsi adalah dengan mendenormalisasi kolom kota ke dalam tabel Pelanggan sehingga semua nilai kota pelanggan ada di tabel pelanggan itu sendiri.
Dukungan fitur tabel elastis
- Operasi buat, ambil, perbarui, hapus (CRUD) termasuk beberapa operasi API (untuk throughput tinggi), penghapusan massal, dan permintaan dari plug-in.
- Relasi:
- Satu ke Banyak
- Banyak-ke-satu ketika tabel N adalah tabel standar
- Catat kepemilikan, pelacakan perubahan, audit, mobile offline, dan Dataverse penelusuran.
- Kolom file dengan atribut tipe file
Dukungan fitur keamanan
Tabel elastis mematuhi Dataverse model keamanan.
Saat membuat tabel elastis, Anda dapat mengatur:
- Dimiliki pengguna atau organisasi
- Keamanan tingkat bidang
Fitur yang saat ini tidak didukung dengan tabel elastis
Fitur tabel saat ini tidak didukung dengan tabel elastis:
- Aturan bisnis
- Bagan
- Alur proses bisnis
- Satu Dataverse konektor untuk Power BI
- Banyak-ke-banyak (N:N) Relasi ke tabel standar
- Kunci alternatif
- Deteksi duplikat
- Kolom Hitung dan Rollup
- Kolom mata uang
- Perbandingan kolom dalam kueri
- Berbagi tabel
- Indeks komposit
- Operasi bertingkat: Hapus, Induk Ulang, Tetapkan, Bagikan, Batalkan berbagi
- Mengurutkan pada kolom pencarian
- Kueri agregat:
- Nilai berbeda dari
attribute1
while orderby padaattribute2
nilai - Penomoran halaman saat memiliki beberapa perbedaan
- Berbeda dengan beberapa urutan oleh
- Pesan berdasarkan dan kelompokkan berdasarkan bersama-sama
- Kelompokkan menurut entitas tautan (gabungan luar kiri)
- Berbeda pada tabel milik pengguna
- Nilai berbeda dari
- Koneksi tabel
- tim akses
- Antrean
- Lampiran
Tipe data kolom saat ini tidak tersedia dengan tabel elastis:
- Mata uang
- Rumus
- Format bilangan bulat selain Tidak Ada (Durasi, Kode bahasa, dan Zona waktu)
- Pencarian berdasarkan opsi Pelanggan
Membuat tabel elastis
Anda membuat tabel elastis seperti tabel baru lainnya Dataverse.
- Power Apps masuk, dan pilih Tabel di panel navigasi kiri. Jika item tidak ada di panel pada panel sisi, pilih …Lainnya, lalu pilih item yang diinginkan.
- Pilih Tabel > baru Atur properti tingkat lanjut pada bilah perintah.
- Di panel properti kanan, masukkan a nama tampilan dan nama Jamak.
- Perluas Opsi tingkat lanjut, lalu pilih Elastis sebagai Jenis tabel.
- Pilih properti yang Anda inginkan, lalu pilih Simpan.
Kolom waktu hidup secara otomatis dibuat untuk tabel elastis. Anda dapat menambahkan nilai periode waktu dalam hitungan detik, sesuai kebutuhan. Data dihapus secara otomatis setelah jangka waktu yang ditentukan.
Informasi selengkapnya tentang Tabel: Opsi lanjutan
Masalah yang diketahui
- Saat time to live (TTL) digunakan pada baris, baris akan dihapus dari tabel elastis saat TTL berakhir. Jika disinkronkan ke data lake menggunakan Azure Synapse Link for Dataverse sebelum TTL berakhir, data lake tidak akan dihapus dari data lake.
- Pemulihan titik waktu tidak memulihkan rekaman "diperbarui" karena pembaruan tidak dicadangkan. Hanya rekaman yang dibuat dan dihapus yang dipulihkan.
- Jika kolom tertentu dalam tabel elastis dihapus, nilai kolom tidak dihapus dari baris tabel jika memiliki data. Sebelum menghapus kolom tertentu, hapus data dari semua baris untuk kolom tersebut.
Tabel elastis volume tinggi dan mengelola Dataverse batas pembatasan API
Gunakan pesan operasi massal. Ini memungkinkan Anda mencapai 10 kali throughput dengan batas pembatasan API yang sama Dataverse . Pengembang dapat mereferensikan lebih banyak tautan yang disediakan di bagian di bawah ini.
Untuk pengembang
Tabel elastis memiliki perilaku dan kemampuan yang berbeda dari tabel standar saat pengembang menggunakannya dengan Dataverse API. Artikel berikut untuk pengembang menjelaskan perbedaan ini:
- Tabel elastis
- Membuat tabel elastis menggunakan kode
- Menggunakan tabel elastis menggunakan kode
- Mengkueri kolom JSON dalam tabel elastis
- Pesan Operasi Massal (pratinjau)
- Kode sampel tabel elastis
- Kirim permintaan paralel
- Batas API perlindungan layanan