NoSQL
Amazon RDS
Two-Phase Commit (2PC)
Machine Learning
Caching
Sharding
Cả dữ liệu có cấu trúc và phi cấu trúc
Encryption
In-Memory Processing
Indexing
Chọn kế hoạch tối ưu dựa trên chi phí
Partitioning
Redis
Giảm thời gian thiết lập kết nối
Sharding
Replication
Phân phối đều tải giữa các node
High Availability
Tính nhất quán (Consistency)
Database Designer
Người sử dụng dữ liệu
Quan hệ, phi cấu trúc, đồ thị
PostgreSQL
Tăng tốc độ thực thi truy vấn
Xử lý trong bộ nhớ (In-Memory)
Phân tích dữ liệu lớn
Tính chịu lỗi (Fault Tolerance)
Caching
Tính nhất quán và toàn vẹn dữ liệu
Two-Phase Commit
Graph Database
Apache Kafka
Materialized View
Consistency, Availability, Partition Tolerance
Cassandra
Tăng tốc độ truy vấn
Replication
Ghi lại các thay đổi để phục hồi
Apache Spark
Đảm bảo tính nhất quán
Indexing
Tính toàn vẹn tham chiếu
Couchbase
Lưu trữ dữ liệu thô đa dạng
In-Memory Database
Tự động thực thi hành động
Apache Flink
Lưu trữ tạm trong bộ nhớ
Không ghi ra đĩa
Khi tái sử dụng biểu thức phức tạp
Định nghĩa biểu thức dùng lại
Lặp lại đến khi đạt điều kiện
CTE
Dữ liệu phân cấp
Duyệt mối quan hệ bạn bè
Đường đi ngắn nhất
Tạo cấu trúc đệ quy
Tính toán cục bộ trên window
Qua các lệnh tạo và sửa đổi cấu trúc
Qua các lệnh cấp và thu hồi quyền
Qua các lệnh xác nhận và hoàn tác
Cây thư mục
Subquery
Giảm truy cập ổ đĩa
Xử lý danh mục con
Phân tích theo cửa sổ dữ liệu
Tái sử dụng biểu thức
Quy tắc đệ quy
Thay đổi nội dung cơ sở dữ liệu
Xác định cấu trúc cơ sở dữ liệu
Tính toàn vẹn của dữ liệu
Bảo mật và phân quyền
Giảm độ phức tạp của truy vấn phân cấp
Cấu trúc dữ liệu tăng tốc truy vấn
Giảm lượng truy cập bộ nhớ
Truy vấn với toán tử = hoặc <>
Không tìm được phần tử tiếp theo
Cây cân bằng (Tree)
Leaf Node
Truy vấn khoảng (BETWEEN, >, <)
Hàm băm (Hash Function)
Tốn thêm bộ nhớ
Bảng có dữ liệu lớn (>100K dòng)
Dữ liệu thay đoi thường xuyên
Insert và Update
Đơn giản hóa truy vấn phức tạp
Chỉ định row/column theo điều kiện
READ ONLY
Phụ thuộc vào base table
Base table thay đổi cấu trúc
Có thêm kiểm soát giao dịch và biến
Tập hợp câu lệnh T-SQL lưu trên server
Sử dụng lại plan cache
Che giấu logic xử lý
Giới hạn truy cập trực tiếp vào bảng
Khó gỡ lỗi
Thủ tục tự động chạy khi có sự kiện
Sự kiện trên bảng hoặc view
Cột dùng để tìm kiếm khoảng giá trị
Truy vấn với toán tử > hoặc <
Giảm hiệu năng hoạt động
Tương thích ngược
Tái sử dụng mã
Kiểm soát thay đổi dữ liệu
Khó xác định phần sử dụng
Cot trong WHERE, JOIN, ORDER BY
Hiệu suất truy vấn
Xử lý lỗi (TRY-CATCH)
Gửi một câu lệnh duy nhất
SELECT WHERE column = value
Hỗ trợ truy vấn khoảng
Tự động chạy khi có sự kiện
Thứ tự cột trong Index nhiều trường
Mã hóa dữ liệu
Xác minh danh tính người dùng
Sử dụng mật khẩu mạnh
Bảo vệ dữ liệu khi không sử dụng
Kiểm soát quyền truy cập
Sử dụng câu lệnh có tham số
Cập nhật phần mềm thường xuyên
Theo dõi các hành động trên CSDL
Mã hóa SSL/TLS
Chỉ cấp quyền tối thiểu cần thiết
Khôi phục dữ liệu sau sự cố
SQL Injection
Băm (hash) mật khẩu
Ngăn chặn truy cập trái phép
Giám sát hành vi (monitoring)
Qua phân quyền người dùng
Kiểm soát quyền truy cập
Sử dụng VPN
Giảm nguy cơ bị tấn công
Sao lưu định kỳ
Tăng cường bảo mật đăng nhập
Sử dụng WAF (Web Application Firewall)
Mã hóa trước khi lưu trữ
Sử dụng xác thực đa lớp
Giảm nguy cơ rò rỉ dữ liệu
Giới hạn số lần đăng nhập sai
Giới hạn số lần đăng nhập sai
Bảo vệ dữ liệu khi truyền tải
Thực hiện kiểm tra xâm nhập (penetration testing)
Mã hóa bất đối xứng
Phân tích hành vi truy vấn
Cấp độ tệp hoặc khối lưu trữ
Giới hạn tài nguyên truy vấn (query quota)
Áp dụng chính sách truy cập trên từng hàng
Thực hiện tính toán mà không lộ dữ liệu
Triển khai DLP (Data Loss Prevention)
Thay thế dữ liệu bằng mã token không thể đảo ngược
Khoa phiên không thể bị lộ ngay cả khi khoa dai hạn bị xâm phạm
Mã hóa dữ liệu trước khi phân mảnh
Thực hiện tính toán mà không cần giải mã
Thuộc tính của người dùng và tài nguyên
Giám sát thay đổi quyền bất thường
Xác minh liên tục mọi yêu cầu
Sử dụng chứng chỉ số (digital certificate)
Xác thực khóa nội bộ (internal key authentication)
Khi chia sẻ dữ liệu với bên thứ ba
Phân tích mẫu tấn công đã biết
Sử dụng phần cứng bảo mật (HSM)
Giảm nguy cơ lộ khóa dài hạn
Sử dụng hàm thời gian ngẫu nhiên
Một cơ sở dữ liệu NoSQL
Tài liệu JSON/BSON
Không có schema cố định
Hướng tài liệu (Document-oriented)
Linh hoạt trong cấu trúc dữ liệu
Binary JSON
Ngôn ngữ truy vấn dựa trên JSON
Tài liệu (Document)
Objectld
Collection
Có, từ phiên bản 4.0
Khó quản lý giao dịch phức tạp
Ứng dụng cần mở rộng ngang
Sharding
Dễ dàng mở rộng dữ liệu lớn
Tăng tốc độ truy vấn
Không
Chỉ mục trên _id
Tài liệu lồng nhau
Tạo chỉ mục (Indexing)
Không sử dụng bảng và cột
Replication
Tập hợp các máy chủ sao chép dữ liệu
Tiêu tốn bộ nhớ cao
Không
Sử dụng chỉ mục hợp lý
Có
Phân chia dữ liệu trên nhiều máy chủ
Có
Hỗ trợ dữ liệu phi cấu trúc
JavaScript
Xử lý và phân tích dữ liệu
Không, tùy thuộc vào ứng dụng
Dữ liệu thay đổi thường xuyên
Dễ dàng thêm trường mới
Không hoàn toàn
Collection có kích thước cố định
Có
Sử dụng sharding
Truy vấn dựa trên vị trí
insert()
Có
Không mạnh về tính toàn vẹn dữ liệu
BSON
Truy vấn dựa trên vị trí
insert()
Có
Không mạnh về tính toàn vẹn dữ liệu
BSON
remove()
Có
Tăng tính sẵn sàng
Không
update()
Phân tích dữ liệu lớn
Có
Đảm bảo độ bền của dữ liệu
Hỗ trợ truy vấn song song
MongoDB Atlas
find()
Có, với MongoDB Atlas
Phân phối tải trên nhiều máy chủ
Có
Tự động xóa tài liệu sau thời gian
Python
Tăng độ trễ trong ghi dữ liệu
Có
count()
Không
Tích hợp tự nhiên với JSON
Có
sort()
Có
Sử dụng caching
Có
limit()
Có
skip()
Không, dùng Objectld
Quản lý đám mây dễ dàng
drop()
Có
Chỉ mục cho mảng
Có
Sử dụng aggregation pipeline
Sexists
Theo dõi thay đổi trong collection
Có
Không hỗ trợ join tốt
$set
Có, với oplog
Đảm bảo giá trị không trùng lặp
Elasticsearch
Giới hạn dung lượng tự động
Amazon RDS
Amazon DynamoDB
Amazon Redshift
MySQL và PostgreSQL
Key-value và wide-column store
Amazon Neptune
400 KB
Amazon Aurora Global Database
Amazon ElastiCache
Đúng
Đúng
Sai
Không, AWS Glue chỉ dùng để xử lý dữ liệu từ S3, không hỗ trợ RDS.
Amazon Aurora Serverless
Redis va Memcached
Chuỗi thời gian
Gremlin va SPARQL
Sử dụng chỉ mục (Indexes)
AWS DMS (Database Migration Service)
Đúng
Đúng
Đúng
Đúng
Ghi nhận thay đổi dữ liệu
Đúng
Đúng
Apache Cassandra
Đúng
Azure SQL Database
NoSQL
Hỗ trợ toàn bộ SQL Server
Azure Cosmos DB
Kho dữ liệu và phân tích
Azure Cosmos DB
Single Server, Flexible Server
NoSQL key-value store
High Availability
Geo-Replication
Azure Database Migration Service
SQL, MongoDB, Gremlin
Azure Synapse Analytics
Sử dụng chỉ mục
Đúng
5
Đúng
Đúng
Caching dữ liệu
Đúng
Đúng
Đúng
Đúng
Đúng
Đúng
Đúng
Đúng
Cloud SQL
Firestore
BigQuery
Document-based NoSQL
Dữ liệu chuỗi thời gian và khối lượng lớn
MySQL, PostgreSQL, SQL Server
Phân tích dữ liệu quy mô lớn
Memorystore
Native Mode, Datastore Mode
Scalability, Consistency, Global Transactions
Đúng
Đúng
Đúng
Đúng
Đúng
Đúng
Redis, Memcached
Sai
Đúng
BigQuery
Đúng
loT, phân tích chuỗi thời gian
Đúng
Petabytes
Sai
Database Migration Service
Eventual và Strong Consistency
Đúng
Amazon Timestream
Autoscale
BigQuery