Helpex - Trao đổi & giúp đỡ Đăng nhập

Oracle RDBMS + Neo4j: Đồng bộ hóa hoàn toàn dữ liệu đồ thị và quan hệ

Việc sử dụng cơ sở dữ liệu đồ thị Neo4j không nhất thiết phải đối lập với cơ sở hạ tầng Oracle RDBMS hiện có của bạn. Trên thực tế, cả hai có thể làm việc cùng nhau.

Một trong nhiều cách Neo4j hoạt động cùng với Oracle RDBMS là có tất cả dữ liệu được đồng bộ hóa hoàn toàn giữa hai công nghệ cơ sở dữ liệu.

Trong loạt blog Neo4j và Oracle này, chúng ta sẽ khám phá cách hai công nghệ cơ sở dữ liệu này hoạt động song song với nhau để mang lại kết quả cuối cùng tốt nhất cho cả kiến ​​trúc sư doanh nghiệp và nhóm kinh doanh. Trong những tuần trước, chúng tôi đã xác định và giới thiệu cả  Neo4j và Oracle RDBMS , chúng tôi đã đề cập đến  ba ưu điểm của việc sử dụng Neo4j với Oracle và chúng tôi đã khám phá  cách di chuyển hoặc đồng bộ một tập hợp con dữ liệu của bạn  giữa chúng.

Tuần này, chúng ta sẽ thảo luận về những ưu điểm của việc đồng bộ hóa hoàn toàn dữ liệu giữa Oracle RDBMS và Neo4j của bạn, bao gồm một ví dụ về cách Monsanto (một khách hàng của cả Oracle và Neo4j) đồng bộ hóa hoàn toàn dữ liệu của họ giữa cả hai.

Tại sao phải đồng bộ hóa dữ liệu của bạn?

Các ứng dụng tích hợp dữ liệu từ nhiều nguồn dữ liệu là một trường hợp sử dụng phổ biến để đồng bộ hóa đầy đủ. Một trường hợp sử dụng khác để đồng bộ hóa đầy đủ phát sinh khi bạn có một bộ ứng dụng hiện có đang ghi vào cơ sở dữ liệu Oracle và việc thay đổi các ứng dụng đó là rất tốn kém. Để dữ liệu ngày càng có giá trị gia tăng, các công nghệ mới cần được giới thiệu mà Oracle RDBMS không có khả năng. Đây là trường hợp của Monsanto.

Đồng bộ hóa Neo4j và Oracle Exadata

Monsanto  là một công ty công nghệ sinh học nông nghiệp và hóa chất nông nghiệp đa quốc gia. Trước khi áp dụng  Neo4j , Monsanto đã dựa trên cài đặt Oracle Exadata 96 CPU để lưu trữ dữ liệu tổ tiên di truyền cốt lõi của mình với nhiều thủ tục được lưu trữ, bảng JOIN, truy vấn đệ quy và chỉ mục kép để tối ưu hóa hiệu suất.

Nhóm Monsanto rất thành thạo trong việc điều chỉnh và tối ưu hóa Oracle, với hơn 30 năm kinh nghiệm điều chỉnh Oracle RDBMS giữa tất cả chúng. Tuy nhiên, phiên bản Exadata thường xuyên không xử lý được dữ liệu tổ tiên di truyền trong thời gian thực - điều kiện tiên quyết nếu nhóm sử dụng kỹ thuật kiểm tra bộ gen mới có thể mất cả năm chu kỳ thời gian đưa ra thị trường.

Nỗ lực đầu tiên của nhóm nhằm tạo ra kết quả theo thời gian thực là xây dựng và phân tích cú pháp các biểu đồ khổng lồ trong bộ nhớ. Nhưng khi một truy vấn hoàn tất, các biểu đồ biến mất. Nhóm nghiên cứu đã tìm cách duy trì dữ liệu biểu đồ trong thời gian dài và đã tìm ra Neo4j.

Trong vòng một ngày kể từ khi phát hiện ra Neo4j, nhóm đã xây dựng một nguyên mẫu với một tập dữ liệu nhỏ. Một tháng sau, nhóm nghiên cứu đã có toàn bộ tập dữ liệu về tổ tiên di truyền trong  cơ sở dữ liệu biểu đồ  cho một ứng dụng phát hành phiên bản beta. Tuy nhiên, ngay cả khi triển khai Neo4j ở chế độ sản xuất đầy đủ, hàng chục ứng dụng vẫn tiếp tục đọc và ghi dữ liệu vào môi trường Exadata. Thay vì tắt tất cả các kết nối cơ sở dữ liệu này cùng một lúc, nhóm đã xây dựng một lớp API tùy chỉnh để đồng bộ hóa luồng thông tin đến và đi từ Exadata với Neo4j.

Sau đó, nhóm đã giới thiệu một giao diện truy vấn mới có giá trị nơi các nhà khoa học dữ liệu của họ có thể thực hiện các truy vấn được kết nối sâu theo cách đơn giản, theo hướng từ khóa mà trước đây không thể thực hiện được với các thuật toán SQL. Kiến trúc sử dụng Apache Kafka làm nhật ký cam kết phân tán để cung cấp cho Neo4j dữ liệu giao dịch trực tiếp từ Oracle; nhóm đã xây dựng một trình kết nối Oracle GoldenGate và Kafka, mà họ mở nguồn và cung cấp trên  GitHub .


Oracle RDBMS + Neo4j: Đồng bộ hóa hoàn toàn dữ liệu đồ thị và quan hệ

Oracle RDBMS + Neo4j: Đồng bộ hóa hoàn toàn dữ liệu đồ thị và quan hệTuần tới, chúng ta sẽ xem xét cách cuối cùng để sử dụng Neo4j cùng với Oracle RDBMS: chuyển dữ liệu đầy đủ từ dữ liệu này sang dữ liệu khác với một số nghiên cứu trường hợp khách hàng với các chi tiết cụ thể của từng lần di chuyển.


17 hữu ích 0 bình luận 5.7k xem chia sẻ

Có thể bạn quan tâm

loading