Gambaran umum 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.

Gambaran umum Amazon QLDB

Bagian berikut memberikan gambaran umum umum tingkat tinggi tentang komponen layanan Amazon QLDB dan bagaimana mereka berinteraksi.

Jurnal pertama

Dalam arsitektur database tradisional, Anda biasanya menulis data dalam tabel sebagai bagian dari transaksi. Log transaksi — biasanya implementasi internal — mencatat semua transaksi dan modifikasi database yang mereka buat. Log transaksi adalah komponen penting dari database. Anda memerlukan log untuk memutar ulang transaksi jika terjadi kegagalan sistem, pemulihan bencana, atau replikasi data. Namun, log transaksi database tidak berubah dan tidak dirancang untuk memberikan akses langsung dan mudah ke pengguna.

Di Amazon QLDB, jurnal adalah inti dari database. Secara struktural mirip dengan log transaksi, jurnal adalah struktur data yang tidak dapat diubah dan hanya menambahkan yang menyimpan data aplikasi Anda bersama dengan metadata terkait. Semua transaksi tulis, termasuk pembaruan dan penghapusan, berkomitmen untuk jurnal terlebih dahulu.

QLDB menggunakan jurnal untuk menentukan keadaan saat data buku besar Anda dengan mewujudkan itu ke queryable, tabel yang ditetapkan pengguna. Tabel ini juga menyediakan riwayat yang dapat diakses dari semua data transaksi, termasuk revisi dokumen dan metadata. Selain itu, jurnal menangani concurrency, sequencing, verifikasi kriptografi, dan ketersediaan data buku besar.

Diagram berikut mengilustrasikan arsitektur jurnal QLDB.

Diagram berjudul QLDB: jurnal adalah database, menunjukkan arsitektur jurnal, dengan aplikasi yang terhubung ke buku besar dan melakukan transaksi ke jurnal, yang terwujud ke dalam tabel.
  • Dalam contoh ini, aplikasi terhubung ke buku besar dan menjalankan transaksi yang menyisipkan, memperbarui, dan menghapus dokumen ke dalam tabel bernamacars.

  • Data pertama kali ditulis ke jurnal dalam urutan berurutan.

  • Kemudian data tersebut terwujud ke dalam tabel dengan tampilan bawaan. Tampilan ini memungkinkan Anda menanyakan status saat ini dan riwayat lengkap mobil, dengan setiap revisi menetapkan nomor versi.

  • Anda juga dapat mengekspor atau mengalirkan data langsung dari jurnal.

Tetap

Karena jurnal QLDB hanya ditambahkan, itu menyimpan catatan penuh dari semua perubahan pada data Anda yang tidak dapat dimodifikasi atau ditimpa. Tidak ada API atau metode lain untuk mengubah data berkomitmen apa pun di tempatnya. Struktur jurnal ini memungkinkan Anda mengakses dan menanyakan riwayat lengkap buku besar Anda.

catatan

Satu-satunya pengecualian untuk kekekalan yang didukung QLDB adalah redaksi data. Dengan fitur ini, Anda dapat mematuhi undang-undang peraturan seperti Peraturan Perlindungan Data Umum (GDPR) di Uni Eropa dan Undang-Undang Privasi Konsumen California (CCPA).

QLDB menyediakan operasi redaksi yang memungkinkan Anda menghapus revisi dokumen tidak aktif secara permanen dalam sejarah tabel. Operasi ini hanya menghapus data pengguna dalam revisi yang ditentukan, dan membiarkan urutan jurnal dan metadata dokumen tidak berubah. Ini menjaga integritas data keseluruhan buku besar Anda. Untuk informasi selengkapnya, lihat Menyunting revisi dokumen.

QLDB menulis satu blok ke jurnal dalam transaksi. Setiap blok berisi objek entri yang mewakili dokumen yang Anda masukkan, perbarui, dan hapus, bersama dengan pernyataan yang Anda jalankan untuk melakukan komit. Blok-blok ini diurutkan dan dirantai hash untuk menjamin integritas data.

Diagram berikut mengilustrasikan struktur jurnal ini.

Catatan berjudul diagram tidak dapat diubah, menunjukkan struktur jurnal yang tidak berubah dan hanya ditambahkan di QLDB, dengan nomor urut setiap blok jurnal yang dirantai hash.

Diagram menunjukkan bahwa transaksi berkomitmen pada jurnal sebagai blok yang dirantai hash untuk verifikasi. Setiap blok memiliki nomor urut untuk menentukan alamatnya.

Dapat diverifikasi secara kriptografi

Blok jurnal diurutkan dan dirantai bersama dengan teknik hashing kriptografi, mirip dengan blockchain. QLDB menggunakan rantai hash jurnal untuk memberikan integritas data transaksional menggunakan metode verifikasi kriptografi. Menggunakan digest (nilai hash yang mewakili rantai hash penuh jurnal pada titik waktu) dan bukti audit Merkle (mekanisme yang membuktikan validitas node apa pun dalam pohon hash biner), Anda dapat memverifikasi bahwa tidak ada perubahan yang tidak diinginkan pada data Anda kapan saja.

Diagram berikut menunjukkan intisari yang mencakup rantai hash penuh jurnal pada suatu titik waktu.

Diagram berjudul hash chaining menggunakan SHA-256, menunjukkan digest yang mencakup rantai hash penuh jurnal, dengan struktur blok jurnal yang berisi entri yang mewakili dokumen Ion, pernyataan PartiQL, dan metadata.

Dalam diagram ini, blok jurnal di-hash menggunakan fungsi hash kriptografi SHA-256 dan dirantai secara berurutan ke blok berikutnya. Setiap blok berisi entri yang menyertakan dokumen data Anda, metadata, dan pernyataan PartiQL yang berjalan dalam transaksi.

Untuk informasi selengkapnya, lihat Verifikasi data di Amazon QLDB.

SQL-seperti dan dokumen yang fleksibel

QLDB menggunakan PartiQL sebagai bahasa kueri dan Amazon Ion sebagai model data berorientasi dokumen. PartiQL adalah open-source, bahasa query SQL-kompatibel yang telah diperluas untuk bekerja dengan Ion. Dengan PartiQL, Anda dapat memasukkan, query, dan mengelola data Anda dengan operator SQL akrab. Ketika Anda query dokumen datar, sintaks adalah sama dengan menggunakan SQL untuk query tabel relasional. Untuk mempelajari lebih lanjut tentang implementasi QLDB dari PartiQL, lihatReferensi PartiQLDB QLDB.

Amazon Ion adalah superset dari JSON. Ion adalah open-source, format data berbasis dokumen yang memberi Anda fleksibilitas menyimpan dan memproses data terstruktur, semistruktural, dan bersarang. Untuk mempelajari lebih lanjut tentang Ion dalam QLDB, lihatReferensi format data Amazon Ion di Amazon QLDB.

Untuk perbandingan tingkat tinggi dari komponen inti dan fitur dalam database relasional tradisional versus QLDB, lihatDari relasional ke buku besar.

Alat pengembang sumber terbuka

Untuk menyederhanakan pengembangan aplikasi, QLDB menyediakan driver open-source dalam berbagai bahasa pemrograman. Anda dapat menggunakan driver ini untuk berinteraksi dengan API data transaksional dengan menjalankan pernyataan PartiQL pada buku besar dan memproses hasil pernyataan tersebut. Untuk informasi dan tutorial tentang bahasa driver yang saat ini didukung, lihatMemulai dengan driver Amazon QLDB.

Amazon Ion juga menyediakan pustaka klien yang memproses data Ion untuk Anda. Untuk panduan pengembang dan contoh kode pemrosesan data Ion, lihat dokumentasi Amazon Ion aktif GitHub.

Tanpa server dan sangat tersedia

QLDB dikelola sepenuhnya, tanpa server, dan sangat tersedia. Layanan ini secara otomatis menskalakan untuk mendukung permintaan aplikasi Anda, dan Anda tidak perlu menyediakan instans atau kapasitas. Beberapa salinan data Anda direplikasi dalam Availability Zone dan di Availability Zone diWilayah AWS.

Kelas perusahaan

Transactions QLDB sepenuhnya sesuai dengan sifat atomisitas, konsistensi, isolasi, daya tahan (ACID). QLDB menggunakan kontrol konkurensi optimis (OCC), dan transaksi beroperasi dengan serialisasi penuh - tingkat isolasi tertinggi. Ini berarti bahwa tidak ada risiko melihat pembacaan hantu, membaca kotor, menulis miring, atau masalah konkurensi serupa lainnya. Untuk informasi selengkapnya, lihat Model Konkurensi Amazon QLDB.