Không có ràng buộc nào trong cơ sở dữ liệu NoSQL có nghĩa là dữ liệu hoàn toàn linh hoạt. Điều này thoạt nghe có vẻ hấp dẫn vì nó tiết kiệm thời gian phát triển bằng cách không xác định bất kỳ cột hoặc kiểu dữ liệu nào tại thời điểm bắt đầu các bộ sưu tập của bạn. Nhưng sự linh hoạt nhiều này sẽ phải trả giá đắt, đặc biệt là khi cơ sở dữ liệu của bạn phát triển đủ lớn và một số tài liệu có thể chứa các giá trị xấu hoặc thiếu thuộc tính, khó tìm thấy từ các truy vấn. Đổi lại, điều này có thể thay đổi tập hợp kết quả của các truy vấn và cuối cùng làm ảnh hưởng đến các quyết định kinh doanh của bạn.
Mặt khác, cơ sở dữ liệu quan hệ yêu cầu các bảng và cột được xác định trước khi bạn bắt đầu truy cập cơ sở dữ liệu của mình. Bởi vì dữ liệu này được lưu trữ ở định dạng nghiêm ngặt, không có khả năng xảy ra bất kỳ giá trị xấu hoặc thiếu thuộc tính nào và trả về kết quả truy vấn chính xác. Tất nhiên, việc đảm bảo các quy tắc định dạng nghiêm ngặt sẽ giết chết hoàn toàn mọi tính linh hoạt của dữ liệu mà bạn có và làm chậm khả năng thêm và do đó truy vấn dữ liệu mới.
Hạn chế tính linh hoạt của dữ liệu
Nhưng không phải lo lắng, bạn có thể có những gì tốt nhất của cả hai thế giới bằng cách sử dụng các trình kích hoạt NoSQL. Trong NosDB, Cơ sở dữ liệu tài liệu NoSQL dựa trên .NET, bạn có thể sử dụng trình kích hoạt để xác thực dữ liệu của mình và thực thi các quy tắc dữ liệu đảm bảo tính nhất quán của định dạng dữ liệu cho dù cơ sở dữ liệu của bạn có lớn đến mức nào. Kích hoạt là các chức năng được đăng ký chống lại một hoạt động cơ sở dữ liệu. Chúng được thực thi để phản hồi lại thao tác đang được thực hiện, do đó 'kích hoạt' hàm.
Để sử dụng, chỉ cần tạo một lớp .NET và triển khai Alachisoft.NosDB.Common.Triggers.IDatabaseTrigger từ thư viện NosDB Common có trong thư mục cài đặt. Có hai phương pháp khả dụng nhưng chúng tôi sẽ chỉ sử dụng phương pháp PreTrigger và giữ nguyên phương pháp PostTrigger, vì chúng tôi chỉ muốn xác thực dữ liệu của mình trước khi thêm nó vào bộ sưu tập. Đây là mã ví dụ:
Mã này đảm bảo hai điều.
- Trả về "false" để từ chối đối tượng nếu chúng ta thiếu một thuộc tính.
- Cập nhật Tài liệu JSON, nếu bị thiếu, với giá trị mặc định và trả về "true" để chấp nhận dữ liệu.
Chúng tôi cũng có thể kiểm tra xem một thuộc tính có thuộc loại dữ liệu chính xác hay không và từ chối mục nhập dữ liệu nếu cần.
Để đăng ký trình kích hoạt này với một bộ sưu tập, hãy mở NosDB Management Studio. Kết nối với một cụm và chọn một bộ sưu tập từ cơ sở dữ liệu. Mở rộng lên đến 'Bộ sưu tập' và hiển thị menu ngữ cảnh bằng cách nhấp chuột phải vào Trình kích hoạt CLR. Làm theo trình hướng dẫn đăng ký kích hoạt. Hãy xem hình sau để biết rõ hơn:
Vì chúng tôi chỉ quan tâm đến việc xác thực dữ liệu trên mỗi lần chèn (như được hiển thị từ đoạn mã trên ) bạn chỉ cần đăng ký PreInsert Trigger. Và thế là xong!
NosDB là Nguồn mở và Cơ sở dữ liệu .NET NoSQL gốc 100% (được phát hành theo Giấy phép Apache 2.0). NosDB siêu nhanh và có thể mở rộng tuyến tính, cho phép các ứng dụng .NET của bạn xử lý tải giao dịch cực đoan (XTP) và nó hoạt động trong Visual Studio.
NosDB cũng giúp bạn tăng tốc phát triển .NET bằng cách cung cấp một lược đồ JSON linh hoạt. Với JSON, bạn có thể nhanh chóng điều chỉnh các yêu cầu dữ liệu đang thay đổi của mình, do đó giảm thời gian tiếp thị.