1. Wprowadzenie do koncepcji baz danych NoSQL
Bazy NoSQL są tu osadzone w szerszym kontekście klasyfikacji, podstawowych parametrów oraz ograniczeń opisanych przez twierdzenie CAP. Sekcja porównuje je także z bazami relacyjnymi i odwołuje się do Cassandra, Hbase oraz Mongo jako przykładów konkretnych podejść technologicznych.
- klasyfikacja baz danych NoSQL,
- twierdzenie CAP,
- bazy NoSQL a bazy relacyjne,
- podstawowe parametry baz danych NoSQL,
- przegląd baz NoSQL (Cassandra, Hbase, Mongo).
2. Szczegółowy przegląd różnych typów baz danych NoSQL
Różne typy baz NoSQL odpowiadają na odmienne wymagania dotyczące struktury danych i obciążenia systemu. W tej części zestawiono bazy klucz-wartość, kolumnowe, dokumentowe, grafowe i obiektowe, a także inne warianty, wskazując ich model pracy i typowe zastosowania.
- bazy klucz-wartość (key-values),
- bazy kolumnowe (column stores),
- bazy dokumentowe (document stores),
- bazy grafowe (graph stores),
- bazy obiektowe (object databases),
- inne bazy danych.
3. Omówienie procesu modelowania danych w kontekście baz NoSQL
Model danych w NoSQL powstaje wokół agregatów, obiektów i relacji, ale ich odwzorowanie zależy od sposobu wykorzystania informacji przez aplikację. Sekcja porządkuje zasady projektowania takich struktur i pokazuje, jak unikać bezpośredniego przenoszenia wzorców relacyjnych.
- agregaty,
- obiekty,
- relacje.
4. Zrozumienie architektury danych w systemach NoSQL
Na poziomie architektury dane w NoSQL są porządkowane według zasad innych niż w klasycznych systemach relacyjnych. Omówione zostają bazy jako tablice asocjacyjne, znaczenie wierszy i rodzin kolumn oraz rola indeksów w dostępie do danych w środowisku rozproszonym.
- bazy danych jako tablice asocjacyjne,
- wiersze i rodziny kolumn,
- indeksy.
5. Opis procesu tworzenia bazy danych w systemie NoSQL
Tworzenie bazy w systemie NoSQL opiera się na dopasowaniu modelu przechowywania do sposobu użycia danych, wymagań wydajnościowych i skali. Ujęto tu kolejne etapy budowy rozwiązania, od decyzji strukturalnych po organizację danych pod kątem późniejszych operacji i utrzymania.
6. Omówienie procesu konwersji tradycyjnej relacyjnej bazy danych do bazy NoSQL
Przejście z relacyjnej bazy danych do NoSQL zaczyna się od zmiany sposobu myślenia o strukturach, zapytaniach i ograniczeniach. Ta część koncentruje się na samym procesie konwersji oraz na przekładzie założeń modelu relacyjnego na podejście zgodne z architekturą i mechaniką baz NoSQL.
7. Opis różnych technik pozwalających na zarządzanie danymi relacyjnymi w systemach NoSQL
Obsługa danych o charakterze relacyjnym w NoSQL wymaga innych mechanizmów niż klasyczne złączenia i normalizacja. Sekcja pokazuje, jak łączyć wiele zapytań, buforowanie, replikację, dane nienormalizowane oraz zagnieżdżanie danych, aby wspierać wzorce odczytu i kontrolować kompromisy projektowe.
- wiele zapytań (multiple queries),
- buforowanie, replikacja i nienormalizowane dane (caching, replication and non-normalized data),
- zagnieżdżanie danych (nesting data).