Dane grafowe w praktyce. Jak technologie grafowe ułatwiają rozwiązywanie złożonych problemów - Helion
Tytuł oryginału: The Practitioner's Guide to Graph Data: Applying Graph Thinking and Graph Technologies to Solve Complex Problems 1st Edition
TÅ‚umaczenie: Joanna Zatorska
ISBN: 978-83-283-7468-3
stron: 344, Format: ebook
Data wydania: 2021-03-01
Księgarnia: Helion
Cena książki: 66,75 zł (poprzednio: 89,00 zł)
Oszczędzasz: 25% (-22,25 zł)
Komputer do pracy potrzebuje liczb i danych. CzÅ‚owiek chÄ™tniej wysnuwa wnioski i wyodrÄ™bnia kontekst na podstawie relacji. Te dwa sposoby myÅ›lenia sÄ… tak odmienne, że komputery do niedawna z trudem wykonywaÅ‚y zadania zwiÄ…zane z operowaniem na relacjach. Obecnie może siÄ™ to zmienić dziÄ™ki grafom. Technologie grafowe Å‚Ä…czÄ… ludzkie postrzeganie Å›wiata i liniowÄ… pamięć komputerów. Ich wdrożenie na szerszÄ… skalÄ™ bÄ™dzie stanowić przeÅ‚om i pozwoli osiÄ…gnąć nieznany dziÅ› poziom. Ale najpierw trzeba nauczyć siÄ™ stosować myÅ›lenie grafowe w rozwiÄ…zywaniu problemów technicznych.
DziÄ™ki tej książce opanujesz podstawy myÅ›lenia grafowego. Zapoznasz siÄ™ z elementarnymi koncepcjami grafowymi: teoriÄ… grafów, schematami baz danych, systemami rozproszonymi, a także analizÄ… danych. Dowiesz siÄ™ również, jak wyglÄ…dajÄ… typowe wzorce wykorzystania danych grafowych w aplikacjach produkcyjnych. Poznasz sposób, w jaki można te wzorce stosować w praktyce. Pokazano tu, jak używać technik programowania funkcyjnego oraz systemów rozproszonych do tworzenia zapytaÅ„ i analizowania danych grafowych. Opisano też podstawowe podejÅ›cia do proceduralnego przechodzenia przez dane grafowe i ich wykorzystanie za pomocÄ… narzÄ™dzi grafowych.
W książce:
- nowy paradygmat rozwiÄ…zywania problemów: dane grafowe
- wzorce wykorzystania danych grafowych
- przykładowa architektura aplikacji w technologiach relacyjnych i grafowych
- technologie grafowe a przewidywanie preferencji i zaufania użytkowników
- filtrowanie kolaboratywne i jego zastosowanie
Grafy: przełomowa koncepcja w analizie danych!
Osoby które kupowały "Dane grafowe w praktyce. Jak technologie grafowe ułatwiają rozwiązywanie złożonych problemów", wybierały także:
- Data Science w Pythonie. Kurs video. Algorytmy uczenia maszynowego 199,00 zł, (59,70 zł -70%)
- Power BI Desktop. Kurs video. Wykorzystanie narzędzia w analizie i wizualizacji danych 349,00 zł, (104,70 zł -70%)
- Statystyka. Kurs video. Przewodnik dla student 128,71 zł, (39,90 zł -69%)
- Microsoft Excel. Kurs video. Wykresy i wizualizacja danych 199,00 zł, (69,65 zł -65%)
- Analiza danych w Tableau. Kurs video. Podstawy pracy analityka 249,00 zł, (87,15 zł -65%)
Spis treści
Dane grafowe w praktyce. Jak technologie grafowe ułatwiają rozwiązywanie złożonych problemów eBook -- spis treści
Wstęp 9
1. Myślenie grafowe 15
- Dlaczego teraz? Kontekst technologii bazodanowych 16
- Okres od lat 60. do lat 80. XX wieku - dane hierarchiczne 17
- Okres od lat 80. XX wieku do pierwszej dekady XXI wieku - encja-relacja 18
- Od poczÄ…tku XXI wieku do lat 20. XXI wieku - NoSQL 19
- Lata 20. XXI wieku do ? - grafy 20
- Czym jest myślenie grafowe? 22
- Złożone problemy i złożone systemy 22
- Problemy złożone w biznesie 23
- Podejmowanie decyzji o technologii rozwiÄ…zywania zÅ‚ożonych problemów 25
- Twoje dane sÄ… grafem. Co teraz? 28
- Spojrzenie z szerszej perspektywy 31
- Ruszamy na wyprawę z myśleniem grafowym 32
2. Ewolucja od myślenia relacyjnego do grafowego 33
- PrzeglÄ…d rozdziaÅ‚u: tÅ‚umaczenie koncepcji relacyjnych na terminologiÄ™ grafów 33
- Relacyjne kontra grafowe - na czym polega różnica? 34
- Dane potrzebne w przykładzie 35
- Modelowanie danych relacyjnych 36
- Encje i atrybuty 37
- Tworzenie diagramu ERD 37
- Koncepcje zwiÄ…zane z danymi grafowymi 38
- Podstawowe elementy grafu 39
- Przyleganie 40
- SÄ…siedztwa 40
- Odległość 40
- Stopień 41
- Język Graph Schema Language 43
- Etykiety wierzchoÅ‚ków i krawÄ™dzi 43
- Właściwości 44
- Kierunek krawędzi 45
- Odwołujące się do siebie etykiety krawędzi 47
- Mnogość grafu 48
- Pełny przykładowy model grafu 50
- Relacyjne kontra grafowe: decyzje do rozważenia 51
- Modelowanie danych 51
- Zrozumienie danych grafowych 52
- Mieszanie projektu bazy danych z celem aplikacji 52
- Podsumowanie 53
3. Zaczynamy. Prosta aplikacja Customer 360 55
- Przegląd rozdziału: relacyjne kontra grafowe 56
- Podstawowy przypadek użycia dla danych grafowych - C360 56
- Dlaczego firmy przejmujÄ… siÄ™ projektem C360? 57
- Implementowanie aplikacji C360 w systemie relacyjnym 58
- Modele danych 59
- Implementacja relacyjna 61
- Przykładowe zapytania dla aplikacji C360 65
- Implementacja aplikacji C360 w systemie grafowym 68
- Modele danych 68
- Implementacja grafowa 69
- Przykładowe zapytania C360 76
- Relacyjne kontra grafowe - jak wybrać? 80
- Relacyjne kontra grafowe - modelowanie danych 80
- Relacyjne kontra grafowe - reprezentowanie relacji 80
- Relacyjne kontra grafowe - języki zapytań 81
- Relacyjne kontra grafowe - najważniejsze aspekty 82
- Podsumowanie 82
- Dlaczego nie relacyjne? 83
- Wybór technologii dla aplikacji C360 83
4. Badanie sąsiedztwa w środowisku roboczym 85
- Przegląd rozdziału - tworzenie bardziej realistycznej aplikacji Customer 360 85
- Zasady modelowania danych grafowych 86
- Czy to powinien być wierzchołek, czy krawędź? 87
- Zgubiłeś się? Wskażemy Ci właściwy kierunek 89
- Graf nie ma nazwy - typowe błędy w nazewnictwie 92
- Gotowy model grafu w środowisku roboczym 94
- Zanim zaczniemy budować 96
- Nasze przemyślenia o znaczeniu danych, zapytań i użytkownika końcowego 96
- SzczegóÅ‚y implementacji eksploracji sÄ…siedztw w Å›rodowisku roboczym 97
- Generowanie większej ilości danych dla rozszerzonego przykładu 98
- Podstawowa nawigacja w języku Gremlin 99
- Zaawansowane aspekty Gremlina - formatowanie wyników zapytania 106
- Formatowanie wyników zapytania za pomocÄ… kroków project(), fold() i unfold() 107
- Usuwanie danych z wyników za pomocÄ… wzorca where(neq()) 110
- Planowanie zÅ‚ożonych wyników za pomocÄ… kroku coalesce() 111
- Przejście ze środowiska roboczego do produkcyjnego 114
5. Eksploracja sąsiedztw w środowisku produkcyjnym 115
- Przegląd rozdziału - rozproszone dane grafowe w środowisku Apache Cassandra 116
- Praca z danymi grafowymi w środowisku Apache Cassandra 117
- Najważniejsze zagadnienie dotyczÄ…ce modelowania danych - klucze gÅ‚ówne 117
- Klucze partycji i lokalizacja danych w środowisku rozproszonym 119
- Opis krawędzi, część 1. Krawędzie na liście sąsiedztwa 123
- Zrozumienie krawÄ™dzi, część 2. Kolumny klastrów 125
- Zrozumienie krawędzi, część 3. Perspektywy zmaterializowane dla przejścia przez graf 129
- Zaawansowane modelowanie danych grafowych 131
- Znajdowanie indeksów za pomocÄ… inteligentnego systemu rekomendacji indeksów 135
- SzczegóÅ‚y implementacji produkcyjnej 136
- Perspektywy zmaterializowane i dodawanie czasu do krawędzi 136
- Gotowy schemat produkcyjny aplikacji C360 138
- Wczytywanie dużej ilości danych grafowych 139
- Uzupełnianie zapytań w Gremlinie z wykorzystaniem czasu na krawędziach 142
- PrzejÅ›cie do bardziej zÅ‚ożonych, rozproszonych problemów grafowych 144
- 10 pierwszych wskazówek dotyczÄ…cych przejÅ›cia od Å›rodowiska roboczego do produkcyjnego 144
6. Używanie drzew w środowisku roboczym 147
- Przegląd rozdziału - nawigowanie przez drzewa, dane hierarchiczne i cykle 147
- Hierarchie i dane zagnieżdżone - trzy przykłady 148
- Hierarchiczne dane w zestawieniu materiaÅ‚ów 148
- Dane hierarchiczne w systemach kontroli wersji 148
- Dane hierarchiczne w samoorganizujÄ…cych siÄ™ sieciach 149
- Dlaczego stosuje siÄ™ technologiÄ™ grafowÄ… w przypadku danych hierarchicznych? 150
- Jak się odnaleźć w lesie terminologii 150
- Drzewa, korzenie i liście 151
- Głębokość w przechodzeniu, ścieżki i cykle 152
- Zrozumienie hierarchii w danych z czujników 154
- Zrozumienie danych 154
- Model koncepcyjny z wykorzystaniem notacji GSL 160
- Implementowanie schematu 161
- Zanim utworzymy zapytania 164
- Zapytania wykorzystujące drogę od liści do korzeni w trybie roboczym 164
- Dokąd wysłał dane określony czujnik? 165
- Jaka jest droga od tego czujnika do dowolnej wieży? 168
- Z doÅ‚u do góry 172
- Przeszukiwanie od korzenia do liści w środowisku roboczym 172
- Konfiguracja zapytania: jak znaleźć wieżę, z którÄ… poÅ‚Ä…czonych jest najwiÄ™cej czujników, aby można jÄ… byÅ‚o wykorzystać w przykÅ‚adzie? 173
- Które czujniki sÄ… poÅ‚Ä…czone bezpoÅ›rednio z wieżą Georgetown? 174
- Szukanie wszystkich czujników poÅ‚Ä…czonych z wieżą Georgetown 175
- Ograniczanie głębokości w rekurencji 177
- Powrót do przeszÅ‚oÅ›ci 178
7. Używanie drzew w środowisku produkcyjnym 179
- Przegląd rozdziału - zrozumienie czynnika rozgałęziania i czasu na krawędziach 179
- Zrozumienie czasu w danych dotyczÄ…cych czujników 180
- Ostatnie wnioski dotyczÄ…ce danych serii czasowych w grafach 187
- Zrozumienie czynnika rozgałęzień w naszym przykładzie 188
- Czym jest czynnik rozgałęzień? 188
- Jak sobie poradzić z czynnikiem rozgałęzień? 190
- Schemat produkcyjny dla danych dotyczÄ…cych czujników 190
- Zapytania przechodzące od liści do korzeni w środowisku produkcyjnym 192
- Dokąd i kiedy czujnik wysłał dane? 192
- Znajdź wszystkie drzewa prowadzące od czujnika do wieży z uwzględnieniem czasu 193
- Znajdź poprawne drzewo wychodzące z określonego czujnika 195
- Zaawansowane aspekty Gremlina - wzorzec where().by() 197
- Zapytania od korzeni do liści w środowisku produkcyjnym 199
- Które czujniki sÄ… bezpoÅ›rednio poÅ‚Ä…czone z wieżą Georgetown wedÅ‚ug czasu? 199
- Jakie prawidÅ‚owe drogi wiodÄ… od wieży Georgetown w dóÅ‚ do wszystkich czujników? 200
- Wykorzystanie zapytań w scenariuszach awarii wieży 204
- Wykorzystanie ostatnich wyników do rozwiÄ…zania zÅ‚ożonego problemu 208
- Dostrzeganie lasu w grupie drzew 208
8. Szukanie dróg w Å›rodowisku roboczym 209
- Podgląd rozdziału - ocena ilościowa zaufania w sieciach 209
- Myślenie o zaufaniu - trzy przykłady 210
- Jak bardzo ufasz temu zaproszeniu? 210
- Jak obronić historię śledczego? 211
- Jak firmy modelujÄ… dostarczanie paczek? 212
- Fundamentalne koncepcje dotyczÄ…ce dróg 213
- Najkrótsze drogi 213
- Przeszukiwanie w głąb i przeszukiwanie wszerz 215
- Nauka postrzegania cech aplikacji jako różnych problemów przeszukiwania dróg 216
- Szukanie dróg w sieci zaufania 217
- Dane źródÅ‚owe 217
- Krótkie wprowadzenie do terminologii zwiÄ…zanej z Bitcoinem 218
- Tworzenie schematu roboczego 219
- Wczytywanie danych 220
- Analiza społeczności zaufania 220
- Zrozumienie przejść w sieci zaufania Bitcoina 222
- Które adresy znajdujÄ… siÄ™ w pierwszym sÄ…siedztwie? 222
- Które adresy znajdujÄ… siÄ™ w drugim sÄ…siedztwie? 223
- Które adresy znajdujÄ… siÄ™ tylko w drugim sÄ…siedztwie? 224
- Strategie wartościowania w języku zapytań Gremlin 225
- Wybór losowego adresu do użycia w przykÅ‚adzie 226
- Zapytania wyszukujÄ…ce najkrótsze drogi 227
- Znajdowanie dróg o ustalonej dÅ‚ugoÅ›ci 227
- Znajdowanie dróg o dowolnej dÅ‚ugoÅ›ci 229
- UzupeÅ‚nianie dróg wartoÅ›ciami zaufania 232
- Czy ufasz tej osobie? 238
9. Znajdowanie dróg w Å›rodowisku produkcyjnym 239
- Przegląd rozdziału - zrozumienie wag, odległości i przycinania 239
- Ważone drogi i algorytmy wyszukiwania 240
- Definicja problemu najkrótszych dróg ważonych 240
- Techniki optymalizacji przeszukiwania najkrótszych dróg ważonych 241
- Normalizacja wag krawÄ™dzi dla problemów dotyczÄ…cych najkrótszej drogi 244
- Normalizacja wag krawędzi 245
- Aktualizacja grafu 249
- Eksploracja znormalizowanych wag krawędzi 250
- PrzemyÅ›lenia przed utworzeniem zapytaÅ„ wyszukujÄ…cych najkrótszÄ… drogÄ™ ważonÄ… 253
- Zapytania o najkrótszÄ… drogÄ™ ważonÄ… 254
- Tworzenie produkcyjnej wersji zapytania o najkrótszÄ… drogÄ™ ważonÄ… 254
- Drogi ważone i zaufanie w środowisku produkcyjnym 263
10. Rekomendacje w środowisku roboczym 265
- PrzeglÄ…d rozdziaÅ‚u - kolaboratywne filtrowanie rekomendacji filmów 265
- PrzykÅ‚ady systemów rekomendacji 266
- Rekomendacje w służbie zdrowia 266
- Na czym polegają rekomendacje w serwisach społecznościowych 267
- Wykorzystanie głęboko połączonych danych do tworzenia rekomendacji w handlu elektronicznym 268
- Wstęp do filtrowania kolaboratywnego 269
- Zrozumienie problemu i domeny 269
- Filtrowanie kolaboratywne danych grafowych 270
- Rekomendacje na podstawie filtrowania kolaboratywnego opartego na elemencie zastosowanego w danych grafowych 271
- Trzy różne modele tworzenia rankingu rekomendacji 272
- Dane dotyczÄ…ce filmów - schemat, wczytywanie i zapytania 276
- Model danych dla rekomendacji filmów 276
- Kod schematu dla rekomendacji filmów 277
- Wczytywanie danych filmów 279
- Zapytania dotyczÄ…ce sÄ…siedztw w danych o filmach 283
- Zapytania wykorzystujÄ…ce drzewa w celu analizy danych o filmach 285
- Zapytania przeszukujÄ…ce drogi w danych o filmach 287
- Filtrowanie kolaboratywne oparte na elementach w Gremlinie 289
- Model 1. Liczenie dróg w zbiorze rekomendacji 289
- Model 2. Zainspirowany NPS 290
- Model 3. Znormalizowana punktacja NPS 292
- Wybór swojej przygody - filmy i edycja problemu grafowego 294
11. Proste Å‚Ä…czenie encji w grafach 295
- PrzeglÄ…d rozdziaÅ‚u - scalanie wielu zbiorów danych w jeden graf 295
- Definiowanie innego złożonego problemu - łączenie encji 296
- Analiza złożonego problemu 297
- Analiza dwóch zbiorów danych o filmach 298
- Zbiór danych MovieLens 299
- Zbiór danych Kaggle 304
- Schemat roboczy 307
- Dopasowywanie i scalanie danych o filmach 308
- Proces dopasowywania 308
- RozwiÄ…zywanie wyników faÅ‚szywie pozytywnych 310
- Elementy fałszywie pozytywne w zbiorze danych MovieLens 311
- Dodatkowe błędy wykryte podczas łączenia encji 311
- Ostatnia analiza procesu scalania 313
- Rola struktury grafu w scalaniu danych o filmach 313
12. Rekomendacje w środowisku produkcyjnym 315
- PrzeglÄ…d rozdziaÅ‚u - zrozumienie krawÄ™dzi skrótowych, wstÄ™pne obliczenia i zaawansowane obcinanie 316
- KrawÄ™dzie skrótowe do ustalania rekomendacji w czasie rzeczywistym 316
- Gdzie proces roboczy siÄ™ nie skaluje 317
- ObsÅ‚uga problemów ze skalowaniem - krawÄ™dzie skrótowe 318
- Analiza funkcjonalności w środowisku produkcyjnym 318
- Przycinanie - różne sposoby wstÄ™pnego obliczania krawÄ™dzi skrótowych 319
- Czynniki, jakie trzeba uwzględnić podczas aktualizacji rekomendacji 321
- Obliczanie krawÄ™dzi skrótowych dla danych o filmach 322
- PodziaÅ‚ zÅ‚ożonego problemu wstÄ™pnego obliczania krawÄ™dzi skrótowych 322
- Radzenie sobie ze słoniem w składzie porcelany - obliczenia masowe 326
- Schemat produkcyjny i wczytywanie danych dla rekomendacji filmów 328
- Schemat produkcyjny dla rekomendacji filmów 328
- Wczytywanie danych produkcyjnych dla rekomendacji filmów 329
- Zapytania dotyczÄ…ce rekomendacji wykorzystujÄ…ce krawÄ™dzie skrótowe 330
- Potwierdzenie poprawnego wczytania krawędzi 331
- Rekomendacje dla użytkownika w środowisku produkcyjnym 332
- Zrozumienie czasu odpowiedzi w środowisku produkcyjnym poprzez zliczanie partycji krawędzi 336
- Ostatnie uwagi dotyczące analizy wydajności rozproszonych zapytań grafowych 338
13. Epilog 339
- Co dalej? 340
- Algorytmy grafowe 340
- Grafy rozproszone 341
- Teoria grafów 341
- Teoria sieci 342