Cơ sở dữ liệu phân tán (Distributed Database) là một hệ thống cơ sở dữ liệu mà dữ liệu không lưu trữ tập trung ở một nơi, mà được phân tán trên nhiều máy tính khác nhau, nhưng vẫn hoạt động như một hệ thống thống nhất.
✅ Ví dụ đơn giản:
Giả sử bạn có một ứng dụng với người dùng ở Hà Nội, Đà Nẵng, và TP.HCM:
Dữ liệu người dùng ở Hà Nội được lưu ở máy chủ Hà Nội
Dữ liệu ở Đà Nẵng và TP.HCM được lưu ở các máy chủ tại các khu vực tương ứng
Tuy nhiên, ứng dụng vẫn truy cập dữ liệu như thể tất cả lưu ở một nơi → Đó chính là cơ sở dữ liệu phân tán.
✅ Đặc điểm chính:
Phân tán vật lý: Dữ liệu nằm ở nhiều vị trí địa lý khác nhau (site, server).
Tập trung logic: Người dùng tương tác như với một CSDL duy nhất.
Tự động đồng bộ hóa: Hệ thống đảm bảo tính nhất quán dữ liệu giữa các node.
Chịu lỗi: Nếu một node gặp sự cố, hệ thống có thể tiếp tục hoạt động.
✅ Ưu điểm:
📈 Hiệu suất cao hơn do truy vấn dữ liệu gần nơi sử dụng.
🔒 Tăng độ tin cậy và khả năng chịu lỗi.
🌐 Khả năng mở rộng tốt hơn (dễ dàng thêm node).
⚡ Tăng tốc độ truy cập ở các khu vực địa lý khác nhau.
✅ Nhược điểm:
⚠️ Quản lý phức tạp hơn (đồng bộ, bảo mật, xử lý lỗi).
🕒 Truy vấn có thể chậm nếu dữ liệu nằm xa hoặc mất kết nối.
💸 Chi phí triển khai và duy trì cao hơn so với CSDL tập trung.
✅ Ví dụ về hệ thống sử dụng CSDL phân tán:
Google Spanner
Apache Cassandra
MongoDB (Sharding)
Amazon DynamoDB
✅ So sánh với CSDL tập trung:
Tiêu chí CSDL Tập trung CSDL Phân tán
Vị trí lưu dữ liệu Một nơi duy nhất Nhiều nơi
Tốc độ truy cập Phụ thuộc vào khoảng cách Gần hơn, nhanh hơn
Khả năng chịu lỗi Thấp nếu máy chủ hỏng Cao do có nhiều node
Quản lý dữ liệu Dễ hơn Phức tạp hơn