Giới thiệu chung
- Một dạng database
serverless
- Lưu trữ tất cả các
thay đổi
liên quan đến dữ liệuImmutable
Transparent
Cryptographically
- Có hỗ trợ
ACID
- Sử dụng
PartiQL
làm ngôn ngữ query (tương tự như SQL) đểđọc
vàghi
dữ liệu - Sử dụng
Amazon ION
(một dạngsuperset
của JSON) Usecases
:- Lưu trữ các giao dịch của ngân hàng
- Lịch sử nhận bảo hiểm
Cấu trúc
Serverless
- Hỗ trợ
OLTP
workload - Bao gồm
Journal
+tables
=ledger
Journal
- Chỉ có thể ghi vào,
KHÔNG
thể update/delete các bản ghi cũ - Lưu trữ
mọi thay đổi
liên quan đến các bảng dưới dạng các blocks được liên kết với nhau (nhưngKHÔNG
giống như blockchain) KHÔNG
phân tán như blockchain, data được lưu trữtập trung
- Cho dù có xoá data của các bảng thì vẫn có thể xem lại data từ journal
- Chỉ có thể ghi vào,
Tables
- Lưu trữ data dưới dạng
ION
- Lưu trữ data
hiện tại
và cả các bản ghilịch sử
(tức là bao gồm cả các data đã bị xoá)
- Lưu trữ data dưới dạng
So sánh Relational DB và Ledger
Data verification
- QLDB sử dụng cơ chế
digest
với các block trong journal - Mỗi block sẽ có một signature được
mã hoá SHA-256
với Merkle tree-based model
QLDB sẽ so sánh signature với value được digest tính toán ra (nếu sai sẽ có lỗi IllegalArgumentException)
- Có thể sử dụng AWS Console hoặc API
Backup và Restore
- QLDB
KHÔNG
hỗ trợ các dạng backup và restore KHÔNG
hỗ trợ PITR- Workaround: tạo
export job
để exportdata trong journal
tớiS3
- Usecases: analytics, auditting, chuyển data sang hệ thống khác, backup, …..
- Giới hạn
2 concurrent export jobs
Security
- Sử dụng
IAM
để authen và author - Hỗ trợ encryption
at rest
(chỉ có thể dùng AWS Owned key,KHÔNG hỗ trợ CMKs
) và in transit - VPC – sử dụng
AWS PrivateLink
để giao tiếp đến QLDB
Monitoring
- Kết hợp với
CloudWatch
- Một số metrics: JournalStorage, IndexedStorage, CommandLatency, ….
- QLDB hỗ trợ
log files
với một số thông tin thêm - CloudTrail
Pricing
- Storage – mỗi
GB
- IOs – đơn vị
triệu request
- Data transfer