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

Bagian ini memberikan ikhtisar 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 jenisAWS sumber daya utama di QLDB. Untuk mempelajari cara membuat buku besar, lihatLangkah 1: Membuat buku besar baru di Memulai konsol, atauOperasi dasar untuk buku besar Amazon QLDB.

    Untuk modeSTANDARD perizinanALLOW_ALL dan buku besar, Anda membuat kebijakanAWS 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, Anda pertama kali membuat tabel denganCREATE 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. Dalam QLDB, tabel mewakili pandangan terwujud dari koleksi revisi dokumen dari jurnal.

    Dalam modeSTANDARD perizinan 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 keadaan tabel saat ini. Anda juga dapat menanyakan riwayat revisi tabel dengan menggunakanhistory() fungsi bawaan.

    Format ARN 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, lihatBagaimana Amazon QLDB bekerja dengan IAM.

  3. Dokumen

    Tabel terdiri dari revisiDokumen QLDB B B B B B B B, yang merupakan kumpulan data dalamstruct format Amazon Ion. Revisi dokumen mewakili satu versi dari urutan dokumen yang diidentifikasi oleh ID dokumen unik.

    QLDB menyimpan riwayat perubahan lengkap dokumen yang Anda lakukan. Sebuah tabel memungkinkan Anda query keadaan dokumen saat ini, sementarahistory() fungsi memungkinkan Anda query seluruh sejarah revisi dokumen tabel. Untuk detail tentang query dan menulis revisi, lihatBekerja dengan data dan sejarah.

  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 modeSTANDARD izin buku besar, Anda memerlukanqldb:PartiQLSelect izin pada sumber daya katalog ini untuk melakukan hal berikut:

    • JalankanSELECT pernyataan pada tabel katalog sistem information_schema.user_tables.

    • Lihat tabel dan indeks informasi pada halaman rincian buku besar pada konsol QLDB.

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

    Format ARN Katalog:

    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 batas sebagaimana didefinisikan dalamKuota dan batasan di Amazon QLDB. Dalam transaksi, QLDB melakukan langkah-langkah berikut:

  1. Membaca status data saat ini dari buku besar.

  2. Lakukan pernyataan yang disediakan dalam transaksi, dan kemudian memeriksa setiap konflik menggunakan kontrol konkurensi optimis (OCC) untuk memastikan isolasi sepenuhnya serializable.

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

    • Untuk membaca, mengembalikan hasil set dan komitSELECT pernyataan ke jurnal dengan cara menambahkan saja.

    • Untuk penulisan, lakukan pembaruan, hapus, atau data yang baru disisipkan ke jurnal dengan cara khusus tambahan.

Jurnal ini mewakili riwayat yang lengkap dan tidak berubah dari semua perubahan pada data Anda. QLDB menulis satu blok dirantai ke jurnal dalam transaksi. Setiap blok berisi objek entri yang mewakili revisi dokumen yang Anda masukkan, update, dan hapus, bersama dengan pernyataan PartiQL yang melakukan mereka.

Diagram berikut menggambarkan struktur jurnal ini.

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

Diagram menunjukkan bahwa transaksi berkomitmen untuk 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 isi data dalam blok, lihatIsi jurnal di Amazon QLDB.

Mengkueri data Anda

QLDB dimaksudkan untuk memenuhi kebutuhan beban kerja pemrosesan transaksi online (Online Transaction Processing atau OLTP). Buku besar menyediakan tampilan tabel queryable data Anda berdasarkan informasi transaksi yang berkomitmen untuk jurnal. Tampilan tabel di QLDB adalah bagian dari data dalam tabel. Tampilan dipertahankan secara real time, sehingga selalu tersedia untuk permintaan aplikasi.

Anda dapat query tampilan sistem-didefinisikan berikut menggunakanSELECT pernyataan PartiQL:

  • Pengguna - Revisi aktif terbaru hanya data yang Anda tulis di tabel (yaitu, keadaan data pengguna Anda saat ini). Ini adalah tampilan default di QLDB.

  • Committed - Revisi aktif terbaru dari data pengguna Anda dan metadata yang dihasilkan sistem. Ini adalah tabel penuh sistem didefinisikan yang sesuai langsung ke tabel pengguna Anda.

Selain tampilan kueri ini, Anda dapat query sejarah revisi data Anda dengan menggunakan built-inFungsi Riwayat. Fungsi history mengembalikan data pengguna Anda dan metadata terkait dalam skema yang sama dengan tampilan berkomitmen.

Penyimpanan data

Ada dua tipe penyimpanan data di QLDB:

  • Penyimpanan jurnal - Ruang disk yang digunakan oleh jurnal buku besar. Jurnal 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 terindeks. 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 API yang dapat berinteraksi 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, menggambarkan, membuat daftar, dan memperbarui buku besar. Anda juga dapat memverifikasi data secara kriptografis, dan mengekspor atau melakukan streaming 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 API Sesi QLDB, sebaiknya gunakan driver QLDB atau shell QLDB untuk menjalankan transaksi data pada buku besar.

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

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

Untuk informasi selengkapnya tentang operasi API ini, lihat bagianReferensi API Amazon QLDB.

Langkah selanjutnya

Untuk mempelajari cara menggunakan buku besar dengan data Anda, lihatBekerja 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 tutorial aplikasi contoh menggunakan konsol QLDB, lihatMemulai dengan konsol Amazon QLDB.

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