Redis redisgraph

Redis redisgraph

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 oficjalnego obrazu Docker Redisgraph
  • Zbuduj kod źródłowy i załaduj go jako moduł
  • Instancja Redis Cloud z włączonym modułem 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.