Cara Menetapkan Kekunci Pemisahan DynamoDB

Cara Menetapkan Kekunci Pemisahan Dynamodb



Produktiviti mana-mana pangkalan data bergantung pada kebolehcapaian data kerana mencari item daripada beberapa objek boleh membuktikan sibuk. Selalunya, cara anda menanyakan pangkalan data sentiasa menjadi pertimbangan yang serius. Kekunci partition ialah titik masuk utama anda dalam DynamoDB apabila anda ingin membuat pertanyaan yang sangat cekap.

Biasanya, kekunci partition merentas jadual adalah unik. Oleh itu, adalah mustahil untuk mempunyai dua atau lebih item dengan kunci partition yang sama dalam satu jadual, tetapi sebaliknya boleh berlaku apabila digunakan dalam indeks. Selain itu, kekunci partition adalah mustahil untuk ditukar sebaik sahaja anda membuat jadual kerana ia tidak boleh diubah.







Artikel ini membincangkan tentang kunci partition. Kami akan memberi tumpuan kepada sebab anda memerlukan kunci partition dan amalan terbaik untuk diikuti semasa menetapkannya. Akhir sekali, kami akan melihat bagaimana kekunci partition DynamoDB adalah penting.



Apakah Kunci Partition DynamoDB dan Mengapa Ia Penting?

Kunci partition ialah kunci utama mudah dalam DynamoDB, selalunya terdiri daripada satu atribut. Setiap item dalam jadual DynamoDB mempunyai kunci partition yang unik untuk membolehkan proses pertanyaan yang pantas dan cekap.



Anda boleh memasangkan kunci utama dengan kunci isihan untuk membuat kunci utama komposit yang mengandungi dua atribut. Apabila digunakan bersama, anda boleh menyusun semua data di bawah kekunci partition menggunakan nilai kekunci isihan.





Memandangkan DynamoDB menyimpan data sebagai konsortium atribut yang dipanggil item, atribut mempunyai kunci nilai utama yang unik untuk kebolehaksesan yang mudah. Terutama, item dalam DynamoDB adalah serupa dengan rekod, medan, lajur atau baris dalam kebanyakan sistem pangkalan data.

Tambahan pula, DynamoDB membenarkan anda untuk mengedarkan data ke dalam partition sehingga 10 GB unit storan. Oleh itu, setiap jadual boleh mempunyai satu atau lebih partition. Anda boleh menggunakan nilai kunci partition sebagai input kepada fungsi cincang dalaman pangkalan data, dengan output daripada fungsi cincang yang menentukan partition di mana item itu disimpan. Selain itu, lokasi item menentukan partition di mana ia disimpan.



Cara Menetapkan Kekunci Pemisahan DynamoDB

Menetapkan kekunci partition boleh menjadi tugas yang sukar jika anda masih belum memahami konsepnya. Walau bagaimanapun, proses ini boleh menjadi mudah dan cekap sebaik sahaja anda mengumpulkan petua dan helah yang diperlukan. Berikut ialah beberapa amalan terbaik untuk diikuti semasa menyediakan kunci partition:

1. Pilih Kekunci Partition yang Betul

Jenis kekunci partition menentukan kemudahan dan kecekapan menyoal data anda. Ia adalah titik masuk utama untuk menanyakan data anda dan menentukan corak akses setiap aplikasi adalah penting.

Adalah dinasihatkan untuk menggunakan atribut kardinaliti tinggi semasa menyediakan kunci partition DynamoDB anda. Atribut kardinaliti tinggi menampilkan nilai yang berbeza untuk setiap item dan mungkin termasuk id_pekerja, no_pekerja, id_pesanan, id e-mel, id pelanggan atau id pesanan.

2. Gunakan Konvensyen Penamaan PK

Kekunci partition selalunya menggunakan konvensyen penamaan pk. Kaedah penamaan ini menjamin mekanisme penamaan yang tepat tanpa mendiskriminasi berdasarkan jenis atau model item yang diwakili.

Sebagai contoh, walaupun anda mungkin tergoda untuk menggunakan postID dan userID sebagai kunci partition untuk model Post dan User dalam jadual, DynamoDB hanya membenarkan satu kunci partition untuk setiap jadual. Oleh itu, anda tidak boleh menggunakan dua dalam satu jadual. Ambil perhatian bahawa jadual tanpa kunci isihan boleh mempunyai kunci partition ID.

3. Gunakan Atribut Komposit

Sesetengah jadual mendapat lebih banyak manfaat daripada kunci komposit. Maksudnya, anda memerlukan lebih daripada satu atribut untuk membentuk kunci unik. Contohnya, anda boleh menggunakan customer_ID, country_code dan product_ID untuk membentuk kunci partition (customerid#countrycode#productid). Pada masa yang sama, anda boleh menggunakan order_id sebagai kunci isihan anda.

4. Tambah Nombor Rawak Dengan Sesuai

Jika anda menjangkakan jumlah penulisan yang besar untuk setiap kunci, menggunakan awalan atau akhiran tambahan menjadikan kes penggunaan berat lebih cekap. Sebagai contoh, anda boleh menggunakan nombor invois bersama set nombor rawak sebagai kunci partition anda. Ingat untuk memisahkan pelbagai bahagian kunci partition anda. Sebagai contoh, InvoiceNumber#125656#0 sebagai kunci partition sesuai untuk kegunaan berat dengan beribu-ribu penulisan sesaat.

Cipta Kunci Partition DynamoDB

Seperti kekunci isihan, mencipta kunci partition dalam DynamoDB melibatkan penciptaan skema kunci untuk jadual anda. Sudah tentu, ini berlaku apabila anda membuat jadual. Ini selalunya melibatkan penerangan atribut anda menggunakan nama atribut bersama jenis atribut. Sintaks berikut akan membantu:

AttributeName=string,KeyType=string ...

Dalam sintaks yang diberikan, nama atribut ialah nama sebenar atribut manakala jenis atribut boleh sama ada String(S), Number(N) atau Binary(B).

Anda juga boleh memilih untuk menggunakan sintaks JSON seperti yang ditunjukkan dalam yang berikut:

[

{

'AttributeName': 'rentetan',

'KeyType': 'HASH'

}

...

]

Mana-mana sintaks yang anda pilih, peranan atribut menganggap fungsi HASH kerana kami mencipta kunci partition. Sebaliknya, jenis kekunci menganggap fungsi RANGE apabila mencipta kekunci isihan.

Akhirnya, ia juga mungkin untuk menukar kunci partition menggunakan utiliti berikut:

DynamoDBClient.updateItem({
'TableName': 'myTable_Name',
'Kunci': {
'pk': {
'S': 'my_PartitionKey'
}
},
'UpdateExpression': 'SET #emailaddress = :emaildress',
'ExpressionAttributeNames': {
'#email': 'emaildress'
},
'ExpressionAttributeValues': {
':alamat emel': {
'S': ' [e-mel dilindungi] '
}
}
})

Utiliti yang diberikan mengemas kini atribut e-mel anda agar kelihatan seperti yang anda ada dalam [e-mel dilindungi] untuk item di mana kekunci partition (pk) adalah sama dengan my_PartitionKey.

Kesimpulan

Apabila menyediakan kekunci partition DynamoDB, tiada kaedah universal tunggal. Mencipta dan menggunakan kekunci partition bergantung pada kes penggunaan. Selain itu, anda boleh melihat pelbagai pendekatan yang ada dan mencari pendekatan yang paling sesuai untuk permohonan anda. Pastikan anda mematuhi garis panduan yang diberikan.