Hướng dẫn in-memory graph database python - cơ sở dữ liệu đồ thị trong bộ nhớ python
Vì MemGraph là cơ sở dữ liệu đồ thị chỉ lưu trữ dữ liệu trong bộ nhớ, thư viện GQLalchemy cung cấp giải pháp lưu trữ trên đĩa cho các thuộc tính lớn không được sử dụng trong các thuật toán đồ thị.
Điều gì xảy ra ở đây?
Lưu các thuộc tính lớn trong cơ sở dữ liệu trên đĩaNhiều biểu đồ được sử dụng trong cơ sở dữ liệu đồ thị có các nút có nhiều siêu dữ liệu được sử dụng trong các tính toán đồ thị. Cơ sở dữ liệu đồ thị được thiết kế để thực hiện hiệu quả với các thuộc tính lớn như chuỗi hoặc tệp sàn. Vấn đề thường được giải quyết bằng cách sử dụng cơ sở dữ liệu SQL riêng biệt hoặc lưu trữ giá trị khóa để kết nối các thuộc tính lớn với ID của nút. Mặc dù giải pháp rất đơn giản, nhưng nó rất cồng kềnh để thực hiện và duy trì. Chưa kể, bạn phải làm điều đó cho mỗi dự án từ đầu. Chúng tôi đã xác định được vấn đề và quyết định hành động. Với việc phát hành GQLalchemy 1.1, bạn có thể dễ dàng xác định các thuộc tính nào sẽ được lưu trong cơ sở dữ liệu đồ thị và trong giải pháp lưu trữ trên đĩa. Bạn có thể làm điều đó một lần, trong định nghĩa mô hình và không bao giờ lo lắng nữa nếu các thuộc tính được lưu hoặc tải đúng cách từ cơ sở dữ liệu chính xác. Làm thế nào nó hoạt động?GQLalchemy là một thư viện Python nhằm mục đích trở thành bản đồ đồ thị đối tượng (OGM)-một liên kết giữa các đối tượng cơ sở dữ liệu đồ thị và các đối tượng Python. Nó được xây dựng trên đỉnh của Pydantic và cung cấp mô hình hóa, xác thực, tuần tự hóa và giải phóng hóa ra khỏi hộp. Với GQLalchemy, bạn có thể xác định các lớp Python ánh xạ tới các đối tượng đồ thị như các nút và mối quan hệ trong cơ sở dữ liệu đồ thị. Mỗi lớp như vậy có các thuộc tính hoặc trường chứa dữ liệu về các đối tượng đồ thị. Khi bạn muốn một thuộc tính được lưu trên đĩa thay vì cơ sở dữ liệu trong bộ nhớ, bạn chỉ định rằng với đối số 8.
Hướng dẫn này ảnh hưởng đến việc tuần tự hóa nút và giải phóng hóa khi nó được lưu hoặc tải từ cơ sở dữ liệu. Trước khi có thể sử dụng nó, bạn phải chỉ định việc triển khai 9 mà bạn muốn sử dụng. Ví dụ, chúng tôi sẽ sử dụng triển khai SQLite.
Bây giờ, mỗi khi bạn lưu hoặc tải một đối tượng biểu đồ từ cơ sở dữ liệu biểu đồ, các thuộc tính 8 sẽ được xử lý tự động bằng cách sử dụng 1.
Sự kết luậnBây giờ bạn đã biết cách sử dụng các thuộc tính trên đĩa, vì vậy biểu đồ trong bộ nhớ của bạn không ăn quá nhiều RAM. Các thuật toán đồ thị cũng nên chạy nhanh hơn vì hầu hết các thuộc tính lớn này thường không cần thiết cho phân tích đồ thị. Nếu bạn có câu hỏi về cách sử dụng lưu trữ trên đĩa, hãy truy cập máy chủ Discord của chúng tôi và gửi cho chúng tôi một tin nhắn. |