Konsep inti dan terminologi di Amazon QLDB - Amazon Quantum Ledger Database (Amazon QLDB)

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 Buku Besar QLDB Amazon ke Amazon Aurora PostgreSQL.

Bagian ini memberikan gambaran umum tentang konsep inti dan terminologi di Amazon QLDB, 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.

Model objek data QLDB

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 di QLDB. Untuk mempelajari cara membuat buku besar, lihat Langkah 1: Buat buku besar baru di Memulai dengan konsol, atauOperasi dasar untuk buku besar QLDB Amazon.

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

    Format ARN Buku Besar:

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

    Untuk mulai menulis data dalam buku besar QLDB, pertama-tama Anda membuat tabel dengan pernyataan dasar. CREATE TABLE 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. Dalam QLDB, tabel mewakili pandangan terwujud dari kumpulan revisi dokumen dari jurnal.

    Dalam mode STANDARD izin buku besar, Anda harus membuat kebijakan IAM 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.

    Tabel format ARN:

    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 revisiDokumen QLDB, yang merupakan kumpulan data dalam format Amazon Ion. struct Revisi dokumen mewakili satu versi dari urutan dokumen yang diidentifikasi oleh ID dokumen unik.

    QLDB menyimpan 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 konsol QLDB.

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

    Katalog format ARN:

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

Transaksi jurnal-pertama

Ketika aplikasi membaca atau menulis data dalam buku besar QLDB, ia melakukannya dalam transaksi database. Semua transaksi tunduk pada batasan sebagaimana didefinisikan dalamKuota dan batas di Amazon QLDB. Dalam transaksi, QLDB melakukan 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 konflik OCC, 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. QLDB menulis satu blok dirantai ke jurnal dalam sebuah 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 jurnal Amazon QLDB menunjukkan satu set blok berantai 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 Amazon QLDB, untai adalah partisi jurnal buku besar Anda. QLDB saat ini mendukung jurnal dengan untai tunggal saja.

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

Menanyakan data Anda

QLDB dimaksudkan 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 di QLDB.

  • 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 di QLDB:

  • 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. Saat aplikasi menggunakan API data transaksional untuk membaca data, aplikasi mengakses tabel dan indeks yang disimpan di penyimpanan terindeks Anda.

Model API QLDB

QLDB menyediakan dua jenis yang dapat berinteraksi APIs dengan kode aplikasi Anda:

  • Amazon QLDB — API manajemen sumber daya QLDB (juga dikenal sebagai bidang kontrol). API ini hanya 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.

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

    penting

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

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

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

Untuk informasi selengkapnya tentang operasi API ini, lihatReferensi API QLDB 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 konsol QLDB, lihat. Memulai dengan konsol QLDB Amazon

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