Cơ sở dữ liệu quan hệ và không quan hệ

Khái niệm cơ sở dữ liệu quan hệ (SQL): Cơ sở dữ liệu quan hệ là loại cơ sở dữ liệu sử dụng mô hình quan hệ (mô hình bảng hai chiều) để tổ chức dữ liệu. Mô hình quan hệ là gì: Mô hình quan hệ có thể hiểu đơn giản là mô hình bảng hai chiều, và một cơ sở dữ liệu quan hệ bao gồm các bảng hai chiều và mối quan hệ giữa chúng. Hệ quản trị cơ sở dữ liệu quan hệ phổ biến (ORDBMS):
Oracle
MySQL
Microsoft SQL Server
SQLite
PostgreSQL
IBM DB2
Ưu điểm của cơ sở dữ liệu quan hệ:
Sử dụng cấu trúc bảng hai chiều rất gần gũi với logic phát triển thông thường (mô hình quan hệ dễ hiểu hơn so với các mô hình phân cấp hoặc mạng lưới);

Hỗ trợ ngôn ngữ truy vấn SQL phổ biến;

Tính toàn vẹn phong phú giúp giảm thiểu sự dư thừa và không nhất quán trong dữ liệu. Tất cả đều được tổ chức thành các bảng, định dạng tệp thống nhất;

Có thể thực hiện các truy vấn phức tạp trên nhiều bảng bằng câu lệnh SQL;

Cơ sở dữ liệu quan hệ cung cấp hỗ trợ cho các giao dịch, đảm bảo tính chính xác của các giao dịch trong hệ thống, đồng thời cung cấp khả năng phục hồi, hoàn tác, kiểm soát đồng thời và giải quyết vấn đề deadlock.

Dữ liệu được lưu trữ trên đĩa cứng, an toàn và đáng tin cậy.
Nhược điểm của cơ sở dữ liệu quan hệ: Với sự phát triển liên tục của doanh nghiệp internet, lượng dữ liệu ngày càng tăng, do đó cơ sở dữ liệu quan hệ đối mặt với nhiều hạn chế khi xử lý lượng dữ liệu khổng lồ.
Khả năng đọc/ghi đồng thời kém: Truy cập đồng thời từ người dùng website rất cao, nhưng số kết nối tối đa của một cơ sở dữ liệu có giới hạn và tốc độ I/O của ổ cứng cũng có giới hạn, không đáp ứng được nhu cầu kết nối đồng thời của nhiều người.

Hiệu suất đọc/ghi thấp trong trường hợp dữ liệu lớn: Khi thực hiện thao tác đọc/ghi trên các bảng có khối lượng dữ liệu lớn, cần phải chờ đợi thời gian phản hồi lâu.

Khả năng mở rộng kém: Không giống như server web và app server, việc thêm phần cứng và nút dịch vụ để mở rộng hiệu suất và khả năng tải công việc không hề đơn giản.

Độ linh hoạt của mô hình dữ liệu thấp: Mô hình dữ liệu của cơ sở dữ liệu quan hệ được định nghĩa chặt chẽ, không thể nhanh chóng chứa chấp các kiểu dữ liệu mới (cần biết trước loại dữ liệu sẽ lưu trữ).
Cơ sở dữ liệu không quan hệ (NOSQL):
Khái niệm cơ sở dữ liệu không quan hệ (NOSQL):

    Cơ sở dữ liệu không quan hệ còn được gọi là NoSQL (Not Only SQL), ý nghĩa là không chỉ có SQL. Thường thì dữ liệu được lưu trữ dưới dạng đối tượng trong cơ sở dữ liệu, và mối quan hệ giữa các đối tượng được xác định bởi các thuộc tính của mỗi đối tượng, thường được sử dụng để lưu trữ dữ liệu phi cấu trúc.


Các cơ sở dữ liệu NOSQL phổ biến:

    Cơ sở dữ liệu key-value: Redis, Memcached, Riak

    Cơ sở dữ liệu cột: Bigtable, HBase, Cassandra

    Cơ sở dữ liệu tài liệu: MongoDB, CouchDB, MarkLogic

    Cơ sở dữ liệu đồ thị: Neo4j, InfoGrid

Ưu điểm của cơ sở dữ liệu không quan hệ:

    Định dạng lưu trữ dữ liệu của cơ sở dữ liệu không quan hệ có thể là dạng key-value, tài liệu, hình ảnh, v.v. Sử dụng linh hoạt, phạm vi ứng dụng rộng rãi, trong khi cơ sở dữ liệu quan hệ chỉ hỗ trợ các kiểu dữ liệu cơ bản.

    Tốc độ nhanh, hiệu quả cao. NoSQL có thể sử dụng đĩa cứng hoặc bộ nhớ ngẫu nhiên làm phương tiện lưu trữ, trong khi cơ sở dữ liệu quan hệ chỉ có thể sử dụng đĩa cứng.

    Dễ dàng duy trì và xử lý dữ liệu khổng lồ, chi phí thấp.

    Cơ sở dữ liệu không quan hệ có ưu điểm mở rộng đơn giản, khả năng chịu tải cao, ổn định, chi phí thấp.

    Có thể thực hiện xử lý phân tán dữ liệu.

Nhược điểm của cơ sở dữ liệu không quan hệ:

    Hiện tại, cơ sở dữ liệu không quan hệ chưa hỗ trợ SQL, chi phí học tập và sử dụng cao.

    Không có xử lý giao dịch trong cơ sở dữ liệu không quan hệ, không đảm bảo tính toàn vẹn và an toàn của dữ liệu. Phù hợp xử lý dữ liệu khổng lồ, nhưng không chắc chắn an toàn.

    Chức năng không đầy đủ như cơ sở dữ liệu quan hệ.

    Khó thực hiện các truy vấn liên kết bảng phức tạp.

Thẻ: sql nosql Cơ sở dữ liệu quan hệ Cơ sở dữ liệu không quan hệ Hệ quản trị cơ sở dữ liệu

Đăng vào ngày 4 tháng 6 lúc 06:48