Jak bazy danych Graph wprowadzają sieci do danych

Autor: Roger Morrison
Data Utworzenia: 20 Wrzesień 2021
Data Aktualizacji: 11 Móc 2024
Anonim
EXCEL - baza danych
Wideo: EXCEL - baza danych

Zawartość


Źródło: Nongpimmy / Dreamstime.com

Na wynos:

Graficzne bazy danych wykorzystują koncepcje sieciowe do przetwarzania danych znacznie szybciej i wydajniej niż tradycyjne bazy danych.

Współczesne aplikacje oparte na danych są w dużej mierze zależne od istotnych spostrzeżeń pochodzących z ogromnych ilości danych, które przetwarzają każdego dnia. Aby za każdym razem uzyskiwać lepszy wgląd, aplikacje muszą być w stanie wykonywać złożone zapytania, a baza danych powinna być w stanie obsługiwać złożone zapytania. Tradycyjne systemy RDBMS oparte na SQL nie są w stanie obsłużyć bardzo złożonych zapytań. Graficzne bazy danych były w stanie rozwiązać ten problem, ponieważ polegają na obiektach i relacjach między obiektami. Na podstawie tej przesłanki można uzyskać głębokie informacje. Korzystanie z graficznych baz danych jest jednak nadal ograniczone, choć istnieją wyraźne oznaki, że będzie on odgrywał ważną rolę, ponieważ firmy w coraz większym stopniu polegają na spostrzeżeniach w celu wzmocnienia swojej działalności. (Aby uzyskać więcej informacji na temat baz danych, zobacz Wprowadzenie do baz danych.)


Co to jest baza danych grafów?

Aby zrozumieć bazy danych wykresów, skorzystajmy z poniższego przykładu:

Bill i jego rodzina chcą zaplanować wakacje w miejscu, które oferuje wspaniałą kuchnię azjatycką. Zaczął wcześnie planować, a jednym ze sposobów wyszukiwania informacji jest oczywiście Google. Chociaż informacje z Google są wiarygodne i dobre, dla Billa ważne jest, aby uzyskać jak najbardziej szczegółowe informacje. Zaczął więc pytać swoich przyjaciół, znajomych i kolegów. Załóżmy, że Bill pyta Ryana, Sheenę i Johna, którzy są jego głównymi kontaktami (poziom kontaktu 1). Wszystkie trzy obiecują, że odpowiedzą jak najszybciej. Ryan pyta swojego przyjaciela Grega, który pyta swojego kuzyna Martina, który był kilka razy w Bangkoku. Martin poleca nazwy i szczegóły wszystkich swoich ulubionych restauracji w Bangkoku znanych z azjatyckich potraw. Informacje te są przekazywane z powrotem do Billa.


Właśnie widziałeś prawdziwy przykład złożonego zapytania opartego na obiektach i relacjach. Baza danych wykresów działa na tej samej zasadzie. Chodzi o sieć, obiekty i ich relacje w sieci.

Zasadniczo baza danych grafów jest w stanie tworzyć niezwykle złożone wykresy i zapewnia informacje, których nie potrafią systemy RDBMS oparte na zapytaniach SQL. I to jest unikalny punkt sprzedaży baz danych grafów.

Jak działa baza danych wykresów?

Powyższy opis bazy danych grafów daje pewne wyobrażenie o zasadach, które stosuje baza danych grafów podczas wyszukiwania informacji lub spostrzeżeń. Zasadniczo przegląda sieć obiektów i relacji w oparciu o zapytanie i zwraca wyniki.

Jeśli weźmiemy powyższy przykład Billa, to jak baza danych grafów poradziłaby sobie z tym zadaniem? Oczywiście w przykładzie jest wiele relacji i węzłów. Jeśli widzimy odległość relacji, wyglądałoby to następująco:

Rachunek = 0 (pochodzenie)

Bez błędów, bez stresu - Twój przewodnik krok po kroku do tworzenia oprogramowania zmieniającego życie bez niszczenia życia

Nie możesz poprawić swoich umiejętności programistycznych, gdy nikt nie dba o jakość oprogramowania.

Ryan = 1

Sheena = 1

John = 1

Greg = 2

Martin = 3

Odległość między źródłem (zero) a węzłem dostarczającym informacje może być jeszcze większa w prawdziwym życiu - tak działa sieć.

Wyobraź sobie aplikację generującą zapytanie w oparciu o wymagania Billa. Byłoby to coś w stylu:

Znajdź wszystkich przyjaciół, którzy są związani z pięcioma przyjaciółmi, którzy lubią azjatyckie jedzenie, którzy odwiedzili Tajlandię i mieszkają w odległości 5 mil od Dallas.

Na rynku dostępnych jest wiele baz danych grafów, a wśród nich najpopularniejszy jest Neo4j. Neo4j może przypisać swoją popularność faktom, że jest zarówno wydajny, jak i open source. Tak więc, gdy masz zapytanie do Neo4j, aby rozwiązać problem Billa, zapytanie może wyglądać mniej więcej tak:

// wybierz znajomych i znajomych znajomych, słowo kluczowe azjatyckie jedzenie, słowo kluczowe Bangkok, uporządkuj według głębokości związku

Ciąg findFriendsQuery = "start n = node (*), person = node ({userNode}) MATCH p = (osoba) - (przyjaciel) zwraca odrębną kolejność p według długości (p)";

Na podstawie zapytania Neo4j przeszuka dostępną sieć i znajdzie najbliższe dopasowania.

Różnica między bazami danych wykresów a relacyjnymi bazami danych

Głównym punktem, w którym porównywane są relacyjne bazy danych i bazy danych wykresów, jest szybkość transakcji, czyli szybkość przetwarzania złożonego zapytania na dużym zestawie danych.

Emil Eifrem, CEO Neo Technology, firmy stojącej za Neo4j, zmierzył wydajność zarówno relacyjnych, jak i graficznych baz danych dla wielu parametrów. Pytanie brzmiało: u 1000 użytkowników, z których każdy ma 50 lub więcej znajomych, dowiedz się, czy jeden użytkownik jest połączony z drugim w ciągu 4 lub mniej przeskoków. Wyniki podano poniżej:

  • Popularna relacyjna baza danych typu open source zajęła 200 ms na przetworzenie zapytania, podczas gdy baza danych grafów zajęła 2 ms.
  • Gdy to samo zapytanie zostało uruchomione na bazie 1 000 000 użytkowników, baza danych grafów zajęła 2 ms, a relacyjna baza danych musiała zostać przerwana po kilku dniach niekończącego się przetwarzania.

Głównym powodem, dla którego relacyjna baza danych tak długo zajmowała się przetwarzaniem zapytań, było przeszukiwanie danych dla każdego terminu podanego w zapytaniu. Nic dziwnego, że zajęło to tak dużo czasu! W większej bazie danych zajęłoby to jeszcze więcej. Z drugiej strony, baza danych grafów patrzy tylko na rekordy, które są bezpośrednio połączone z rekordami w bazie danych. Jeśli w bazie danych grafów dozwolona jest określona liczba przeskoków, trzymałaby się tego dokładnie. Z tego powodu baza danych grafów była w stanie stosunkowo łatwo przetwarzać złożone zapytania dotyczące dużych zbiorów danych i uzyskiwać szybsze wyniki. (Aby dowiedzieć się więcej na temat pracy z bazami danych, zobacz Kariery w administrowaniu bazami danych 101.)

Studia przypadków w bazie danych wykresów

Było wiele udanych zastosowań baz danych grafów w różnych branżach. Duże firmy przodowały w budowaniu swoich światowej klasy produktów zgodnie z zasadami bazy danych wykresów. Początkowo sądzono, że skoro chodzi o węzły i relacje, niektóre branże, takie jak media społecznościowe, mogą z tego skorzystać. Jednak skorzystały z niego również inne sektory, takie jak randki online, produkcja i portale pracy online. Poniżej podano kilka przykładów:

  • z powodzeniem wykorzystał graficzną bazę danych do stworzenia swojego światowej klasy produktu. Dzisiaj możesz wyszukiwać informacje, przechodząc przez sieć znajomych i ich znajomych itd.
  • LinkedIn pracuje nad szeroko opublikowanym wykresem ekonomicznym. Wykres ekonomiczny planuje zapewnić wszystkim użytkownikom odpowiednie możliwości, łącząc użytkowników z firmami i ich profilami do pewnego poziomu.
  • System rekomendacji, który jest bardzo ważnym narzędziem dla wielu sprzedawców internetowych, wykorzystuje zasady bazy danych wykresów w celu zapewnienia skutecznych, odpowiednich rekomendacji potencjalnym konsumentom. Wyszukiwarki rekomendacji w zasadzie przeszukują sieć klientów, którzy dokonali podobnych zakupów w pewnym okresie czasu i zakładają, że klient przeglądający podobne produkty będzie miał te same gusta i preferencje.

Podsumowanie

Mimo całego potencjału baz danych z wykresami wiele firm wciąż nadrabia zaległości w tym trendzie. Tak więc minie trochę czasu, zanim bazy danych wykresów zostaną powszechnie zaakceptowane. Podczas gdy potencjał bazy danych grafów w rozwiązywaniu złożonych problemów nie jest już wątpliwy, pozycja relacyjnej bazy danych nie jest w żaden sposób zagrożona. Najlepszą rzeczą dla bazy danych grafów jest to, że można ją oferować jako technologię open source. Wykorzystanie korzyści zależy od branży.