Bazy danych wykresów są w stanie reprezentować sieci podmiotów, które są powiązane z różnymi relacjami. Używają węzłów, krawędzi i właściwości do przechowywania danych, w których relacyjne bazy danych nie są wyposażone. Ponadto węzły utrzymują podmioty danych i krawędzi relacje między podmiotami.
Szybkie wprowadzenie do redisgraph
Kilka baz danych Graph do wyboru od obecnie, a ten przewodnik koncentruje się na redisgraph, który jest stosunkowo nowym graczem w tym obszarze. Redisgraph jest zbudowany jako moduł Redis, który jest łatwy w użyciu i niezwykle szybki. Ponadto, aby wchodzić w interakcje z bazami danych redisgraph, używany jest język zapytania Cypher, który jest również używany w niektórych innych bazach danych Graph.
Za kulisami - technologia wewnętrzna redisgraph
Redisgraph używa rzadkich macierzy do wewnętrznego reprezentowania danych wykresu. Wykorzystuje również wysoce zoptymalizowaną bibliotekę Graphblas, która zapewnia połączenie wysokiej wydajności i bardzo kompaktowej pamięci. Aby podkreślić, Redis jest jednoosobowy i w ten sposób traktuje się przychodzące żądania nawet o redisgraph; Gdy zapytanie Redisgraph dotrze do bazy danych redisgraph, jest ona przekazywana do puli wątków. Ponieważ moduły Redis mogą zarządzać wieloma wątkami. W przeciwieństwie do innych baz danych Graph, obsługując zapytania, Redisgraph bardziej koncentruje się na scenariuszach o wysokiej przepustowości. Tak więc jedno zapytanie wykresowe w danym momencie zwykle działa tylko na jednym wątku. Może to zabrzmieć sprzeczne z intuicją, ale badania testy dowodzą, że to dobrze się skaluje.
Konfigurowanie redisgraph
Kilka podejść do konfigurowania i interakcji z bazą danych RedisGraf.
Korzystanie z obrazu Docker RedisGraf
Najszybszym sposobem na podwyższenie i uruchomienie bazy danych redisgraph jest pobranie i uruchomienie instancji Redisgraph w kontenerze Docker. Do uruchomienia instancji Redis z włączoną RedisGrafh używana jest następujące polecenie dokera.
Docker Run -p 6379: 6379 -it - -rm redislabs/redisgraph
Po upływie kontenera Docker możesz porozmawiać z bazą danych RedisGrafh za pomocą Redis-CLI.
Budowanie źródła
Kod źródłowy dla redisgraph można znaleźć w następującym repozytorium.
https: // github.com/redisgraph/redisgraph.git
Można go łatwo sklonować za pomocą następujące polecenie git.
GIT Clone - -Recurse -Submodules -J8 https: // github.com/redisgraph/redisgraph.git
W Ubuntu lub OS X musisz zainstalować „CMake”, odpowiednio za pomocą następujących poleceń.
Ubuntu:
apt-get instaluj kompilację cmake m4 Automake Peg Libtool Autoconf
OS X:
Brew Zainstaluj CMake M4 Automake Peg Libtool Autoconf
Ponieważ „Make” jest dostępna w systemie, możesz po prostu wykonać polecenie „Make” z głównego katalogu projektu. Po zbudowaniu kodu źródłowego redisgraph, redisgraph.Więc moduł (kompilacja binarna) można znaleźć w src informator.
Możliwe jest załadowanie modułu redisgraph za pomocą polecenia ładowania modułu w czasie wykonywania. Ponadto Module load Dyrektywa może być ustawiona na ścieżkę skompilowanego binarnego w Redis.plik CONF w następujący sposób.
Redis Cloud z włączonym modułem redisgraph
Jednym z najłatwiejszych sposobów zabawy z redisgraph jest utworzenie subskrypcji Redis Cloud i użycie instancji Redis Cloud z włączonym modułem RedisGraf. Możesz więc połączyć się z instancją w chmurze z Redis-CLI bez dalszego obciążenia budowaniem źródła ręcznie w lokalnej maszynie i załadowaniu.
Konsumowanie bazy danych redisgraph - polecenia redisgraph
Po zakończeniu konfiguracji bazy danych redisgraph nadszedł czas, aby zużywać bazę danych. Dostępnych jest kilka poleceń dla klientów Redis, aby porozmawiać z bazą danych RedisGraf. Co najważniejsze, te podstawowe polecenia akceptują zapytania OpencyPher. Niektóre z często używanych fundamentalnych poleceń redisgraph są wymienione następująco.
WYKRES.ZAPYTANIE - Uruchamia zapytanie opencypher na danym wykresie, które poprawia jego funkcjonalność o dodatkowe funkcje i klauzule.
WYKRES.Config get | USTAWIĆ - Pobiera lub aktualizuje wartość parametru konfiguracji redisgraph.
WYKRES.USUWAĆ - Usuwa wykres i powiązane jednostki.
WYKRES.LISTA - Wszystkie klawisze wykresu wymienione są.
WYKRES.WYJAŚNIĆ - Pokazuje tylko plan wykonania zapytania i nie wykonuje zapytania opencyPher.
Więcej informacji na temat powyższych poleceń można znaleźć tutaj.
Przypadek użycia - Sieć społecznościowa z bazą danych redisgraph
W tym przykładzie będziemy używać instancji Redis Cloud z włączonym modułem redisgraph. Redis-CLI służy do łączenia się z bazą danych RedisGrafh i możesz sprawdzić, czy moduł redisgraph jest włączony, wykonując następujące polecenie.
Lista modułów
Zgodnie z oczekiwaniami, wykres Moduł jest dostępny do użycia.
Tworzenie wykresu
Najpierw stwórzmy wykres, który składa się z niektórych podmiotów i relacji w kontekście sieci społecznościowych. Należy zastosować następujący format, aby utworzyć wykres za pomocą języka zapytań OpencyPher.
(:)-[: ]-> (: )
Załóżmy, że John podąża za Mary, Mary podąża za Jackiem, a Jack podąża za Niską w sieci społecznościowej. Można to reprezentować za pomocą bazy danych wykresów, takich jak redisgraph. Zatem przechowujmy te podmioty i związane z nimi relacje w następujący sposób za pomocą języka zapytań opencypher.
WYKRES.Zapytanie SocialNetwork „Utwórz (: osobistego imienia:„ John ”)-[: śledź]-> (: osobista imienia: 'Mary'), (: osobista imienia: 'Mary')-[: śledź] -> (: person imienia: 'jack'), (: osobista imienia: 'jack')-[: skorzystanie z]-> (: osobista imienia: 'nisha') "
Każdy nowy wpis jest oddzielony przez przecinek.
Po wykonaniu wykresu.Polecenie zapytania zwraca niektóre przydatne informacje związane z utworzonym wykresem, takie jak liczba węzłów, relacji i właściwości utworzonych i ustawionych.
Dodawanie nowych węzłów
Możliwe jest dodanie nowych węzłów również do wcześniej utworzonego wykresu. Dodajmy nową osobę o nazwie „Ricky Martin” do istniejącego wykresu w następujący sposób.
WYKRES.Zapytanie SocialNetwork „Utwórz (: osobę Nazwa:„ Ricky Martin ') ”
Zapytanie wykresu
Możemy również pobrać dane wykresu za pomocą wykresu.Polecenie zapytania w następujący sposób.
WYKRES.Zapytanie SocialNetwork „Match (P: Person)-[: następuje]-> (Q: osoba) gdzie q.name = 'jack' return p, q "
Zgodnie z oczekiwaniami, szczegóły drugiego związku powinny zostać zwrócone zgodnie z powyższym zapytaniem. Ponieważ zapytanie prosi o „następuje ” związek, ale w szczególności naśladowca powinien być "Jacek".
W tych przykładach wykorzystaliśmy klienta Redis-CLI do interakcji z redisgraph. Ale możesz użyć kilku innych bibliotek klientów opracowanych dla różnych języków, takich jak Python, aby zapytać o bazy danych redisgraph.
Wniosek
Podsumowując, redisgraph to baza danych grafów, która jest dostępna jako moduł Redis z superszybkimi możliwościami zapytania. Jak omówiono, istnieje kilka sposobów, w jakie możesz w górę i uruchomić bazę danych redisgraph, takich jak użycie obrazu Docker, ręczne budowanie kodu źródłowego, a nawet z subskrypcją Redis Cloud z włączonym modułem RedisGraf.
Polecenia i interfejs API Redisgraph mogą być używane do rozmowy z bazą danych za pośrednictwem Redis-CLI lub innych klientów Redis. Jako ostatnią notatkę zaleca się zapoznanie się z językiem zapytania opencyPher, który jest używany przez Redisgraph do tworzenia, aktualizacji lub usuwania wykresów, węzłów i relacji.