Mục lục:
Định nghĩa - NoQuery có nghĩa là gì?
NoQuery là một lớp các hệ thống quản lý cơ sở dữ liệu (DBMS) không tuân theo tất cả các quy tắc của DBMS quan hệ và không thể sử dụng SQL truyền thống để truy vấn dữ liệu. Thuật ngữ này có phần gây hiểu nhầm khi được hiểu là "Không có SQL" và hầu hết dịch nó là "Không chỉ SQL", vì loại cơ sở dữ liệu này thường không phải là một sự thay thế mà là một bổ sung bổ sung cho RDBMS và SQL.
Các hệ thống dựa trên NoQuery thường được sử dụng trong các cơ sở dữ liệu rất lớn, đặc biệt dễ xảy ra các vấn đề về hiệu năng do các hạn chế của SQL và mô hình cơ sở dữ liệu quan hệ. Nhiều người nghĩ rằng NoQuery là cơ sở dữ liệu hiện đại về sự lựa chọn mở rộng theo yêu cầu Web. Một số triển khai đáng chú ý của NoQuery là cơ sở dữ liệu Cassandra của Facebook, BigTable của Google và SimpleDB và Động của Amazon.
Techopedia giải thích về NoQuery
Cơ sở dữ liệu NoQuery không nhất thiết phải tuân theo các quy tắc nghiêm ngặt chi phối các giao dịch trong cơ sở dữ liệu quan hệ. Các quy tắc vi phạm này được biết đến bằng từ viết tắt ACID (Nguyên tử, Tính nhất quán, Tính toàn vẹn, Độ bền). Ví dụ: cơ sở dữ liệu NoQuery không sử dụng các cấu trúc lược đồ cố định và các phép nối SQL.
Trong một RDBMS truyền thống, các hoạt động cơ bản là đọc và ghi. Đọc có thể được thu nhỏ bằng cách sao chép dữ liệu vào nhiều máy, do đó, yêu cầu đọc cân bằng tải. Tuy nhiên, điều này ảnh hưởng đến việc ghi vì tính nhất quán của dữ liệu phải được duy trì. Viết chỉ có thể được thu nhỏ bằng cách phân vùng dữ liệu. Điều này ảnh hưởng đến việc đọc, vì các phép nối phân tán thường chậm và khó thực hiện. Ngoài ra, để duy trì các thuộc tính ACID, cơ sở dữ liệu phải khóa dữ liệu. Điều này có nghĩa là khi một người dùng mở một mục dữ liệu, không người dùng nào khác có thể thực hiện thay đổi cho cùng một mục. Hạn chế này có ý nghĩa nghiêm trọng về hiệu suất.
Những hạn chế này không phải là một vấn đề lớn trong quá khứ. Tuy nhiên, với sự ra đời của mạng xã hội và dữ liệu lớn, một số cơ sở dữ liệu khổng lồ xuất hiện đã buộc phải phục vụ hàng chục, thậm chí hàng trăm, hàng triệu khách hàng trên khắp thế giới với vài nghìn lượt đọc và viết mỗi phút. Các RDBMS truyền thống đơn giản là không đáp ứng nhu cầu này vì chúng chỉ có thể "tăng quy mô" hoặc tăng tài nguyên trên một máy chủ trung tâm. Mặt khác, việc triển khai NoQuery có thể "mở rộng quy mô" hoặc phân phối tải cơ sở dữ liệu trên nhiều máy chủ hơn.
Cơ sở dữ liệu NoQuery tập trung vào các loại vấn đề cụ thể - từ linh hoạt hơn về dữ liệu được lưu trữ (kho lưu trữ tài liệu), đến các trường hợp sử dụng, như mối quan hệ (cơ sở dữ liệu đồ thị) và tổng hợp dữ liệu (cơ sở dữ liệu cột) hoặc chỉ đơn giản hóa ý tưởng của cơ sở dữ liệu xuống một cái gì đó lưu trữ một giá trị (lưu trữ khóa / giá trị).
Cơ sở dữ liệu NoQuery cung cấp các lợi thế về khả năng mở rộng nhanh, hiệu năng tốt hơn nhiều và cấu trúc đơn giản hơn so với RDBMS. Tuy nhiên, họ cũng phải chịu một công nghệ tương đối mới và chưa được chứng minh và họ không thể cung cấp chức năng phân tích và báo cáo phong phú của RDBMS.