Perbedaan dalam membaca item menggunakan kunci utamanya - Amazon DynamoDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Perbedaan dalam membaca item menggunakan kunci utamanya

Salah satu pola akses umum untuk basis data adalah untuk membaca satu item dari tabel. Anda harus menentukan kunci primer dari item yang Anda inginkan.

Membaca item menggunakan kunci utamanya dengan SQL

DiSQL, Anda akan menggunakan SELECT pernyataan untuk mengambil data dari tabel. Anda dapat meminta satu kolom atau lebih dalam hasil (atau semuanya, jika Anda menggunakan operator *). Klausa WHERE menentukan baris mana yang dikembalikan.

Berikut ini adalah pernyataan SELECT untuk mengambil satu baris dari tabel Music. Klausa WHERE menentukan nilai-nilai kunci primer.

SELECT * FROM Music WHERE Artist='No One You Know' AND SongTitle = 'Call Me Today'

Anda dapat memodifikasi kueri ini untuk mengambil hanya subset dari kolom.

SELECT AlbumTitle, Year, Price FROM Music WHERE Artist='No One You Know' AND SongTitle = 'Call Me Today'

Perhatikan bahwa kunci utama untuk tabel ini terdiri dari Artis dan SongTitle.

Membaca item menggunakan kunci primernya di DynamoDB

Di Amazon DynamoDB, Anda dapat menggunakan API DynamoDB atau PartiQL SQL (bahasa kueri yang kompatibel) untuk membaca item dari tabel.

DynamoDB API

Dengan API DynamoDB, Anda menggunakan PutItem operasi untuk menambahkan item ke tabel.

DynamoDB menyediakan operasi GetItem untuk mengambil item dengan kunci primernya. GetItem sangat efisien karena menyediakan akses langsung ke lokasi fisik item. (Untuk informasi selengkapnya, lihat Partisi dan distribusi data di DynamoDB.)

Secara default, GetItem mengembalikan seluruh item dengan semua atribut.

{ TableName: "Music", Key: { "Artist": "No One You Know", "SongTitle": "Call Me Today" } }

Anda dapat menambahkan parameter ProjectionExpression untuk mengembalikan hanya beberapa atribut.

{ TableName: "Music", Key: { "Artist": "No One You Know", "SongTitle": "Call Me Today" }, "ProjectionExpression": "AlbumTitle, Year, Price" }

Perhatikan bahwa kunci utama untuk tabel ini terdiri dari Artis dan SongTitle.

Operasi GetItem DynamoDB sangat efisien. Ini menggunakan nilai-nilai kunci primer untuk menentukan lokasi penyimpanan yang tepat dari item yang bersangkutan, dan mengambilnya langsung dari sana. SQLSELECTPernyataan ini juga efisien, dalam hal mengambil item dengan nilai kunci primer.

SQLSELECTPernyataan ini mendukung berbagai jenis kueri dan pemindaian tabel. DynamoDB menyediakan fungsionalitas serupa dengan operasi Query dan Scan, yang dijelaskan dalam Perbedaan dalam menanyakan tabel dan Perbedaan dalam memindai tabel.

SQLSELECTPernyataan dapat melakukan gabungan tabel, memungkinkan Anda untuk mengambil data dari beberapa tabel pada saat yang sama. Gabungan paling efektif di mana tabel basis data dinormalisasi dan hubungan antara tabel jelas. Namun, jika Anda menggabungkan terlalu banyak tabel dalam satu performa aplikasi pernyataan SELECT dapat terpengaruh. Anda dapat mengatasi masalah tersebut dengan menggunakan replikasi basis data, tampilan terwujud, atau penulisan ulang kueri.

DynamoDB adalah basis data non-relasional dan tidak mendukung gabungan tabel. Jika Anda memigrasikan aplikasi yang ada dari basis data relasional ke DynamoDB, Anda perlu mendenormalisasi model data Anda untuk menghapus kebutuhan gabungan.

PartiQL for DynamoDB

Dengan PartiQL, Anda menggunakan operasi ExecuteStatement untuk membaca item dari tabel, menggunakan pernyataan Select PartiQL.

SELECT AlbumTitle, Year, Price FROM Music WHERE Artist='No One You Know' AND SongTitle = 'Call Me Today'

Perhatikan bahwa kunci utama untuk tabel ini terdiri dari Artis dan SongTitle.

catatan

Pernyataan pilih PartiQL dapat digunakan juga pada tabel Kueri atau Pindai DynamoDB

Untuk contoh kode menggunakan Select dan ExecuteStatement, lihat Pernyataan pemilihan PartiQL untuk DynamoDB.