TÀI LIỆU CÀI ĐẶT VÀ TRUY VẤN RAVENDB Cài đặt RavenDB Cài đặt authentication (xác thực) và authorization (ủy quyền) cho phía client Các thành phần cấu tạo và phương thức lưu trữ: DocumentStore, Session, Storing, Loading, Deleting Các loại truy vấn: Session Query, Query syntax, Raw Query Cách truy vấn các thành phần RavenDB Một số phương thức mở rộng dùng LINQ
TÀI LIỆU CÀI ĐẶT VÀ TRUY VẤN RAVENDB By VNQMAI Cài đặt Server Tải server package trang: https://ravendb.net/downloads Cài đặt Giải nén server package mở file run.ps1 (hoặc run.sh) | Tài liệu cài đặt truy vấn RavenDB Màn hình cài đặt xuất trình duyệt Kéo cuộn xuống cuối chọn Accept Có lựa chọn bảo mật cho máy chủ gồm: Secure: Generate Let’s Encrypt Certificate Provide Your Own Certificate Unsecure Ở ta chọn Generate Let’s Encrypt Certificate | Tài liệu cài đặt truy vấn RavenDB Yêu cầu nhập license key xuất Ta chọn Get license Xuất gói dịch vụ Ta chọn Commuity miễn phí Ta điền form sau để nhận mail chứa license key (email phải ghi xác để nhận key) | Tài liệu cài đặt truy vấn RavenDB Sau submit, ta đợi mail chứa key nhập vào Nhập tên miền server chọn Next | Tài liệu cài đặt truy vấn RavenDB Add node | Tài liệu cài đặt truy vấn RavenDB Hoàn thành cài đặt cấu hình server, file zip chứa cấu hình certificate ssl yêu cầu tải về, ta tải chúng chọn Restart Sertver với tên node vừa add, https://doan.nhom85.ravendb.comunity | Tài liệu cài đặt truy vấn RavenDB Cách thức truy vấn xử lý liệu RavenDB ngơn ngữ lập trình cụ thể (C# NET core) Sau mở chạy server, để viết ứng dụng bạn cần có thư viện hỗ trợ mặt Client: ● NET có NuGet ● Java có Maven ● Node.js có NPM ● Python có PyPi ● Ruby ● Go Ở đây, sử dụng NET với NuGet | Tài liệu cài đặt truy vấn RavenDB Các thành phần cấu tạo phương thức lưu trữ, tải liệu delete DocumentStore DocumentStore đối tượng để tạo quản lý kết nối RavenDB server (hoặc cluster) ứng dụng bạn Document store có danh sách địa (Url) đến node RavenDB server Để tạo DocumentStore, bạn cần có danh sách địa chỉ đến node cua RavenDB server, ta có địa node https://doan.nhom85.ravendb.community Nội dung code sau Đoạn code tạo kênh kết nối ứng dụng local RavenDB server Ngồi ta database cụ thể server ta có database “Northwind” Cài đặt authentication (xác thực) authorization (ủy quyền) cho phía client Để client vào web có kết nối với RavenDB server ta cần kết nối chứng nhận ta cài đặt server tải vào code Session Sau tạo document store, dùng database đến Để tương tác với RavenDB, cần tạo đối tượng session document store Đối tượng session bao gồm thứ cần để tương tác với database Session sử dụng để tương tác với liệu Session khác với DocumentStore, đối tượng nhẹ tạo thường xuyên DocumentStore Ví dụ, ứng dụng web, cách tương tác phổ biến (được khuyến khích) tạo Session cho lần request | Tài liệu cài đặt truy vấn RavenDB Storing RavenDB Database dạng Document Các đối tượng lưu trữ gợi documents Mỗi document bao gồm unique ID để xác định document đó, data metadata, tất lưu trữ dạng JSON Metadata bao gồm thông tin mơ tả document, ví dụ ngày sửa đổi cuối (@last-modified property) tập hợp hỗ trợ(@collection property) Dùng lệnh Store để lưu liệu vào database Loading Session giúp cho thay đổi đối tượng theo giỏi tự động Lệnh SaveChanges đồng (với server) document thay đổi với session Tất thay đổi gửi request (tiết kiệm câu lệnh truy vấn) tiến hành transaction Truy vấn product Dùng lệnh Include(x=>x.Category) để chọn tập hợp giá trị thuộc tính Category bảng Product Dùng lệnh Load(productId) để duyệt tìm tập hợp chọn có giá trị productId load vào biến product Truy vấn category Không cần Include mà dùng Load RavenDB gọi thuộc tính cần xét để kiểm tra load vào biến category | Tài liệu cài đặt truy vấn RavenDB Deleting Cách 1: Khởi tạo employee mẫu để duyệt tìm Dùng session.Delete(employee) để xóa employee giống với employee khởi tạo Cách 2: Dùng session.Delete(“employees/1”) để xóa employee có mã employees/1 Truy vấn (Querying) Các lệnh truy vấn biên dịch thành ngôn ngữ truy vấn Raven Query Language (RQL) Truy vấn RavenDB Client hỗ trợ truy vấn sử dụng LINQ Chức cho phép sử dụng phương thức truy vấn Session Query, phương thức phổ biến để truy vấn sở liệu Ví dụ 1: Hãy thực thi truy vấn trả tất employees Northwind database Để làm điều đó, cần có document store mở session kiểu liệu trả mà muốn truy vấn (trong trường hợp Employees) cách thêm tham số Employee vào phương thức truy vấn: Ví dụ 2: Filtering (Chọn lọc) Để lọc kết quả, sử dụng phương thức LINQ thích hợp, Where: 10 | Tài liệu cài đặt truy vấn RavenDB Ví dụ 3: Paging (Phân trang) Phân trang đơn giản Các phương thức Take Skip sử dụng: Ví dụ 4: Querying Specified Index (Truy vấn với index cụ thể) Trong ví dụ trên, khơng index mà muốn truy vấn RavenDB cố gắng xác định index thích hợp tạo Để index, cần thêm index làm tham số thứ cho phương thức Query thêm index name làm tham số 11 | Tài liệu cài đặt truy vấn RavenDB Các loại truy vấn Session Query Cách đơn giản để truy vấn sử dụng phương thức Query, hỗ trợ sử dụng LINQ để truy vấn Để làm quen với khả truy vấn đặc biệt RavenDB, API truy vấn cung cấp phương thức mở rộng đề cập sau Ví dụ 1: Ví dụ không yêu cầu bạn index name RavenDB tạo index tự động cần thiết Employee tham số kiểu tổng quát không định nghĩa kết trả về, mà cịn cho biết tập kết truy vấn Employees Ví dụ 2: LINQ Syntax Method syntax Query syntax Raw Query Truy vấn RavenDB sử dụng ngôn ngữ SQL gọi RavenDB Query Language (RQL) Tất truy vấn sinh RQL gửi đến server Session cho phép ta tăng tốc độ truy vấn thẳng đến RQL cách sử dụng phương thức RawQuery 12 | Tài liệu cài đặt truy vấn RavenDB Một số phương thức mở rộng dùng LINQ Phương thức Ý nghĩa ofType Nhận kết trả từ server map chúng vào kiểu liệu T Group By Gom nhóm Include Xử lý quan hệ documents Select Có thể chọn fields từ document bạn muốn truy vấn truy vấn phức tạp MoreLikeThis Trả documents tương tự theo tiêu chí option cung cấp 13 | Tài liệu cài đặt truy vấn RavenDB