Bagikan melalui


Membuat kontainer dengan kunci partisi besar

BERLAKU UNTUK: NoSQL

Azure Cosmos DB menggunakan skema partisi berbasis hash untuk mencapai penskalaan horizontal data. Semua kontainer Azure Cosmos DB yang dibuat sebelum 3 Mei 2019 menggunakan fungsi hash yang menghitung hash berdasarkan 101 byte pertama kunci partisi. Jika ada beberapa tombol partisi yang memiliki 101 byte pertama yang sama, maka partisi logis tersebut dianggap sebagai partisi logis yang sama oleh layanan. Hal ini dapat menyebabkan masalah seperti kuota ukuran partisi yang salah, indeks unik yang salah diterapkan di seluruh kunci partisi, dan distribusi penyimpanan yang tidak merata. Kunci partisi besar diperkenalkan untuk menyelesaikan masalah ini. Azure Cosmos DB sekarang mendukung tombol partisi besar dengan nilai hingga 2 KB.

Kunci partisi besar didukung dengan mengaktifkan versi fungsi hash yang disempurnakan, yang dapat menghasilkan hash unik dari kunci partisi besar hingga 2 KB. Sebagai praktik terbaik, kecuali Anda memerlukan dukungan untuk Azure Cosmos DB SDK atau aplikasi yang lebih lama yang tidak mendukung fitur ini, selalu disarankan untuk mengonfigurasi kontainer Anda dengan dukungan untuk kunci partisi besar.

Membuat kunci partisi besar (portal Azure)

Kontainer yang dibuat menggunakan portal Azure menggunakan kunci partisi besar secara default.

Membuat tombol partisi besar (PowerShell)

Untuk membuat kontainer dengan dukungan tombol partisi besar lihat,

Membuat kunci partisi besar (.Net SDK)

Untuk membuat kontainer dengan kunci partisi besar menggunakan .NET SDK, tentukan properti PartitionKeyDefinitionVersion.V2. Contoh berikut menunjukkan cara menentukan properti Versi dalam objek PartitionKeyDefinition dan mengaturnya ke PartitionKeyDefinitionVersion.V2.

Catatan

Secara default, semua kontainer yang dibuat menggunakan .NET SDK V2 tidak mendukung kunci partisi besar. Secara default, semua kontainer yang dibuat menggunakan .NET SDK V3 mendukung kunci partisi besar.

await database.CreateContainerAsync(
    new ContainerProperties(collectionName, $"/longpartitionkey")
    {
        PartitionKeyDefinitionVersion = PartitionKeyDefinitionVersion.V2,
    })

Versi SDK yang didukung

Kunci partisi Besar didukung dengan versi minimum SDK berikut:

Jenis SDK Versi minimum
.NET 1.18
Sinkronisasi Java 2.4.0
Asinkron Java 2.5.0
REST API versi lebih tinggi dari 2017-05-03 dengan menggunakan header permintaan x-ms-version.
Templat Azure Resource Manager versi 2 dengan menggunakan properti "version":2 di dalam objek partitionKey.

Saat ini, Anda tidak dapat menggunakan kontainer dengan kunci partisi besar di dalam Power BI dan Azure Logic Apps. Anda dapat menggunakan kontainer tanpa kunci partisi besar dari aplikasi ini.

Langkah berikutnya