NoSQL_Kompendium_wiedzy_nosqlk.pdf

(683 KB) Pobierz
Tytuł oryginału: NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence
Tłumaczenie: Jakub Hubisz
ISBN: 978-83-246-9905-6
Authorized translation from the English language edition, entitled: NOSQL DISTILLED:
A BRIEF GUIDE TO THE EMERGING WORLD OF POLYGLOT PERSISTENCE;
ISBN 0321826620; by Pramodkumar J. Sadalage; and by Martin Fowler; published
by Pearson Education, Inc, publishing as Addison Wesley.
Copyright © 2013 Pearson Education, Inc.
All rights reserved. No part of this book may by reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from Pearson Education, Inc.
Polish language edition published by HELION S.A. Copyright © 2015.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie bierze jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za
związane z tym ewentualne naruszenie praw patentowych lub autorskich. Wydawnictwo HELION nie
ponosi również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/nosqlk
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
Przedmowa ............................................................................................................................. 11
Część I. Zrozumienie ..............................................................................17
Rozdział 1. Dlaczego NoSQL? ................................................................................................ 19
1.1. Wartość baz relacyjnych ................................................................................................19
1.1.1. Przechowywanie trwałych danych ......................................................................19
1.1.2. Współbieżność .......................................................................................................20
1.1.3. Integracja ................................................................................................................20
1.1.4. Ustandaryzowany (przeważnie) model ..............................................................20
1.2. Niezgodność impedancji ................................................................................................21
1.3. Bazy aplikacji i integracji ...............................................................................................22
1.4. Atak klastrów ...................................................................................................................23
1.5. Pojawienie się baz NoSQL .............................................................................................25
1.6. Najważniejsze kwestie ....................................................................................................27
Rozdział 2. Agregacyjne modele danych ............................................................................... 29
2.1. Agregacje ..........................................................................................................................29
2.1.1. Przykłady relacji i agregacji .................................................................................30
2.1.2. Konsekwencje orientacji na agregacje ................................................................34
2.2. Modele klucz – wartość i dokumentów .......................................................................35
2.3. Magazyny rodziny kolumn ............................................................................................36
2.4. Podsumowanie baz zorientowanych na agregacje .....................................................38
2.5. Dalsza lektura ..................................................................................................................39
2.6. Najważniejsze kwestie ....................................................................................................39
Rozdział 3. Więcej szczegółów na temat modelów danych ................................................... 41
3.1. Relacje ...............................................................................................................................41
3.2. Bazy grafowe ....................................................................................................................42
3.3. Bazy danych bez schematu ............................................................................................44
5
Kup książkę
Poleć książkę
6
S
PIS TREŚCI
3.4. Widoki zmaterializowane ..............................................................................................46
3.5. Modelowanie z myślą o dostępie do danych ...............................................................47
3.6. Najważniejsze kwestie ....................................................................................................51
Rozdział 4. Modele dystrybucyjne ......................................................................................... 53
4.1. Pojedynczy serwer ..........................................................................................................53
4.2. Współdzielenie ................................................................................................................54
4.3. Replikacja master-slave ..................................................................................................56
4.4. Replikacja peer-to-peer ..................................................................................................57
4.5. Łączenie shardingu i replikacji ......................................................................................59
4.6. Najważniejsze kwestie ....................................................................................................59
Rozdział 5. Spójność ............................................................................................................... 61
5.1. Spójność aktualizacji ......................................................................................................61
5.2. Spójność odczytu ............................................................................................................63
5.3. Rozluźnianie spójności ...................................................................................................66
5.3.1. Teoria CAP .............................................................................................................66
5.4. Rozluźnianie trwałości ...................................................................................................69
5.5. Kwora ................................................................................................................................70
5.6. Dalsza lektura ..................................................................................................................72
5.7. Najważniejsze kwestie ....................................................................................................72
Rozdział 6. Stemple wersji ...................................................................................................... 73
6.1. Transakcje biznesowe i systemowe ..............................................................................73
6.2. Stemple wersji na wielu serwerach ...............................................................................75
6.3. Najważniejsze kwestie ....................................................................................................76
Rozdział 7. Map-reduce .......................................................................................................... 77
7.1. Podstawy map-reduce ....................................................................................................78
7.2. Partycjonowanie i łączenie ............................................................................................79
7.3. Tworzenie obliczeń map-reduce ...................................................................................81
7.3.1. Przykład dwuetapowego map-reduce ................................................................82
7.3.2. Inkrementacyjny map-reduce .............................................................................85
7.4. Dalsza lektura ..................................................................................................................86
7.5. Najważniejsze kwestie ....................................................................................................86
Część II. Implementacja .........................................................................89
Rozdział 8. Bazy klucz – wartość ............................................................................................ 91
8.1. Czym jest magazyn klucz – wartość? ...........................................................................91
8.2. Funkcjonalności magazynów klucz – wartość ............................................................93
8.2.1. Spójność ..................................................................................................................93
8.2.2. Transakcje ..............................................................................................................94
8.2.3. Możliwości zapytań ...............................................................................................94
8.2.4. Struktura danych ...................................................................................................95
8.2.5. Skalowanie ..............................................................................................................96
Kup książkę
Poleć książkę
S
PIS TREŚCI
7
8.3. Pasujące przypadki użycia .............................................................................................96
8.3.1. Przechowywanie informacji o sesjach ................................................................96
8.3.2. Profile i preferencje użytkownika .......................................................................97
8.3.3. Dane koszyka zakupów ........................................................................................97
8.4. Kiedy nie stosować ..........................................................................................................97
8.4.1. Relacje pomiędzy danymi ....................................................................................97
8.4.2. Transakcje dla wielu operacji ..............................................................................97
8.4.3. Zapytania na danych .............................................................................................97
8.4.4. Operacje na zestawach ..........................................................................................98
Rozdział 9. Bazy dokumentów ............................................................................................... 99
9.1. Czym jest baza dokumentów? .......................................................................................99
9.2. Funkcjonalności ........................................................................................................... 100
9.2.1. Spójność ............................................................................................................... 101
9.2.2. Transakcje ........................................................................................................... 102
9.2.3. Dostępność .......................................................................................................... 102
9.2.4. Możliwości zapytań ............................................................................................ 103
9.2.5. Skalowanie ........................................................................................................... 105
9.3. Pasujące przypadki użycia .......................................................................................... 107
9.3.1. Logowanie zdarzeń ............................................................................................ 107
9.3.2. Systemy zarządzania zawartością i platformy blogerskie ............................. 107
9.3.3. Analizy stron internetowych lub analizy w czasie rzeczywistym ................ 107
9.3.4. Aplikacje e-commerce ....................................................................................... 107
9.4. Kiedy nie stosować ....................................................................................................... 107
9.4.1. Złożone transakcje obejmujące różne operacje ............................................. 107
9.4.2. Zapytania na zmiennej strukturze agregacji ................................................... 108
Rozdział 10. Bazy rodziny kolumn ...................................................................................... 109
10.1. Czym jest magazyn rodziny kolumn? ..................................................................... 109
10.2. Funkcjonalności ......................................................................................................... 110
10.2.1. Spójność ............................................................................................................. 112
10.2.2. Transakcje ......................................................................................................... 113
10.2.3. Dostępność ........................................................................................................ 113
10.2.4. Możliwości zapytań .......................................................................................... 114
10.2.5. Skalowanie ......................................................................................................... 116
10.3. Pasujące przypadki użycia ........................................................................................ 116
10.3.1. Logowanie zdarzeń .......................................................................................... 116
10.3.2. Systemy zarządzania treścią i platformy blogowe ....................................... 117
10.3.3. Liczniki .............................................................................................................. 117
10.3.4. Wygasające dane .............................................................................................. 117
10.4. Kiedy nie stosować ..................................................................................................... 118
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin