Konsep inti dan terminologi di Amazon QLDB - Database Buku Besar Amazon Quantum (AmazonQLDB)

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

Konsep inti dan terminologi di Amazon QLDB

penting

Pemberitahuan akhir dukungan: Pelanggan yang ada akan dapat menggunakan Amazon QLDB hingga akhir dukungan pada 07/31/2025. Untuk detail selengkapnya, lihat Memigrasi QLDB Buku Besar Amazon ke Amazon Aurora Postgre. SQL

Bagian ini memberikan gambaran umum tentang konsep inti dan terminologi di AmazonQLDB, termasuk struktur buku besar dan bagaimana buku besar mengelola data. Sebagai database buku besar, QLDB berbeda dari database berorientasi dokumen lainnya ketika datang ke konsep-konsep kunci berikut.

QLDBmodel objek data

Model objek data fundamental di Amazon QLDB dijelaskan sebagai berikut:

  1. Buku Besar

    Langkah pertama Anda adalah membuat buku besar, yang merupakan jenis AWS sumber daya utama. QLDB Untuk mempelajari cara membuat buku besar, lihat Langkah 1: Buat buku besar baru di Memulai dengan konsol, atauOperasi dasar untuk QLDB buku besar Amazon.

    Untuk mode ALLOW_ALL dan STANDARD izin buku besar, Anda membuat AWS Identity and Access Management (IAM) kebijakan yang memberikan izin untuk menjalankan API operasi pada sumber daya buku besar ini.

    ARNFormat buku besar:

    arn:aws:qldb:${region}:${account-id}:ledger/${ledger-name}
  2. Jurnal dan tabel

    Untuk mulai menulis data dalam QLDB buku besar, pertama-tama Anda membuat tabel dengan CREATE TABLE pernyataan dasar. Data buku besar terdiri dari revisi dokumen yang berkomitmen pada jurnal buku besar. Anda melakukan revisi dokumen ke buku besar dalam konteks tabel yang ditentukan pengguna. DalamQLDB, tabel mewakili pandangan terwujud dari kumpulan revisi dokumen dari jurnal.

    Dalam mode STANDARD izin buku besar, Anda harus membuat IAM kebijakan yang memberikan izin untuk menjalankan pernyataan PartiQL pada sumber daya tabel ini. Dengan izin pada sumber daya tabel, Anda dapat menjalankan pernyataan yang mengakses status tabel saat ini. Anda juga dapat menanyakan riwayat revisi tabel dengan menggunakan history() fungsi bawaan.

    ARNFormat tabel:

    arn:aws:qldb:${region}:${account-id}:ledger/${ledger-name}/table/${table-id}

    Untuk informasi selengkapnya tentang pemberian izin pada buku besar dan sumber daya terkait, lihat. Bagaimana Amazon QLDB bekerja dengan IAM

  3. Dokumen

    Tabel terdiri dari revisiQLDB dokumen, yang merupakan kumpulan data dalam format Amazon Ion. struct Revisi dokumen mewakili satu versi dari urutan dokumen yang diidentifikasi oleh ID dokumen unik.

    QLDBmenyimpan riwayat perubahan lengkap dari dokumen komitmen Anda. Tabel memungkinkan Anda menanyakan status dokumen saat ini, sementara history() fungsinya memungkinkan Anda menanyakan seluruh riwayat revisi dokumen tabel. Untuk detail tentang menanyakan dan menulis revisi, lihat. Bekerja dengan data dan riwayat

  4. Katalog sistem

    Setiap buku besar juga menyediakan sumber daya katalog yang ditentukan sistem yang dapat Anda kueri untuk mencantumkan semua tabel dan indeks dalam buku besar. Dalam mode STANDARD izin buku besar, Anda memerlukan qldb:PartiQLSelect izin pada sumber daya katalog ini untuk melakukan hal berikut:

    • Jalankan SELECT pernyataan pada tabel katalog sistem information_schema.user_tables.

    • Lihat tabel dan informasi indeks pada halaman detail buku besar di QLDBkonsol.

    • Lihat daftar tabel dan indeks di editor PartiQL di konsol. QLDB

    ARNFormat katalog:

    arn:aws:qldb:${region}:${account-id}:ledger/${ledger-name}/information_schema/user_tables

Transaksi jurnal-pertama

Ketika aplikasi membaca atau menulis data dalam QLDB buku besar, ia melakukannya dalam transaksi database. Semua transaksi tunduk pada batasan sebagaimana didefinisikan dalamKuota dan batasan di Amazon QLDB. Dalam transaksi, QLDB lakukan langkah-langkah berikut:

  1. Baca status data saat ini dari buku besar.

  2. Lakukan pernyataan yang disediakan dalam transaksi, dan kemudian periksa konflik apa pun menggunakan kontrol konkurensi optimis (OCC) untuk memastikan isolasi yang dapat diserialisasi sepenuhnya.

  3. Jika tidak ditemukan OCC konflik, kembalikan hasil transaksi sebagai berikut:

    • Untuk pembacaan, kembalikan kumpulan hasil dan komit SELECT pernyataan ke jurnal dengan cara tambahan saja.

    • Untuk menulis, lakukan pembaruan, penghapusan, atau data yang baru dimasukkan ke jurnal dengan cara yang hanya ditambahkan.

Jurnal ini mewakili sejarah yang lengkap dan tidak dapat diubah dari semua perubahan pada data Anda. QLDBmenulis satu blok dirantai ke jurnal dalam suatu transaksi. Setiap blok berisi objek entri yang mewakili revisi dokumen yang Anda sisipkan, perbarui, dan hapus, bersama dengan pernyataan PartiQL yang berkomitmen.

Diagram berikut menggambarkan struktur jurnal ini.

Diagram struktur QLDB jurnal Amazon menunjukkan satu set blok dirantai yang membentuk untai, dan nomor urut dan hash blok dari setiap blok.

Diagram menunjukkan bahwa transaksi dilakukan pada jurnal sebagai blok yang berisi entri revisi dokumen. Setiap blok di-hash dan dirantai ke blok berikutnya untuk verifikasi. Setiap blok memiliki nomor urut untuk menentukan alamatnya di dalam untai.

catatan

Di AmazonQLDB, untai adalah partisi jurnal buku besar Anda. QLDBsaat ini mendukung jurnal dengan satu untai saja.

Untuk informasi tentang konten data dalam blok, lihatIsi jurnal di Amazon QLDB.

Menanyakan data Anda

QLDBdimaksudkan untuk memenuhi kebutuhan beban kerja pemrosesan transaksi online (OLTP) berkinerja tinggi. Buku besar memberikan tampilan tabel yang dapat dikueri dari data Anda berdasarkan informasi transaksi yang berkomitmen pada jurnal. Tampilan tabel di QLDB adalah bagian dari data dalam tabel. Tampilan dipertahankan secara real time, sehingga selalu tersedia untuk aplikasi untuk kueri.

Anda dapat menanyakan tampilan yang ditentukan sistem berikut menggunakan pernyataan PartiQL: SELECT

  • Pengguna — Revisi aktif terbaru hanya data yang Anda tulis dalam tabel (yaitu, keadaan saat ini dari data pengguna Anda). Ini adalah tampilan default diQLDB.

  • Komited - Revisi aktif terbaru dari data pengguna Anda dan metadata yang dihasilkan sistem. Ini adalah tabel lengkap yang ditentukan sistem yang sesuai langsung dengan tabel pengguna Anda.

Selain tampilan yang dapat dikueri ini, Anda dapat menanyakan riwayat revisi data Anda dengan menggunakan built-in. Fungsi sejarah Fungsi histori mengembalikan data pengguna Anda dan metadata terkait dalam skema yang sama dengan tampilan komit.

Penyimpanan data

Ada dua jenis penyimpanan data diQLDB:

  • Penyimpanan jurnal — Ruang disk yang digunakan oleh jurnal buku besar. Jurnal ini hanya ditambahkan dan berisi riwayat lengkap, tidak dapat diubah, dan dapat diverifikasi dari semua perubahan pada data Anda.

  • Penyimpanan terindeks — Ruang disk yang digunakan oleh tabel buku besar, indeks, dan riwayat yang diindeks. Penyimpanan terindeks terdiri dari data buku besar yang dioptimalkan untuk kueri berkinerja tinggi.

Setelah data Anda berkomitmen untuk jurnal, itu terwujud ke dalam tabel yang Anda tentukan. Tabel ini dioptimalkan untuk kueri yang lebih cepat dan lebih efisien. Ketika aplikasi menggunakan data transaksional API untuk membaca data, ia mengakses tabel dan indeks yang disimpan dalam penyimpanan terindeks Anda.

QLDBAPImodel

QLDBmenyediakan dua jenis APIs yang dapat berinteraksi dengan kode aplikasi Anda:

  • Amazon QLDB — Manajemen QLDB sumber daya API (juga dikenal sebagai bidang kontrol). Ini hanya API digunakan untuk mengelola sumber daya buku besar dan untuk operasi data non-transaksional. Anda dapat menggunakan operasi ini untuk membuat, menghapus, mendeskripsikan, membuat daftar, dan memperbarui buku besar. Anda juga dapat memverifikasi data secara kriptografi, dan mengekspor atau mengalirkan blok jurnal.

  • Amazon QLDB Session — Data QLDB transaksional. API Anda dapat menggunakan ini API untuk menjalankan transaksi data pada buku besar dengan pernyataan PartiQL.

    penting

    Alih-alih berinteraksi langsung dengan QLDBSesiAPI, sebaiknya gunakan QLDB driver atau QLDB shell untuk menjalankan transaksi data pada buku besar.

    • Jika Anda bekerja dengan sebuah AWS SDK, gunakan QLDB driver. Driver menyediakan lapisan abstraksi tingkat tinggi di atas data QLDBSession API dan mengelola SendCommand operasi untuk Anda. Untuk informasi dan daftar bahasa pemrograman yang didukung, lihatMemulai dengan pengemudi.

    • Jika Anda bekerja dengan AWS CLI, gunakan QLDB shell. Shell adalah antarmuka baris perintah yang menggunakan QLDB driver untuk berinteraksi dengan buku besar. Untuk informasi, lihat Menggunakan QLDB shell Amazon (APIhanya data).

Untuk informasi lebih lanjut tentang API operasi ini, lihatQLDBAPIReferensi Amazon.

Langkah selanjutnya

Untuk mempelajari cara menggunakan buku besar dengan data Anda, lihat Bekerja dengan data dan riwayat di Amazon QLDB dan ikuti contoh yang menjelaskan proses pembuatan tabel, memasukkan data, dan menjalankan kueri dasar. Panduan ini menjelaskan bagaimana konsep-konsep ini bekerja secara mendalam, menggunakan data sampel dan contoh kueri untuk konteks.

Untuk memulai dengan cepat dengan contoh tutorial aplikasi menggunakan QLDB konsol, lihatMemulai dengan QLDB konsol Amazon.

Untuk daftar istilah dan definisi utama yang dijelaskan di bagian ini, lihatQLDBGlosarium Amazon.