Làm thế nào cơ sở dữ liệu đồ thị đưa mạng vào dữ liệu

Tác Giả: Roger Morrison
Ngày Sáng TạO: 20 Tháng Chín 2021
CậP NhậT Ngày Tháng: 19 Tháng Sáu 2024
Anonim
Làm thế nào cơ sở dữ liệu đồ thị đưa mạng vào dữ liệu - Công Nghệ
Làm thế nào cơ sở dữ liệu đồ thị đưa mạng vào dữ liệu - Công Nghệ

NộI Dung


Nguồn: Nongpimmy / Dreamstime.com

Lấy đi:

Cơ sở dữ liệu đồ thị sử dụng các khái niệm mạng để xử lý dữ liệu nhanh hơn và hiệu quả hơn so với cơ sở dữ liệu truyền thống.

Các ứng dụng dựa trên dữ liệu hiện đại chủ yếu phụ thuộc vào những hiểu biết có liên quan xuất phát từ khối lượng dữ liệu khổng lồ mà chúng xử lý mỗi ngày. Để đạt được thông tin chi tiết tốt hơn mọi lúc, các ứng dụng cần có khả năng truy vấn phức tạp và cơ sở dữ liệu sẽ có thể giải quyết các truy vấn phức tạp. Các hệ thống RDBMS truyền thống dựa trên SQL không thể xử lý các truy vấn cực kỳ phức tạp. Cơ sở dữ liệu đồ thị đã có thể giải quyết vấn đề này vì chúng dựa vào các đối tượng và mối quan hệ giữa các đối tượng. Dựa trên tiền đề này, có thể rút ra những hiểu biết sâu sắc. Tuy nhiên, việc sử dụng cơ sở dữ liệu đồ thị vẫn còn hạn chế, mặc dù có những dấu hiệu rõ ràng cho thấy nó sẽ đóng một vai trò quan trọng khi các doanh nghiệp phụ thuộc ngày càng nhiều vào những hiểu biết để tăng sức mạnh cho doanh nghiệp của họ. (Để biết thêm về cơ sở dữ liệu nói chung, xem Giới thiệu về Cơ sở dữ liệu.)


Cơ sở dữ liệu đồ thị là gì?

Để hiểu cơ sở dữ liệu đồ thị, chúng ta hãy sử dụng ví dụ dưới đây:

Bill và gia đình muốn lên kế hoạch cho một kỳ nghỉ đến một nơi cung cấp ẩm thực châu Á tuyệt vời. Anh ấy đã bắt đầu lên kế hoạch sớm và một trong những cách để tìm thông tin, tất nhiên là Google. Mặc dù thông tin từ Google là đáng tin cậy và tốt, nhưng đối với Bill, điều quan trọng là phải có được thông tin cụ thể nhất có thể. Vì vậy, anh bắt đầu hỏi bạn bè, người quen và đồng nghiệp của mình. Chúng ta hãy giả sử rằng Bill hỏi Ryan, Sheena và John, những người liên hệ chính của anh ấy (liên hệ cấp 1). Cả ba hứa sẽ trả lời với thông tin càng sớm càng tốt. Ryan hỏi người bạn Greg, người hỏi anh họ Martin, người đã đến Bangkok một vài lần. Martin giới thiệu tên và chi tiết của tất cả các quán ăn yêu thích của mình ở Bangkok được biết đến với các món ăn châu Á của họ. Thông tin này được chuyển lại cho Bill.


Bạn vừa thấy một ví dụ thực tế về một truy vấn phức tạp dựa trên các đối tượng và các mối quan hệ. Cơ sở dữ liệu đồ thị hoạt động trên cùng một nguyên tắc. Đó là về mạng, các đối tượng và mối quan hệ của chúng trong mạng.

Về cơ bản, một cơ sở dữ liệu đồ thị có khả năng đồ thị cực kỳ phức tạp và cung cấp những hiểu biết mà các hệ thống RDBMS dựa trên truy vấn SQL không thể có. Và đó là điểm bán hàng độc đáo về cơ sở dữ liệu đồ thị.

Cơ sở dữ liệu đồ thị hoạt động như thế nào?

Mô tả ở trên của cơ sở dữ liệu đồ thị cho một số ý tưởng về các nguyên tắc mà cơ sở dữ liệu đồ thị áp dụng khi tìm kiếm thông tin hoặc thông tin chi tiết. Về cơ bản, nó đi qua mạng của các đối tượng và các mối quan hệ dựa trên truy vấn và trả về kết quả.

Nếu chúng ta lấy ví dụ trên của Bill, thì cơ sở dữ liệu đồ thị sẽ thực hiện công việc của nó như thế nào? Rõ ràng, có rất nhiều mối quan hệ và các nút trong ví dụ. Nếu chúng ta thấy khoảng cách của các mối quan hệ, nó sẽ giống như sau:

Hóa đơn = 0 (nguồn gốc)

Không lỗi, không căng thẳng - Hướng dẫn từng bước của bạn để tạo ra phần mềm thay đổi cuộc sống mà không phá hủy cuộc sống của bạn

Bạn không thể cải thiện kỹ năng lập trình của mình khi không ai quan tâm đến chất lượng phần mềm.

Ryan = 1

Sheena = 1

Giăng = 1

Greg = 2

Martin = 3

Khoảng cách giữa điểm gốc (không) và nút cung cấp thông tin có thể còn xa hơn trong cuộc sống thực - đó là cách mạng hoạt động.

Hãy tưởng tượng một ứng dụng ing một truy vấn dựa trên yêu cầu của Bill. Nó sẽ giống như:

Tìm tất cả bạn bè người được kết nối với năm người bạn cùng thích thức ăn châu Á, người đã truy cập Thái Lan và những người sống trong vòng 5 dặm của Dallas.

Có rất nhiều cơ sở dữ liệu đồ thị có sẵn trên thị trường và Neo4j là cơ sở dữ liệu phổ biến nhất trong số đó. Neo4j có thể quy sự phổ biến của nó với thực tế là nó vừa hiệu quả vừa là nguồn mở. Vì vậy, khi bạn truy vấn Neo4j để giải quyết vấn đề Bill Bếp, truy vấn có thể trông giống như:

// chọn bạn bè và bạn của bạn bè, từ khóa của món ăn châu Á, từ khóa của Bangkok, sắp xếp theo chiều sâu của mối quan hệ

Chuỗi findFriendsQuery = "start n = node (*), person = node ({userNode}) MATCH p = (person) - (friend) trả về thứ tự p khác biệt theo độ dài (p)";

Dựa trên truy vấn, Neo4j sẽ tìm kiếm thông qua mạng có sẵn của nó và tìm các kết quả khớp gần nhất.

Sự khác biệt giữa cơ sở dữ liệu đồ thị và cơ sở dữ liệu quan hệ

Điểm chính xung quanh cơ sở dữ liệu quan hệ và cơ sở dữ liệu đồ thị được so sánh là tốc độ giao dịch, nghĩa là nó có thể xử lý truy vấn phức tạp trên một tập dữ liệu lớn nhanh đến mức nào.

Emil Eifrem, CEO của Neo Technology, công ty đứng sau Neo4j, đã đo hiệu suất của cả cơ sở dữ liệu quan hệ và đồ thị trên nhiều tham số. Truy vấn là: trong 1.000 người dùng với mỗi người dùng có từ 50 người bạn trở lên, hãy tìm hiểu xem một người dùng có được kết nối với người dùng khác trong 4 bước hay không. Các kết quả được đưa ra dưới đây:

  • Một cơ sở dữ liệu quan hệ nguồn mở phổ biến mất 200 ms để xử lý truy vấn trong khi cơ sở dữ liệu đồ thị mất 2 ms.
  • Khi cùng một truy vấn được chạy trên cơ sở người dùng gồm 1.000.000 người dùng, cơ sở dữ liệu đồ thị mất 2 ms trong khi cơ sở dữ liệu quan hệ phải bị hủy bỏ sau vài ngày xử lý không bao giờ kết thúc.

Lý do chính khiến cơ sở dữ liệu quan hệ mất nhiều thời gian để xử lý các truy vấn là vì nó đang tìm kiếm dữ liệu cho mọi thuật ngữ được cung cấp trong truy vấn. Không có gì ngạc nhiên khi nó đã mất một thời gian dài như vậy! Trên một cơ sở dữ liệu lớn hơn, nó sẽ mất nhiều thời gian hơn. Mặt khác, cơ sở dữ liệu đồ thị sẽ chỉ xem xét các bản ghi được kết nối trực tiếp với các bản ghi trong cơ sở dữ liệu. Nếu cơ sở dữ liệu đồ thị được cho phép một số bước nhảy cụ thể, thì nó sẽ bám chính xác vào đó. Đó là lý do một cơ sở dữ liệu đồ thị có thể xử lý các truy vấn phức tạp trên các tập dữ liệu khổng lồ tương đối dễ dàng và đạt được kết quả nhanh hơn. (Để tìm hiểu thêm về cách làm việc với cơ sở dữ liệu, hãy xem Cơ quan quản trị cơ sở dữ liệu 101.)

Nghiên cứu trường hợp cơ sở dữ liệu đồ thị

Đã có nhiều ứng dụng thành công của cơ sở dữ liệu đồ thị trong các ngành công nghiệp khác nhau. Các công ty lớn đã dẫn đầu trong việc xây dựng các sản phẩm đẳng cấp thế giới của họ với các nguyên tắc cơ sở dữ liệu đồ thị. Ban đầu người ta nghĩ rằng vì đó là về các nút và các mối quan hệ, một số ngành công nghiệp như phương tiện truyền thông xã hội có thể được hưởng lợi từ điều này. Tuy nhiên, các lĩnh vực khác như hẹn hò trực tuyến, sản xuất và cổng công việc trực tuyến cũng đã được hưởng lợi từ nó. Đưa ra dưới đây là một vài ví dụ:

  • đã thành công trong việc sử dụng cơ sở dữ liệu đồ thị trong việc xây dựng sản phẩm đẳng cấp thế giới của mình. Hôm nay, bạn có thể tìm kiếm thông tin bằng cách duyệt qua mạng lưới bạn bè và bạn bè của họ, v.v.
  • LinkedIn đã làm việc trên đồ thị kinh tế được công bố rộng rãi của nó. Biểu đồ kinh tế có kế hoạch cung cấp các cơ hội phù hợp cho tất cả người dùng bằng cách kết nối người dùng với các công ty và hồ sơ của họ ở một mức độ nhất định.
  • Hệ thống khuyến nghị, một công cụ rất quan trọng đối với nhiều nhà bán lẻ trực tuyến, đã sử dụng các nguyên tắc cơ sở dữ liệu đồ thị để cung cấp các khuyến nghị hiệu quả, phù hợp cho người tiêu dùng tiềm năng. Các công cụ đề xuất về cơ bản tìm kiếm mạng lưới các khách hàng đã mua hàng tương tự trong một khoảng thời gian và cho rằng khách hàng đang duyệt các sản phẩm tương tự sẽ có cùng sở thích và sở thích.

Tóm lược

Đối với tất cả tiềm năng của cơ sở dữ liệu đồ thị, rất nhiều công ty vẫn đang chơi bắt kịp xu hướng. Vì vậy, sẽ mất một thời gian trước khi cơ sở dữ liệu đồ thị được chấp nhận rộng rãi. Mặc dù tiềm năng của cơ sở dữ liệu đồ thị trong việc giải quyết các vấn đề phức tạp không còn nghi ngờ gì nữa, vị trí của cơ sở dữ liệu quan hệ không bị đe dọa theo bất kỳ cách nào. Điều tốt nhất cho cơ sở dữ liệu đồ thị là nó có thể được cung cấp như một công nghệ nguồn mở. Nó phụ thuộc vào các ngành công nghiệp để tận dụng các lợi ích.