reklama - zainteresowany?

NoSQL. Przyjazny przewodnik - Helion

NoSQL. Przyjazny przewodnik
Autor: Dan Sullivan
Tytuł oryginału: NoSQL for Mere Mortals
TÅ‚umaczenie: Jakub Hubisz
ISBN: 978-83-283-2488-6
stron: 408, Format: 170x230, okładka: miękka
Data wydania: 2016-08-08
Księgarnia: Helion

Cena książki: 69,00 zł

Dodaj do koszyka NoSQL. Przyjazny przewodnik

Tagi: Inne | NoSQL

Systemy do zarzÄ…dzania danymi muszÄ… dziÅ› speÅ‚niać o wiele wyższe wymagania niż kiedyÅ›. W wielu przypadkach nierelacyjne bazy danych, zwane NoSQL, sÄ… lepszym rozwiÄ…zaniem niż dominujÄ…ce do niedawna bazy relacyjne. Projektant systemu ma wiÄ™c do dyspozycji dobrze znane bazy relacyjne oraz systemy NoSQL, takie jak bazy klucz–wartość, bazy dokumentów, rodziny kolumn i bazy grafowe. Do rozstrzygniÄ™cia pozostaje problem: którÄ… technologiÄ™ zarzÄ…dzania danymi wybrać w danym przypadku.

Niniejsza książka jest przystÄ™pnym, pragmatycznym przewodnikiem po nierelacyjnych systemach bazodanowych. Pokazano w niej, czym różniÄ… siÄ™ NoSQL od baz relacyjnych. Szczególny nacisk poÅ‚ożono na wyjaÅ›nienie tych cech i funkcjonalnoÅ›ci, które powinny być uwzglÄ™dniane podczas projektowania aplikacji i wybierania technologii bazodanowych. Przedstawiono wewnÄ™trzne mechanizmy baz NoSQL i wyjaÅ›niono, w jaki sposób da siÄ™ zbudować za ich pomocÄ… skalowalne, niezawodne aplikacje. Nie zabrakÅ‚o przydatnych wskazówek, zasad projektowych i najlepszych praktyk.

W tej książce znajdziesz:

  • podstawy relacyjnych baz danych w odniesieniu do systemów NoSQL
  • bazy klucz–wartość — ich charakterystykÄ™, zasady projektowania i sÅ‚abe strony
  • bazy dokumentów — koncepcje baz bez schematu, podstawowe operacje, najpowszechniejsze wzorce projektowe
  • bazy rodzin kolumn — aplikacje BigData, architekturÄ™ baz, zasady projektowania i wykorzystywania
  • bazy grafowe — modelowanie grafów i sieci, wskazówki projektowe, możliwe problemy
  • zasady dobierania technologii bazodanowej do konkretnych zastosowaÅ„

Nie wiesz jeszcze, którÄ… bazÄ™ wybrać? Najwyższy czas to rozstrzygnąć!


Dan Sullivan — jest naukowcem i architektem danych. Od dwudziestu lat zajmuje siÄ™ m.in. analizÄ… biznesowÄ…, uczeniem maszynowym i data miningiem. Sullivan jest uznanym ekspertem w dziedzinie baz danych, zarówno relacyjnych, jak i NoSQL.

Dodaj do koszyka NoSQL. Przyjazny przewodnik

 

Osoby które kupowały "NoSQL. Przyjazny przewodnik", wybierały także:

  • Windows Media Center. Domowe centrum rozrywki
  • Superinteligencja. Scenariusze, strategie, zagro
  • Przywództwo w Å›wiecie VUCA. Jak być skutecznym liderem w niepewnym Å›rodowisku
  • Twoja firma w social mediach. Podr

Dodaj do koszyka NoSQL. Przyjazny przewodnik

Spis treści

NoSQL. Przyjazny przewodnik -- spis treści

O autorze (15)

Przedmowa (17)

Wprowadzenie (19)

  • Kto powinien przeczytać tÄ™ książkÄ™? (20)
  • Cel tej książki (21)
  • Jak czytać tÄ™ książkÄ™ (22)
  • Jak zorganizowana jest ta książka (22)
    • Część I: "Wprowadzenie" (22)
    • Część II: "Bazy klucz-wartość" (22)
    • Część III: "Bazy dokumentów" (23)
    • Część IV: "Bazy rodziny kolumn" (23)
    • Część V: "Bazy grafowe" (23)
    • Część VI: "Wybór bazy danych dla Twojej aplikacji" (24)
    • Dodatki (24)

CZĘŚĆ I. WPROWADZENIE (25)

RozdziaÅ‚ 1. Różne bazy do różnych zastosowaÅ„ (27)

  • Projekt bazy relacyjnej (28)
    • Aplikacja e-commerce (28)
  • Wczesne systemy zarzÄ…dzania bazami danych (29)
    • Systemy oparte na plikach pÅ‚askich (29)
    • Systemy z hierarchicznym modelem danych (33)
    • Systemy z sieciowym modelem danych (35)
    • Podsumowanie wczesnych systemów baz danych (37)
  • Rewolucja baz relacyjnych (38)
    • Relacyjne systemy zarzÄ…dzania danymi (39)
  • Przyczyny powstania baz NoSQL (45)
    • Skalowalność (46)
    • Koszt (47)
    • Elastyczność (47)
    • DostÄ™pność (48)
  • Podsumowanie (48)
  • Studium przypadku (50)
  • Pytania kontrolne (50)
  • Odniesienia (51)
  • Bibliografia (51)

RozdziaÅ‚ 2. Różnorodność baz NoSQL (53)

  • ZarzÄ…dzanie danymi w bazach rozproszonych (54)
    • Przechowywanie danych w sposób trwaÅ‚y (55)
    • Utrzymanie spójnoÅ›ci danych (56)
    • Zapewnienie dostÄ™pnoÅ›ci danych (57)
    • Zrównoważenie czasów reakcji, spójnoÅ›ci i trwaÅ‚oÅ›ci (60)
    • Spójność, dostÄ™pność i partycjonowanie: teoria CAP (62)
  • ACID i BASE (64)
    • ACID: atomowość, spójność, izolacja, trwaÅ‚ość (64)
    • BASE: zasadnicza dostÄ™pność, miÄ™kki stan, ostateczna spójność (65)
    • Rodzaje ostatecznej spójnoÅ›ci (66)
  • Cztery typy baz NoSQL (68)
    • Bazy par klucz-wartość (68)
    • Bazy dokumentów (73)
    • Bazy rodziny kolumn (75)
    • Bazy grafowe (77)
  • Podsumowanie (79)
  • Pytania kontrolne (80)
  • Odniesienia (81)
  • Bibliografia (81)

CZĘŚĆ II. BAZY KLUCZ-WARTOŚĆ (83)

Rozdział 3. Wprowadzenie do baz klucz-wartość (85)

  • Od tablic do baz klucz-wartość (86)
    • Tablice: baza klucz-wartość z kóÅ‚kami treningowymi (86)
    • Tablice asocjacyjne: zdjÄ™cie kóÅ‚ek treningowych (87)
    • Pamięć podrÄ™czna: dodanie do roweru biegów (88)
    • Bazy klucz-wartość w pamiÄ™ci i na dysku: od rowerów do pojazdów zmotoryzowanych (91)
  • Podstawowe funkcjonalnoÅ›ci baz klucz-wartość (92)
    • Prostota: komu w ogóle potrzebne sÄ… skomplikowane modele danych? (93)
    • Szybkość: nie ma czegoÅ› takiego jak "za szybko" (94)
    • Skalowalność: nadążaj za wyÅ›cigiem (95)
  • Klucze: wiÄ™cej niż tylko nic nieznaczÄ…ce identyfikatory (101)
    • Jak konstruować klucze (101)
    • Używanie kluczy do odnajdywania wartoÅ›ci (102)
  • WartoÅ›ci: przechowywanie prawie dowolnych danych (106)
    • WartoÅ›ci nie wymagajÄ… silnego typowania (106)
    • Ograniczenia w wyszukiwaniu wartoÅ›ci (107)
  • Podsumowanie (108)
  • Pytania kontrolne (109)
  • Odniesienia (109)
  • Bibliografia (110)

Rozdział 4. Terminologia baz klucz-wartość (111)

  • Terminy zwiÄ…zane z modelowaniem danych w bazach klucz-wartość (112)
    • Klucz (114)
    • Wartość (116)
    • PrzestrzeÅ„ nazw (117)
    • Partycja (118)
    • Klucz partycjonowania (120)
    • Brak schematu (121)
  • Terminy zwiÄ…zane z architekturÄ… baz klucz-wartość (122)
    • Klaster (122)
    • PierÅ›cieÅ„ (124)
    • Replikacja (124)
  • Terminy zwiÄ…zane z implementacjÄ… baz klucz-wartość (126)
    • Funkcje haszujÄ…ce (126)
    • Kolizja (127)
    • Kompresja (128)
  • Podsumowanie (129)
  • Pytania kontrolne (129)
  • Odniesienia (130)

Rozdział 5. Projektowanie baz klucz-wartość (131)

  • Projektowanie kluczy i partycjonowanie (132)
    • Klucze powinny posiadać konwencjÄ™ nazewniczÄ… (132)
    • Dobrze zaprojektowane klucze wymagajÄ… mniej kodu (133)
    • Praca z zakresami wartoÅ›ci (134)
    • Klucze muszÄ… brać pod uwagÄ™ ograniczenia (135)
    • Wykorzystanie kluczy do partycjonowania (136)
  • Projektowanie struktury wartoÅ›ci (137)
    • Typy posiadajÄ…ce strukturÄ™ pomagajÄ… skrócić czas oczekiwania (138)
    • Duże wartoÅ›ci mogÄ… prowadzić do maÅ‚o wydajnych operacji odczytu i zapisu (140)
  • Ograniczenia baz klucz-wartość (142)
    • Pobieranie wartoÅ›ci wyÅ‚Ä…cznie za pomocÄ… klucza (143)
    • Bazy klucz-wartość nie wspierajÄ… przeszukiwania zakresów (144)
    • Brak standardowego jÄ™zyka zapytaÅ„ podobnego do SQL dla baz relacyjnych (144)
  • Wzorce projektowe dla baz klucz-wartość (145)
    • Klucze z ograniczonym czasem życia (145)
    • Emulowanie tabel (147)
    • Agregacje (148)
    • Agregacje atomowe (150)
    • Indeksy (151)
  • Podsumowanie (153)
  • Studium przypadku: bazy klucz-wartość dla konfiguracji aplikacji mobilnej (153)
  • Pytania kontrolne (156)
  • Odniesienia (156)

CZĘŚĆ III. BAZY DOKUMENTÓW (157)

RozdziaÅ‚ 6. Wprowadzenie do baz dokumentów (159)

  • Czym jest dokument? (160)
    • Dokumenty nie sÄ… wcale takie proste (160)
    • Dokumenty a pary klucz-wartość (163)
    • ZarzÄ…dzanie wieloma dokumentami w kolekcji (164)
  • Unikaj jawnego definiowania schematu (172)
  • Podstawowe operacje na bazach dokumentów (173)
    • Wstawianie dokumentów do kolekcji (175)
    • Usuwanie dokumentów z kolekcji (176)
    • Aktualizacja dokumentów w kolekcji (177)
    • Pobieranie dokumentów z kolekcji (178)
  • Podsumowanie (180)
  • Pytania kontrolne (180)
  • Odniesienia (181)

RozdziaÅ‚ 7. Terminologia baz dokumentów (183)

  • Terminy dotyczÄ…ce dokumentów i kolekcji (184)
    • Dokument (184)
    • Kolekcja (186)
    • Dokument osadzony (187)
    • Brak schematu (188)
    • Schemat polimorficzny (190)
  • Typy partycji (191)
    • Partycjonowanie pionowe (192)
    • Partycjonowanie poziome, czyli sharding (194)
  • Modelowanie danych i przetwarzanie zapytaÅ„ (198)
    • Normalizacja (198)
    • Denormalizacja (200)
    • Procesor zapytaÅ„ (200)
  • Podsumowanie (201)
  • Pytania kontrolne (201)
  • Odniesienia (201)

RozdziaÅ‚ 8. Projektowanie baz dokumentów (203)

  • Normalizacja, denormalizacja i poszukiwanie równowagi (204)
    • Relacja jeden-do-wielu (206)
    • Relacja wiele-do-wielu (206)
    • Potrzeba zÅ‚Ä…czeÅ„ (206)
    • Wykonywanie zÅ‚Ä…czeÅ„: podnoszenie ciężarów dla baz relacyjnych (208)
    • Co zrobiÅ‚by projektant bazy dokumentów? (210)
  • Planowanie z uwzglÄ™dnieniem dokumentów zmiennych (215)
    • Unikanie przenoszenia dużych dokumentów (218)
  • Strefa ZÅ‚otowÅ‚osej w indeksach (218)
    • Aplikacje zorientowane na odczyt (218)
    • Aplikacje zorientowane na zapis (219)
  • Modelowanie powszechnych relacji (221)
    • Relacja jeden-do-wielu w bazach dokumentów (221)
    • Relacja wiele-do-wielu w bazach dokumentów (222)
    • Modelowanie hierarchii w bazach dokumentów (223)
  • Podsumowanie (225)
  • Studium przypadku: manifesty użytkowników (226)
    • Osadzać czy nie? (227)
    • Wybór indeksów (228)
    • Osobne kolekcje dla typów? (228)
  • Pytania kontrolne (229)
  • Odniesienia (229)

CZĘŚĆ IV. BAZY RODZINY KOLUMN (231)

Rozdział 9. Wprowadzenie do baz rodziny kolumn (233)

  • Na poczÄ…tku byÅ‚o Google BigTable (234)
    • Wykorzystanie dynamicznej kontroli nad kolumnami (236)
    • Indeksowanie po rekordzie, nazwie kolumny i stemplu czasowym (236)
    • Kontrolowanie lokalizacji danych (237)
    • Odczyt i zapis wierszy atomowych (237)
    • Utrzymywanie posortowanych wierszy (238)
  • PodobieÅ„stwa i różnice miÄ™dzy bazami rodziny kolumn a bazami klucz-wartość i bazami dokumentów (240)
    • Cechy baz rodziny kolumn (240)
    • PodobieÅ„stwa i różnice miÄ™dzy bazami rodziny kolumn i bazami dokumentów (241)
    • Bazy rodziny kolumn kontra bazy relacyjne (242)
  • Architektura baz rodziny kolumn (245)
    • Architektura HBase: różnorodność wÄ™zÅ‚ów (245)
    • Architektura Cassandry: peer-to-peer (247)
    • RozgÅ‚aszanie: protokóÅ‚ plotki (248)
    • Termodynamika i bazy rozproszone: po co nam antyentropia (250)
    • Przechowaj to dla mnie: przekazanie ze wskazaniem (251)
  • Kiedy korzystać z baz rodziny kolumn (252)
  • Podsumowanie (254)
  • Pytania kontrolne (254)
  • Odniesienia (255)

Rozdział 10. Terminologia baz rodziny kolumn (257)

  • Podstawowe komponenty baz rodziny kolumn (258)
    • PrzestrzeÅ„ kluczy (258)
    • Klucz wiersza (258)
    • Kolumna (259)
    • Rodziny kolumn (260)
  • Struktury i procesy: implementacja baz rodziny kolumn (261)
    • WewnÄ™trzne struktury i parametry konfiguracyjne baz rodziny kolumn (261)
    • Starzy znajomi: klastry i partycje (262)
    • Rzut oka pod maskÄ™: inne komponenty baz rodziny kolumn (264)
  • Procesy i protokoÅ‚y (268)
    • Replikacja (268)
    • Antyentropia (268)
    • ProtokóÅ‚ plotki (269)
    • Przekazanie ze wskazaniem (270)
  • Podsumowanie (271)
  • Pytania kontrolne (271)
  • Odniesienia (272)

Rozdział 11. Projektowanie baz rodziny kolumn (273)

  • Wskazówki dotyczÄ…ce projektowania tabel (275)
    • Denormalizuj, zamiast Å‚Ä…czyć (276)
    • Wykorzystuj kolumny bez wartoÅ›ci (276)
    • Używaj zarówno nazwy kolumny, jak i wartoÅ›ci kolumn do przechowywania danych (277)
    • Modeluj encje za pomocÄ… pojedynczego wiersza (278)
    • Unikaj punktów zapalnych w kluczach wierszy (279)
    • Utrzymuj odpowiedniÄ… liczbÄ™ wersji wartoÅ›ci kolumn (280)
    • Unikaj rozbudowanych struktur danych w wartoÅ›ciach kolumn (281)
  • Wskazówki dotyczÄ…ce indeksowania (282)
    • Kiedy korzystać z indeksów pomocniczych zarzÄ…dzanych przez system bazy rodziny kolumn (282)
    • Kiedy tworzyć indeksy pomocnicze i zarzÄ…dzać nimi za pomocÄ… tabeli (286)
  • NarzÄ™dzia do pracy z bazami Big Data (288)
    • Ekstrakcja, transformacja i Å‚adowanie danych Big Data (289)
    • Analizowanie danych Big Data (290)
    • NarzÄ™dzia do monitorowania Big Data (293)
  • Podsumowanie (294)
  • Studium przypadku: analiza danych klienta (294)
    • Zrozumienie potrzeb użytkownika (295)
  • Pytania kontrolne (296)
  • Odniesienia (297)

CZĘŚĆ V. BAZY GRAFOWE (299)

Rozdział 12. Wprowadzenie do baz grafowych (301)

  • Czym jest graf? (301)
  • Modelowanie grafów i sieci (302)
    • Modelowanie lokalizacji geograficznych (303)
    • Modelowanie chorób zakaźnych (303)
    • Modelowanie encji abstrakcyjnych i konkretnych (305)
    • Modelowanie mediów spoÅ‚ecznoÅ›ciowych (307)
  • Zalety baz grafowych (308)
    • Szybsze wykonywanie zapytaÅ„ dziÄ™ki unikaniu zÅ‚Ä…czeÅ„ (308)
    • Upraszczanie modelowania (310)
    • Wiele relacji pomiÄ™dzy encjami (310)
  • Podsumowanie (311)
  • Pytania kontrolne (311)
  • Odniesienia (312)

Rozdział 13. Terminologia baz grafowych (313)

  • Elementy grafów (314)
    • WierzchoÅ‚ek (314)
    • KrawÄ™dź (315)
    • Åšcieżka (317)
    • PÄ™tla (317)
  • Operacje na grafach (318)
    • Unia grafów (318)
    • PrzeciÄ™cie grafów (319)
    • Przeszukiwanie grafu (320)
  • WÅ‚aÅ›ciwoÅ›ci grafów i krawÄ™dzi (320)
    • Izomorfizm (321)
    • RzÄ…d i rozmiar (321)
    • StopieÅ„ (322)
    • Bliskość (322)
    • PoÅ›rednictwo (322)
  • Typy grafów (323)
    • Grafy skierowane i nieskierowane (324)
    • Sieć przepÅ‚ywowa (324)
    • Grafy dwudzielne (325)
    • Multigraf (325)
    • Graf ważony (326)
  • Podsumowanie (327)
  • Pytania kontrolne (327)
  • Odniesienia (327)

Rozdział 14. Projektowanie baz grafowych (329)

  • PoczÄ…tki projektowania grafów (329)
    • Projektowanie bazy grafowej sieci spoÅ‚ecznoÅ›ciowej (331)
    • Projektowanie sterowane przez zapytania (znowu) (334)
  • Odpytywanie grafu (336)
    • Cypher: zapytania deklaratywne (336)
    • Gremlin: zapytania przez trawersowanie grafu (337)
  • Wskazówki i sztuczki przydatne w projektowaniu baz grafowych (341)
    • Użyj indeksów do poprawienia czasu pobierania danych (342)
    • Używaj krawÄ™dzi odpowiedniego rodzaju (342)
    • Podczas przeszukiwania grafu uważaj na cykle (343)
    • Weź pod uwagÄ™ skalowalność swojej bazy grafowej (344)
  • Podsumowanie (345)
  • Studium przypadku: optymalizacja tras transportowych (345)
    • Zrozumieć potrzeby użytkownika (345)
    • Projektowanie rozwiÄ…zania polegajÄ…cego na analizie grafu (346)
  • Pytania kontrolne (347)
  • Odniesienia (347)

CZĘŚĆ VI. WYBÓR BAZY DANYCH DLA TWOJEJ APLIKACJI (349)

Rozdział 15. Wytyczne do wyboru bazy danych (351)

  • Wybór bazy danych NoSQL (352)
    • Przypadki użycia i kryteria wyboru baz klucz-wartość (353)
    • Przypadki użycia i kryteria wyboru baz dokumentów (354)
    • Przypadki użycia i kryteria wyboru baz rodziny kolumn (354)
    • Przypadki użycia i kryteria wyboru baz grafowych (356)
  • Używanie baz NoSQL i baz relacyjnych razem (357)
  • Podsumowanie (358)
  • Pytania kontrolne (358)
  • Odniesienia (359)

DODATKI (361)

Dodatek A. Odpowiedzi do pytań kontrolnych (363)

Dodatek B. Lista baz NoSQL (389)

Dodatek C. SÅ‚owniczek (393)

Skorowidz (401)

Dodaj do koszyka NoSQL. Przyjazny przewodnik

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.