Facebook - konwersja
Pobierz fragment

Przewodnik po MongoDB. Wydajna i skalowalna baza danych. Wydanie III - ebook

Wydawnictwo:
Tłumacz:
Data wydania:
23 listopada 2020
Format ebooka:
PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
Pobierz fragment
89,00

Przewodnik po MongoDB. Wydajna i skalowalna baza danych. Wydanie III - ebook

MongoDB jest wieloplatformowym, nierelacyjnym systemem do obsługi baz danych, napisanym w języku C++. Nie przypomina ściśle ustrukturyzowanych relacyjnych baz danych, zamiast tego korzysta z dokumentów w formacie BSON. Ułatwia to bardziej naturalne przetwarzanie informacji w aplikacjach, oczywiście przy zachowaniu możliwości tworzenia hierarchii oraz indeksowania. W ten sposób cały system zyskuje na wydajności, co jest szczególnie istotne przy przetwarzaniu bardzo dużych zbiorów danych. MongoDB umożliwia stosowanie elastycznych modeli danych, uzyskiwanie wysokiego poziomu dostępności i poziome skalowanie.

Ten praktyczny przewodnik jest przeznaczony dla użytkowników bazy MongoDB w wersji 4.2. W przystępny i konkretny sposób opisuje zalety stosowania dokumentowych baz danych, równocześnie wskazuje zaawansowane metody konfiguracji systemu oraz możliwe zastosowania w różnych projektach. Książka zainteresuje zarówno użytkowników i administratorów MongoDB, jak i programistów tworzących złożone aplikacje. Przedstawia kwestie tworzenia zapytań, indeksów, agregacji, transakcji, zbiorów replik, zarządzania systemem, shardingu i administrowania danymi, trwałości danych, monitorowania systemu oraz jego zabezpieczenia. Znalazło się tu także wprowadzenie do pracy z MongoDB, omówiono też zasady pracy z klastrem shardów oraz administrowania aplikacją i serwerem bazy MongoDB.

W książce między innymi:

  • ogólne zasady pracy z MongoDB
  • operacje zapisu i wyszukiwania oraz tworzenie złożonych zapytań
  • indeksy w kolekcjach, agregowanie danych i transakcje
  • lokalny zbiór replik i korzystanie z replikacji
  • konfiguracja elementów klastra
  • monitorowanie systemu, kopie bezpieczeństwa i odtwarzanie bazy MongoDB

MongoDB - przekonaj się na własnym systemie!

Spis treści


Przedmowa 15

CZĘŚĆ I. WPROWADZENIE DO MONGODB 19

1. Wprowadzenie 21

  • Łatwość użycia 21
  • Skalowanie 21
  • Bogactwo funkcji... 23
  • ...bez ograniczania prędkości 23
  • Filozofia 24

2. Zaczynamy 25

  • Dokumenty 25
  • Kolekcje 26
    • Dynamiczne schematy 26
    • Nazewnictwo 27
  • Bazy danych 28
  • Pobieranie i uruchamianie MongoDB 29
  • Wprowadzenie do powłoki MongoDB 30
    • Uruchamianie powłoki 31
    • Klient MongoDB 31
    • Podstawowe operacje w powłoce 32
  • Typy danych 34
    • Proste typy danych 34
    • Daty 36
    • Tablice 37
    • Zagnieżdżone dokumenty 37
    • Klucz _id i typ ObjectId 38
  • Używanie powłoki MongoDB 40
    • Porady przy używaniu powłoki 40
    • Uruchamianie skryptów w powłoce 41
    • Tworzenie pliku .mongorc.js 43
    • Dostosowywanie znaku zachęty 44
    • Edytowanie złożonych zmiennych 45
    • Niewygodne nazwy kolekcji 45

3. Tworzenie, aktualizowanie i usuwanie dokumentów 47

  • Wstawianie dokumentów 47
    • Metoda insertMany 47
    • Sprawdzanie poprawności wstawiania 50
    • Metoda insert 50
  • Usuwanie dokumentów 51
    • Metoda drop 52
  • Aktualizowanie dokumentów 52
    • Zastępowanie dokumentów 53
    • Używanie operatorów aktualizacji 54
    • Operacje typu upsert 64
    • Aktualizowanie wielu dokumentów 66
    • Zwracanie zaktualizowanych dokumentów 67

4. Zapytania 71

  • Metoda find 71
    • Wybieranie zwracanych kluczy 72
    • Ograniczenia 72
  • Kryteria zapytania 73
    • Zapytania warunkowe 73
    • Zapytania LUB 74
    • Operator $not 75
  • Zapytania związane z różnymi typami 75
    • Typ null 75
    • Wyrażenia regularne 76
    • Zapytania dotyczące tablic 77
    • Zapytania do dokumentów zagnieżdżonych 81
  • Zapytania $where 83
  • Kursory 84
    • Limity, pominięcia i sortowanie 85
    • Unikanie pomijania dużej liczby dokumentów 87
    • Nieśmiertelne kursory 89

CZĘŚĆ II. PROJEKTOWANIE APLIKACJI 91

5. Indeksy 93

  • Wprowadzenie do indeksów 93
    • Tworzenie indeksu 95
    • Wprowadzenie do indeksów złożonych 98
    • W jaki sposób MongoDB wybiera indeks? 102
    • Używanie indeksów złożonych 103
    • W jaki sposób operatory $ korzystają z indeksów? 120
    • Indeksowanie obiektów i tablic 130
    • Liczność indeksu 132
  • Dane z polecenia explain 132
  • Kiedy nie używać indeksu? 140
  • Rodzaje indeksów 141
    • Indeksy unikalne 141
    • Indeksy częściowe 143
  • Administrowanie indeksem 144
    • Identyfikowanie indeksów 145
    • Zmienianie indeksów 146

6. Specjalne typy indeksów i kolekcji 147

  • Indeksy geoprzestrzenne 147
    • Rodzaje zapytań geoprzestrzennych 148
    • Używanie indeksów geoprzestrzennych 149
    • Złożone indeksy geoprzestrzenne 157
    • Indeksy 2d 157
  • Indeksy wyszukiwania pełnotekstowego 159
    • Tworzenie indeksu tekstowego 160
    • Wyszukiwanie tekstowe 161
    • Optymalizowanie wyszukiwania pełnotekstowego 163
    • Wyszukiwanie w innych językach 164
  • Kolekcje ograniczone 164
    • Tworzenie kolekcji ograniczonych 166
    • Wieczne kursory 167
  • Indeksy o ograniczonym czasie życia 167
  • Przechowywanie plików za pomocą GridFS 168
    • Zaczynamy pracę z GridFS - mongofiles 168
    • Praca z GridFS w sterownikach MongoDB 169
    • Pod maską 170

7. Wprowadzenie do frameworka agregacji 173

  • Potoki, etapy i regulatory 173
  • Praca z etapami - typowe operacje 175
  • Wyrażenia 179
    • Etap typu $project 180
    • Etap typu $unwind 185
  • Wyrażenia tablicowe 192
  • Akumulatory 196
    • Używanie akumulatorów w etapie projekcji 197
  • Wprowadzenie do grupowania 198
    • Pole _id w etapie grupowania 202
    • Etap grupowania i etap projekcji 205
  • Zapisywanie wyników potoku agregacji do kolekcji 208

8. Transakcje 209

  • Wprowadzenie do transakcji 209
    • Definicja standardu ACID 209
  • Jak używać transakcji? 210
  • Dostosowywanie limitów transakcji w swojej aplikacji 214
    • Ograniczenia czasowe i limity wielkości protokołu 215

9. Projektowanie aplikacji 217

  • Projektowanie schematu danych 217
    • Wzorce projektowe schematów 218
  • Normalizacja i denormalizacja 221
    • Przykłady reprezentacji danych 222
    • Kardynalność 226
    • Znajomi, obserwujący i inne nieprzyjemności 226
  • Optymalizowanie manipulacji na danych 229
    • Usuwanie starych danych 229
  • Planowanie baz danych i kolekcji 230
  • Spójność danych 231
  • Migrowanie schematów 232
  • Zarządzanie schematami 233
  • Kiedy nie używać MongoDB? 233

CZĘŚĆ III. REPLIKACJA 235

10. Konfigurowanie zbioru replik 237

  • Wprowadzenie do replikacji 237
  • Konfigurowanie zbioru replik, część 1. 238
  • Przemyślenia na temat sieci 239
  • Przemyślenia na temat bezpieczeństwa 239
  • Konfigurowanie zbioru replik, część 2. 240
  • Kontrolowanie replikacji 243
  • Modyfikowanie konfiguracji zbioru replik 248
  • Jak zaprojektować zbiór? 250
    • Jak działa wybieranie serwera podstawowego? 252
  • Opcje konfiguracji elementów zbioru replik 253
    • Priorytet 254
    • Ukrywanie serwerów 254
    • Arbiter wyborów 255
    • Tworzenie indeksów 257

11. Komponenty zbioru replik 259

  • Synchronizacja 259
    • Synchronizacja początkowa 261
    • Replikacja 263
    • Jak radzić sobie z przestarzałymi danymi? 263
  • Żądania heartbeat 263
    • Stany elementów zbioru 264
  • Wybory 265
  • Cofanie zmian 266
    • Gdy cofanie operacji się nie powiedzie 269

12. Łączenie aplikacji ze zbiorem replik 271

  • Zachowania związane z łączeniem klienta ze zbiorem replik 271
  • Oczekiwanie na replikację operacji zapisu 273
    • Pozostałe wartości klucza "w" 275
  • Definiowanie gwarancji dla replikacji 275
    • Gwarantowany jeden serwer na centrum danych 275
    • Gwarancja większości nieukrytych serwerów 277
    • Tworzenie innych gwarancji 277
  • Wysyłanie żądań odczytu do serwerów wtórnych 278
    • Problemy ze spójnością danych 278
    • Problemy z obciążeniem serwerów 279
    • Kiedy warto korzystać z serwerów wtórnych do odczytywania danych 280

13. Administracja 283

  • Uruchamianie serwerów w trybie samodzielnym 283
  • Konfiguracja zbioru replik 284
    • Tworzenie zbioru replik 284
    • Zmienianie serwerów w zbiorze 285
    • Tworzenie większych zbiorów 285
    • Wymuszanie rekonfiguracji 286
  • Manipulowanie stanem serwera 286
    • Przekształcanie serwera podstawowego we wtórny 287
    • Zapobieganie wyborom 287
  • Monitorowanie replikacji 287
    • Odczytywanie statusu 288
    • Wizualizacja grafu replikacji 291
    • Pętle replikacji 292
    • Wyłączanie chainingu 292
    • Wyliczanie opóźnień 293
    • Zmiana wielkości protokołu operacji 294
    • Tworzenie indeksów 295
    • Replikacja budżetowa 296

CZĘŚĆ IV. SHARDING 299

14. Wprowadzenie do shardingu 301

  • Czym jest sharding? 301
    • Komponenty klastra 302
  • Sharding w klastrze jednoserwerowym 303

15. Konfigurowanie shardingu 313

  • Kiedy stosować sharding? 313
  • Uruchamianie serwerów 314
    • Serwery konfiguracji 314
    • Procesy mongos 315
    • Tworzenie sharda ze zbioru replik 316
    • Zwiększanie pojemności 319
    • Dzielenie danych 320
  • W jaki sposób MongoDB kontroluje dane klastra? 320
    • Zakresy kawałków 321
    • Dzielenie kawałków 323
  • Równoważenie obciążeń 325
  • Zestawienia 326
  • Strumienie zmian 326

16. Wybieranie klucza shardingu 329

  • Mierzenie sposobu używania kolekcji 329
  • Rozrysowywanie rozdziału danych 330
    • Rosnące klucze shardingu 330
    • Klucze shardingu o losowym rozkładzie 333
    • Klucze shardingu zależne od lokalizacji 335
  • Strategie kluczy shardingu 336
    • Haszowany klucz shardingu 336
    • Haszowane klucze shardingu dla systemu GridFS 338
    • Strategia węża strażackiego 338
    • Hotspoty 339
  • Reguły i wskazówki dotyczące kluczy shardingu 341
    • Ograniczenia kluczy shardingu 341
    • Kardynalność kluczy shardingu 343
  • Kontrolowanie rozdziału danych 343
    • Używanie klastra z wieloma bazami danych i kolekcjami 343
    • Sharding manualny 345

17. Administrowanie shardingiem 347

  • Sprawdzanie aktualnego stanu 347
    • Przeglądanie podsumowania za pomocą metody sh.status() 347
    • Przeglądanie informacji o konfiguracji 349
  • Kontrolowanie połączeń sieciowych 355
    • Pobieranie statystyk dotyczących połączeń 355
    • Ograniczanie liczby połączeń 362
  • Administrowanie serwerem 363
    • Dodawanie serwerów 363
    • Zmienianie serwerów w shardzie 363
    • Usuwanie sharda 364
  • Równoważenie danych 367
    • Proces równoważący 367
    • Zmiana wielkości kawałka 368
    • Przenoszenie kawałków 369
    • Wielkie kawałki 371
    • Odświeżanie konfiguracji 374

CZĘŚĆ V. ADMINISTROWANIE APLIKACJĄ 375

18. Kontrolowanie działania aplikacji 377

  • Przeglądanie aktualnych operacji 377
    • Wyszukiwanie problematycznych operacji 380
    • Zatrzymywanie operacji 380
    • Fałszywe alarmy 381
    • Zapobieganie powstawaniu fantomowych operacji 381
  • Używanie profilera systemowego 382
  • Wyliczanie wielkości 385
    • Dokumenty 385
    • Kolekcje 386
    • Bazy danych 390
  • Używanie narzędzi mongotop i mongostat 391

19. Wprowadzenie do bezpieczeństwa MongoDB 395

  • Uwierzytelnianie i autoryzacja 395
    • Mechanizmy uwierzytelniania 395
    • Autoryzacja 396
    • Stosowanie certyfikatów X.509 do uwierzytelniania serwerów i klientów 398
  • Samouczek uwierzytelniania i szyfrowania komunikacji w MongoDB 400
    • Tworzenie centrum certyfikacji 400
    • Generowanie i podpisywanie certyfikatów serwerów 405
    • Generowanie i podpisywanie certyfikatów klientów 406
    • Uruchamianie zbioru replik bez włączonego uwierzytelniania i autoryzacji 406
    • Tworzenie użytkownika administracyjnego 407
    • Ponowne uruchomienie zbioru replik z włączonym uwierzytelnianiem i autoryzacją 408

20. Trwałość danych 411

  • Trwałość danych na poziomie serwera dzięki mechanizmowi księgowania 411
  • Trwałość danych na poziomie klastra dzięki opcjom "write concern" 413
    • Opcje "w" i "wtimeout" 413
    • Używanie opcji "j" w dokumencie writeConcern 414
  • Trwałość danych na poziomie klastra dzięki opcjom "read concern" 415
  • Trwałość danych w transakcjach dzięki opcjom "write concern" 415
  • Czego MongoDB nie gwarantuje? 416
  • Poszukiwanie uszkodzeń danych 417

CZĘŚĆ VI. ADMINISTROWANIE SERWEREM 419

21. Konfigurowanie MongoDB w środowisku produkcyjnym 421

  • Uruchamianie z wiersza poleceń 421
    • Konfiguracja zapisana w pliku 425
  • Zatrzymywanie serwera MongoDB 426
  • Bezpieczeństwo 426
    • Szyfrowanie danych 427
    • Połączenia SSL 428
  • Protokołowanie 428

22. Monitorowanie MongoDB 431

  • Monitorowanie wykorzystania pamięci 431
    • Wprowadzenie do pamięci komputerów 431
    • Kontrolowanie wykorzystania pamięci 432
    • Kontrolowanie liczby błędów stron 433
    • Parametr I/O wait 435
  • Wyliczanie wielkości zbioru roboczego 435
    • Kilka przykładów zbiorów roboczych 437
  • Kontrolowanie wydajności 437
  • Kontrolowanie wolnej przestrzeni na dysku 439
  • Monitorowanie procesu replikacji 439

23. Tworzenie kopii zapasowych 443

  • Metody tworzenia kopii zapasowych 443
  • Tworzenie kopii zapasowej serwera 444
    • Migawka systemu plików 444
    • Kopiowanie plików z danymi 447
    • Używanie narzędzia mongodump 449
  • Szczególny przypadek kopii zapasowej zbioru replik 451
  • Szczególny przypadek kopii zapasowej klastra shardów 452
    • Tworzenie kopii zapasowej całego klastra i jej odtwarzanie 453
    • Tworzenie kopii zapasowej pojedynczego sharda i jej odtwarzanie 453

24. Wdrożenia MongoDB 455

  • Projektowanie systemu 455
    • Wybieranie nośników danych 455
    • Zalecane konfiguracje macierzy RAID 456
    • Procesor 457
    • System operacyjny 457
    • Przestrzeń wymiany 458
    • System plików 458
  • Wirtualizacja 459
    • Nadmierne używanie pamięci 459
    • Tajemnicza pamięć 459
    • Problemy z dyskami sieciowymi 459
    • Używanie dysków niesieciowych 461
  • Konfigurowanie ustawień systemowych 461
    • Wyłączanie opcji NUMA 461
    • Opcja readahead 463
    • Wyłączanie opcji THP 464
    • Wybieranie algorytmu planisty dysku 465
    • Wyłączanie śledzenia czasu dostępu 465
    • Modyfikowanie limitów 466
  • Konfigurowanie sieci 467
  • Porządkowanie systemu 469
    • Synchronizowanie zegarów 469
    • Proces OOM killer 469
    • Wyłączanie zadań okresowych 470

A. Instalowanie MongoDB 471

  • Wybieranie wersji 471
  • Instalowanie w systemie Windows 472
    • Instalowanie jako usługa 473
  • Instalowanie w systemach POSIX (Linux i Mac OS X) 473
    • Instalowanie za pomocą menedżera pakietów 474

B. Wewnętrzne elementy MongoDB 475

  • BSON 475
  • Protokół komunikacji 476
  • Pliki danych 476
  • Przestrzenie nazw 478
  • Mechanizm zapisywania danych WiredTiger 478
Kategoria: Bazy danych
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-283-6534-6
Rozmiar pliku: 5,2 MB

BESTSELLERY

Kategorie: