2015-05-08 10 views
11

Neo4j là một công cụ tuyệt vời để lập bản đồ dữ liệu quan hệ, nhưng tôi tò mò về điều kiện nào nó sẽ không phải là một công cụ tốt để sử dụng.Khi nào không sử dụng neo4j?

Trong trường hợp sử dụng nào sẽ sử dụng neo4j là ý tưởng tồi?

+3

sẵn sàng cho SO lynchmob –

+1

Tải cực cao là một trường hợp chống sử dụng: xem https://stackoverflow.com/questions/21558589/ neo4j-sharding-aspect – DNA

+1

Xem thêm [post] này (https://www.quora.com/What-was-the-reason-for-Facebook-team-to-avoid-using-Neo4J-for-the-Social -Graph) về lý do tại sao FaceBook không sử dụng Neo4j – DNA

Trả lời

15

Bạn có thể muốn xem this slide deck và trong các trang trình bày cụ thể 18-22.

Câu hỏi của bạn có thể có nhiều chi tiết, nhưng hãy để tôi cố gắng tập trung vào những tác phẩm lớn. Cơ sở dữ liệu đồ thị là naturally indexed theo các mối quan hệ. Vì vậy, cơ sở dữ liệu đồ thị sẽ tốt khi bạn cần phải đi qua rất nhiều mối quan hệ. Bản thân đồ thị rất linh hoạt, vì vậy chúng sẽ tốt khi các liên kết giữa dữ liệu của bạn cần thay đổi theo thời gian hoặc khi dữ liệu về các đối tượng cốt lõi của bạn quan trọng cần lưu trữ nhu cầu thay đổi. Đồ thị là một phương pháp rất tự nhiên để mô hình hóa một số nguồn dữ liệu (nhưng không phải tất cả), những thứ như mạng ngang hàng, bản đồ đường, cấu trúc tổ chức, v.v.

Đồ thị có xu hướng không quản lý danh sách lớn. Ví dụ, nếu bạn định xây dựng một cơ sở dữ liệu giao dịch khách hàng với phân tích (nơi bạn cần 1 triệu khách hàng, 50 triệu giao dịch và tất cả những gì bạn làm là đăng các giao dịch cả ngày) thì có lẽ nó không phù hợp. RDBMS là tuyệt vời ở đó, thông báo như thế nào trường hợp sử dụng không khai thác các mối quan hệ thực sự.

Đảm bảo đọc hai liên kết mà tôi đã cung cấp, họ có nhiều thảo luận hơn.

1

Vì lý do bảo trì, bất kỳ nguồn cấp dữ liệu tổng hợp dịch vụ nào cho đến bây giờ cũng được khuyên nên giữ cho các nguồn của chúng độc lập.

Nếu tôi muốn khám phá mối quan hệ giữa các nguồn cấp dữ liệu khác nhau, điều này có thể được thực hiện ở cấp ứng dụng, sử dụng tùy chọn theo dõi dữ liệu (ví dụ) trong số các nguồn cấp dữ liệu khác.

Cơ sở dữ liệu biểu đồ là về quản lý sự phức tạp của mối quan hệ, nhưng sự phức tạp này trong nhiều trường hợp là sự lựa chọn thiết kế. Đặt tất cả các trẻ em của bạn trong một bồn tắm là tốt cho đến khi bạn thả xà phòng ..

Các vấn đề liên quan