Panduan untuk desain tabel
Mendesain tabel untuk digunakan dengan layanan tabel penyimpanan Azure sangat berbeda dari pertimbangan desain untuk database relasional. Artikel ini menjelaskan panduan untuk mendesain solusi layanan Tabel Anda agar dapat dibaca secara efisien dan menulis secara efisien.
Desain solusi layanan Tabel Anda agar dibaca secara efisien
- Desain untuk membuat kueri di aplikasi baca-berat. Saat Anda mendesain tabel, pikirkan tentang kueri (terutama yang sensitif latensi) yang akan Anda jalankan sebelum memikirkan tentang cara Anda akan memperbarui entitas Anda. Ini biasanya menghasilkan solusi yang efisien dan berkinerja.
- Tentukan PartitionKey dan RowKey dalam kueri Anda. Kueri titik seperti ini adalah kueri layanan tabel yang paling efisien.
- Pertimbangan untuk menyimpan duplikat salinan entitas. Penyimpanan Tabel itu murah, jadi pertimbangkan untuk menyimpan entitas yang sama beberapa kali (dengan kunci berbeda) untuk mengaktifkan kueri yang lebih efisien.
- Pertimbangan untuk mendenormalisasi data Anda. Penyimpanan tabel itu murah, jadi pertimbangkan untuk mendenormalisasi data Anda. Misalnya, simpan entitas ringkasan sehingga kueri untuk data agregat hanya perlu mengakses satu entitas.
- Gunakan nilai kunci gabungan. Satu-satunya kunci yang Anda miliki adalah PartitionKey dan RowKey. Misalnya, gunakan nilai kunci gabungan untuk mengaktifkan jalur akses kunci alternatif ke entitas.
- Gunakan proyeksi kueri. Anda dapat mengurangi jumlah data yang ditransfer melalui jaringan dengan menggunakan kueri yang hanya memilih bidang yang Anda perlukan.
Desain solusi layanan Tabel Anda agar ditulis secara efisien
- Jangan membuat partisi panas. Pilih kunci yang memungkinkan Anda menyebarkan permintaan Anda ke beberapa partisi kapan saja.
- Hindari lonjakan lalu lintas. Perlancar lalu lintas selama jangka waktu yang wajar dan menghindari lonjakan lalu lintas.
- Jangan buat tabel terpisah untuk setiap jenis entitas. Saat Anda memerlukan transaksi atomik di seluruh jenis entitas, Anda bisa menyimpan beberapa jenis entitas ini di partisi yang sama dalam tabel yang sama.
- Pertimbangkan throughput maksimum yang harus Anda capai. Anda harus menyadari target skalabilitas untuk layanan Tabel dan memastikan bahwa desain Anda tidak akan menyebabkan Anda melampauinya.
Saat Anda membaca panduan ini, Anda akan melihat contoh-contoh yang mempraktikkan semua prinsip ini.