Tổng quan về Cơ sở dữ liệu NoSQL

Mục lục:

Tổng quan về Cơ sở dữ liệu NoSQL
Tổng quan về Cơ sở dữ liệu NoSQL
Anonim

Từ viết tắt NoSQL được đặt ra vào năm 1998. Nhiều người nghĩ NoSQL là một thuật ngữ xúc phạm được tạo ra để chọc ngoáy SQL. Trong thực tế, thuật ngữ này có nghĩa là Không chỉ SQL. Ý tưởng là cả hai công nghệ có thể cùng tồn tại và mỗi công nghệ đều có vị trí của nó. Phong trào NoSQL đã xuất hiện trong vài năm qua khi nhiều nhà lãnh đạo Web 2.0 đã áp dụng công nghệ NoSQL. Các công ty như Facebook, Twitter, Digg, Amazon, LinkedIn và Google đều sử dụng NoSQL theo cách này hay cách khác. Hãy phân tích NoSQL để bạn có thể giải thích nó với CIO hoặc thậm chí đồng nghiệp của bạn.

Image
Image

NoSQL Nổi lên từ Nhu cầu

Lưu trữ Dữ liệu:Dữ liệu kỹ thuật số được lưu trữ trên thế giới được đo bằng exabyte. Một exabyte tương đương với một tỷ gigabyte (GB) dữ liệu. Theo Internet.com, lượng dữ liệu lưu trữ được thêm vào năm 2006 là 161 exabyte. Chỉ 4 năm sau vào năm 2010, lượng dữ liệu được lưu trữ sẽ là gần 1.000 ExaBytes, tăng hơn 500%. Nói cách khác, có rất nhiều dữ liệu đang được lưu trữ trên thế giới và dữ liệu đó sẽ tiếp tục phát triển.

Dữ liệu được kết nối với nhau:Dữ liệu tiếp tục được kết nối nhiều hơn. Việc tạo ra web được nuôi dưỡng trong các siêu liên kết, các blog có pingback và mọi hệ thống mạng xã hội lớn đều có các thẻ gắn kết mọi thứ lại với nhau. Các hệ thống chính được xây dựng để kết nối với nhau.

Cấu trúc dữ liệu phức tạp:NoSQL có thể xử lý các cấu trúc dữ liệu lồng nhau phân cấp một cách dễ dàng. Để thực hiện điều tương tự trong SQL, bạn sẽ cần nhiều bảng quan hệ với tất cả các loại khóa. Ngoài ra, có một mối quan hệ giữa hiệu suất và độ phức tạp của dữ liệu. Hiệu suất có thể giảm trong RDBMS truyền thống khi chúng tôi lưu trữ lượng lớn dữ liệu cần thiết trong các ứng dụng mạng xã hội và web ngữ nghĩa.

NoSQL là gì?

Tôi đoán một cách để định nghĩa NoSQL là xem xét nó không phải là gì. Nó không phải là SQL và nó không phải là quan hệ. Giống như tên cho thấy, nó không phải là một sự thay thế cho một RDBMS nhưng khen ngợi nó. NoSQL được thiết kế cho các kho dữ liệu phân tán cho nhu cầu dữ liệu quy mô rất lớn. Hãy nghĩ về Facebook với 500.000.000 người dùng hoặc Twitter tích lũy hàng chục Terabit dữ liệu mỗi ngày.

Trong cơ sở dữ liệu NoSQL, không có lược đồ cố định và không có phép nối. RDBMS "mở rộng quy mô" bằng cách nhận phần cứng ngày càng nhanh hơn và thêm bộ nhớ. Mặt khác, NoSQL có thể tận dụng lợi thế của việc "mở rộng quy mô". Mở rộng quy mô đề cập đến việc dàn trải tải trọng trên nhiều hệ thống hàng hóa. Đây là thành phần của NoSQL làm cho nó trở thành một giải pháp rẻ tiền cho các tập dữ liệu lớn.

Danh mục NoSQL

Thế giới NoSQL hiện tại phù hợp với 4 loại cơ bản.

  1. Cửa hàng khóa-giá trịchủ yếu dựa trên Giấy Dynamo của Amazon được viết vào năm 2007. Ý tưởng chính là sự tồn tại của một bảng băm trong đó có một khóa duy nhất và một con trỏ đến một mục dữ liệu cụ thể. Những ánh xạ này thường đi kèm với cơ chế bộ nhớ cache để tối đa hóa hiệu suất.
  2. Column Family Storesđược tạo ra để lưu trữ và xử lý một lượng rất lớn dữ liệu được phân phối trên nhiều máy. Vẫn có các phím nhưng chúng trỏ đến nhiều cột. Trong trường hợp BigTable (mô hình Column Family NoSQL của Google), các hàng được xác định bằng một khóa hàng với dữ liệu được sắp xếp và lưu trữ bằng khóa này. Các cột được sắp xếp theo họ cột.

  3. Cơ sở dữ liệu Tài liệuđược lấy cảm hứng từ Lotus Notes và tương tự như các cửa hàng khóa giá trị. Mô hình về cơ bản là các tài liệu được tạo phiên bản, là bộ sưu tập của các bộ sưu tập khóa-giá trị khác. Các tài liệu bán cấu trúc được lưu trữ ở các định dạng như JSON.
  4. Cơ sở dữ liệu Đồ thịs được xây dựng với các nút, mối quan hệ giữa các ghi chú và thuộc tính của các nút. Thay vì các bảng gồm các hàng và cột và cấu trúc cứng nhắc của SQL, một mô hình đồ thị linh hoạt được sử dụng có thể chia tỷ lệ trên nhiều máy.

Người chơi NoSQL lớn

Những người chơi chính trong NoSQL đã nổi lên chủ yếu nhờ các tổ chức đã áp dụng chúng. Một số công nghệ NoSQL lớn nhất bao gồm:

  • Dynamo:Dynamo được tạo bởi Amazon.com và là cơ sở dữ liệu NoSQL Key-Value nổi bật nhất. Amazon cần một nền tảng phân tán có khả năng mở rộng cao cho các doanh nghiệp thương mại điện tử của họ nên họ đã phát triển Dynamo. Amazon S3 sử dụng Dynamo làm cơ chế lưu trữ.
  • Cassandra:Cassandra được mở bởi Facebook và là một cơ sở dữ liệu NoSQL hướng cột.
  • BigTable:BigTable là cơ sở dữ liệu hướng cột độc quyền của Google. Google cho phép sử dụng BigTable nhưng chỉ dành cho Google App Engine.
  • SimpleDB:SimpleDB là một cơ sở dữ liệu khác của Amazon. Được sử dụng cho Amazon EC2 và S3, nó là một phần của Dịch vụ Web Amazon tính phí tùy thuộc vào việc sử dụng.
  • CouchDB:CouchDB cùng với MongoDB là cơ sở dữ liệu NoSQL hướng tài liệu nguồn mở.
  • Neo4J:Neo4j là cơ sở dữ liệu đồ thị mã nguồn mở.

Truy vấn NoSQL

Câu hỏi làm thế nào để truy vấn một cơ sở dữ liệu NoSQL là điều mà hầu hết các nhà phát triển đều quan tâm. Sau cùng, dữ liệu được lưu trữ trong một cơ sở dữ liệu khổng lồ sẽ chẳng ích lợi gì nếu bạn không thể truy xuất và hiển thị nó cho người dùng cuối hoặc các dịch vụ web. Cơ sở dữ liệu NoSQL không cung cấp ngôn ngữ truy vấn khai báo cấp cao như SQL. Thay vào đó, truy vấn các cơ sở dữ liệu này là>PREFIX foaf:

SELECT? Url

FROM

WHERE {

? Người đóng góp foaf: tên "Jon Foobar".

? Người đóng góp foaf: weblog? Url.

}

Tương lai của NoSQL

Các tổ chức có nhu cầu lưu trữ dữ liệu lớn đang xem xét nghiêm túc NoSQL. Rõ ràng, khái niệm này không nhận được nhiều sức hút trong các tổ chức nhỏ hơn. Trong một cuộc khảo sát được thực hiện bởi Tuần lễ Thông tin, 44% các chuyên gia CNTT kinh doanh chưa nghe nói về NoSQL. Hơn nữa, chỉ 1% số người được hỏi báo cáo rằng NoSQL là một phần trong định hướng chiến lược của họ. Rõ ràng, NoSQL có chỗ đứng trong thế giới kết nối của chúng ta nhưng sẽ cần tiếp tục phát triển để có được sức hấp dẫn đại chúng mà nhiều người nghĩ rằng nó có thể có.

Đề xuất: