Cơ sở dữ liệu NoSQL không sử dụng mô hình bảng quan hệ. Loại này bao gồm các kho lưu trữ tài liệu, kho lưu trữ cặp khóa-giá trị, cơ sở dữ liệu đồ thị và kho lưu trữ cột rộng. Mỗi loại giải quyết một vấn đề khác nhau. Kho lưu trữ tài liệu như MongoDB lưu trữ các bản ghi giống JSON. Kho lưu trữ cặp khóa-giá trị như Redis ánh xạ các khóa đến giá trị để tra cứu nhanh. Cơ sở dữ liệu đồ thị như Neo4j mô hình hóa các mối quan hệ giữa các thực thể. Kho lưu trữ cột rộng như Cassandra xử lý khối lượng ghi khổng lồ trên các nút phân tán. Điểm chung là tính linh hoạt. Cơ sở dữ liệu NoSQL nới lỏng các ràng buộc lược đồ mà cơ sở dữ liệu quan hệ áp đặt.
Tính linh hoạt đó vừa là điểm hấp dẫn vừa là rủi ro. Một kho lưu trữ tài liệu chấp nhận các bản ghi với các trường khác nhau. Điều đó giúp dễ dàng phát triển mô hình dữ liệu mà không cần di chuyển dữ liệu. Nó cũng dễ dẫn đến việc tạo ra dữ liệu không nhất quán. Ứng dụng phải thực thi các quy tắc mà cơ sở dữ liệu không thực thi. Cơ sở dữ liệu NoSQL cũng mở rộng theo chiều ngang dễ dàng hơn so với các hệ thống quan hệ truyền thống. Chúng phân phối dữ liệu trên nhiều máy chủ, giúp xử lý lưu lượng truy cập cao và các tập dữ liệu lớn. Sự đánh đổi là tính nhất quán. Nhiều cơ sở dữ liệu NoSQL cung cấp tính nhất quán cuối cùng hơn là tính nhất quán mạnh. Các nút khác nhau có thể thấy các giá trị khác nhau trong một thời gian ngắn. Điều đó có thể chấp nhận được đối với nguồn cấp dữ liệu mạng xã hội. Nhưng không thể chấp nhận được đối với số dư ngân hàng. Lựa chọn đúng đắn phụ thuộc vào dữ liệu và các đảm bảo mà ứng dụng cần.
Các loại cơ sở dữ liệu NoSQL
- Tài liệu — Các bản ghi giống JSON, lược đồ linh hoạt
- Cặp khóa-giá trị — các cặp đơn giản, tra cứu nhanh.
- Đồ thị — các nút và mối quan hệ
- Cột rộng — phân tán, thông lượng ghi cao
- Chuỗi thời gian — được tối ưu hóa cho dữ liệu có dấu thời gian
NoSQL không tốt hơn SQL. Chúng khác nhau. Công cụ phù hợp phụ thuộc vào vấn đề cần giải quyết.
Comments
No comments yet. Be the first to share a thought.
Leave a comment