Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat tabel dengan indeks dan memasukkan dokumen
penting
Pemberitahuan akhir dukungan: Pelanggan yang ada akan dapat menggunakan Amazon QLDB hingga akhir dukungan pada 07/31/2025. Untuk detail selengkapnya, lihat Memigrasi Buku Besar QLDB Amazon ke Amazon
Setelah membuat buku besar QLDB Amazon, langkah pertama Anda adalah membuat tabel dengan pernyataan dasar. CREATE TABLE Tabel terdiri dariDokumen QLDB, yang merupakan kumpulan data dalam format Amazon Ionstruct
.
Membuat tabel dan indeks
Tabel memiliki nama sederhana dan peka huruf besar/kecil tanpa ruang nama. QLDB mendukung konten terbuka dan tidak menerapkan skema, sehingga Anda tidak menentukan atribut atau tipe data saat membuat tabel.
CREATE TABLE VehicleRegistration
CREATE TABLE Vehicle
Sebuah CREATE TABLE
pernyataan mengembalikan ID system-ditugaskan dari tabel baru. Semua sistem yang ditetapkan dalam IDs QLDB adalah pengidentifikasi unik universal (UUID) yang masing-masing diwakili dalam string yang dikodekan Base62.
catatan
Secara opsional, Anda dapat menentukan tag untuk sumber daya tabel saat Anda membuat tabel. Untuk mempelajari caranya, lihat Menandai tabel pada pembuatan.
Anda juga dapat membuat indeks pada tabel untuk mengoptimalkan kinerja kueri.
CREATE INDEX ON VehicleRegistration (VIN)
CREATE INDEX ON VehicleRegistration (LicensePlateNumber)
CREATE INDEX ON Vehicle (VIN)
penting
QLDB membutuhkan indeks untuk mencari dokumen secara efisien. Tanpa indeks, QLDB perlu melakukan pemindaian tabel lengkap saat membaca dokumen. Hal ini dapat menyebabkan masalah kinerja pada tabel besar, termasuk konflik konkurensi dan batas waktu transaksi.
Untuk menghindari pemindaian tabel, Anda harus menjalankan pernyataan dengan klausa WHERE
predikat menggunakan operator kesetaraan (=
atauIN
) pada bidang yang diindeks atau ID dokumen. Untuk informasi selengkapnya, lihat Mengoptimalkan kinerja kueri.
Perhatikan kendala berikut saat membuat indeks:
-
Indeks hanya dapat dibuat pada satu bidang tingkat atas. Indeks komposit, bersarang, unik, dan berbasis fungsi tidak didukung.
-
Anda dapat membuat indeks pada setiap tipe data Ion, termasuk
list
danstruct
. Namun, Anda hanya dapat melakukan pencarian yang diindeks berdasarkan kesetaraan seluruh nilai Ion terlepas dari jenis Ion. Misalnya, saat menggunakanlist
tipe sebagai indeks, Anda tidak dapat melakukan pencarian yang diindeks oleh satu item di dalam daftar. -
Kinerja kueri ditingkatkan hanya ketika Anda menggunakan predikat kesetaraan; misalnya,
WHERE indexedField = 123
atau.WHERE indexedField IN (456, 789)
QLDB tidak menghormati ketidaksetaraan dalam predikat kueri. Akibatnya, rentang pemindaian yang difilter tidak diterapkan.
-
Nama bidang yang diindeks peka huruf besar/kecil dan dapat memiliki maksimal 128 karakter.
-
Pembuatan indeks di QLDB tidak sinkron. Jumlah waktu yang dibutuhkan untuk menyelesaikan membangun indeks pada tabel yang tidak kosong bervariasi tergantung pada ukuran tabel. Untuk informasi selengkapnya, lihat Mengelola indeks.
Memasukkan dokumen
Kemudian Anda dapat memasukkan dokumen ke dalam tabel Anda. Dokumen QLDB disimpan dalam format Amazon Ion. Pernyataan INSERT PartiQL berikut mencakup subset dari data sampel registrasi kendaraan yang digunakan dalam. Memulai dengan konsol QLDB Amazon
INSERT INTO VehicleRegistration << { 'VIN' : '1N4AL11D75C109151', 'LicensePlateNumber' : 'LEWISR261LL', 'State' : 'WA', 'City' : 'Seattle', 'PendingPenaltyTicketAmount' : 90.25, 'ValidFromDate' : `2017-08-21T`, 'ValidToDate' : `2020-05-11T`, 'Owners' : { 'PrimaryOwner' : { 'PersonId' : '294jJ3YUoH1IEEm8GSabOs' }, 'SecondaryOwners' : [ { 'PersonId' : '5Ufgdlnj06gF5CWcOIu64s' } ] } }, { 'VIN' : 'KM8SRDHF6EU074761', 'LicensePlateNumber' : 'CA762X', 'State' : 'WA', 'City' : 'Kent', 'PendingPenaltyTicketAmount' : 130.75, 'ValidFromDate' : `2017-09-14T`, 'ValidToDate' : `2020-06-25T`, 'Owners' : { 'PrimaryOwner' : { 'PersonId': 'IN7MvYtUjkp1GMZu0F6CG9' }, 'SecondaryOwners' : [] } } >>
INSERT INTO Vehicle << { 'VIN' : '1N4AL11D75C109151', 'Type' : 'Sedan', 'Year' : 2011, 'Make' : 'Audi', 'Model' : 'A5', 'Color' : 'Silver' } , { 'VIN' : 'KM8SRDHF6EU074761', 'Type' : 'Sedan', 'Year' : 2015, 'Make' : 'Tesla', 'Model' : 'Model S', 'Color' : 'Blue' } >>
Sintaks dan semantik PartiQL
-
Nama bidang terlampir dalam tanda kutip tunggal ()
'...'
. -
Nilai string juga tertutup dalam tanda kutip tunggal ()
'...'
. -
Stempel waktu tertutup dalam backticks ().
`...`
Backticks dapat digunakan untuk menunjukkan setiap literal Ion. -
Bilangan bulat dan desimal adalah nilai literal yang tidak perlu dilambangkan.
Untuk detail lebih lanjut tentang sintaks dan semantik PartiQL, lihat. Meminta Ion dengan PartiQL di Amazon QLDB
INSERT
Pernyataan membuat revisi awal dokumen dengan nomor versi nol. Untuk mengidentifikasi setiap dokumen secara unik, QLDB memberikan ID dokumen sebagai bagian dari metadata. Sisipkan pernyataan mengembalikan ID dari setiap dokumen yang disisipkan.
penting
Karena QLDB tidak menerapkan skema, Anda dapat menyisipkan dokumen yang sama ke dalam tabel beberapa kali. Setiap pernyataan insert melakukan entri dokumen terpisah ke jurnal, dan QLDB memberikan setiap dokumen ID unik.
Untuk mempelajari cara menanyakan dokumen yang Anda masukkan ke dalam tabel, lanjutkan keMenanyakan data Anda.