NoSQL (nierelacyjne bazy danych) jest wykorzystywany w odniesieniu do niedawno powstałych baz, takich jak Apache Cassandra, MongoDB, ArangoDB, Neo4J, Redis czy Riak. Te bazy pozwalają na przechowywanie danych bez schematu, mogą działać w klastrach i pozwalają wymienić tradycyjną spójność na inne wartościowe właściwości. Zwolennicy NoSQL twierdzą, że są w stanie budować bardziej wydajne systemy, które będą łatwiej się skalować i których programowanie będzie łatwiejsze.
Książki o NoSQL i nierelacyjnych bazach danych - książki
Książki, ebooki z kategorii: NoSQL dostępne w księgarni Helion
Technologie NoSQL na tle współczesnego IT
Obszar IT i nowych technologii stał się dziś gęstą siecią powiązań między programowaniem, analizą danych, automatyką wdrożeń DevOps, sztuczną inteligencją czy cyberbezpieczeństwem. W centrum wielu z tych zagadnień stoją dane: ich struktura, skalowalność, bezpieczeństwo i szybkość przetwarzania. Książki dostępne w helion pokazują, jak od klasycznych systemów relacyjnych dojść do rozwiązań opartych na NoSQL, Hadoopie, modelu MapReduce czy platformach big data, a więc do ekosystemu, w którym praca z informacją ma zupełnie inny rozmiar niż jeszcze kilkanaście lat temu.
Wraz z rozwojem chmury, mikrousług i aplikacji o globalnym zasięgu powstało wiele odmiennych technologii bazodanowych. W publikacji NoSQL, NewSQL i BigData. Bazy danych następnej generacji - Guya Harrisona mocno podkreśla się, że decyzja o wyborze modelu bazy danych stała się decyzją strategiczną, wpływającą jednocześnie na architekturę systemu, koszty utrzymania i sposób rozwiązywania realnych problemów biznesowych. Z jednej strony mamy wciąż istotne relacyjne systemy transakcyjne, z drugiej - nierelacyjne bazy dokumentów, grafów czy rodzin kolumn, które lepiej radzą sobie z masową skalą i zróżnicowaną strukturą danych.
Nie da się też mówić o NoSQL w oderwaniu od solidnych podstaw. W klasycznym podręczniku Wprowadzenie do systemów baz danych. Wydanie VII -Rameza Elmasriego i Shamkanta B. Navathego obok modeli relacyjnych opisano także systemy rozproszone, algorytmy przetwarzania zapytań, bezpieczeństwo baz danych oraz współczesne podejścia oparte na NoSQL i big data. Dzięki temu łatwiej zobaczyć, że nierelacyjne bazy nie są ,,modą", tylko odpowiedzią na konkretne ograniczenia tradycyjnych rozwiązań.
NoSQL w praktyce: od modeli danych do działających aplikacji
Książki w tej kategorii koncentrują się na praktyce: pokazują, jak przełożyć wymagania aplikacji na konkretny model danych i realną konfigurację systemu. Czytelnik uczy się, jak projektować schematy (a czasem celowo je porzucać), jak rozumieć kompromisy między spójnością, dostępnością i odpornością na awarie, oraz jak zestawiać NoSQL z językami programowania używanymi w codziennej pracy, takimi jak Python, Java czy JavaScript. Do tego dochodzi praca z narzędziami: od prostych interfejsów CLI, przez API baz dokumentowych, po integrację z narzędziami typu Docker czy systemami kolejkowania.
W przewodniku NoSQL. Przyjazny przewodnik - Dana Sullivana znajdziemy uporządkowane omówienie baz klucz-wartość, baz dokumentów, rodzin kolumn i baz grafowych z naciskiem na to, jakie cechy są kluczowe podczas projektowania aplikacji. Autor nie ogranicza się do teorii: wyjaśnia wewnętrzne mechanizmy działania tych systemów, pokazuje wzorce projektowe oraz typowe problemy, które pojawiają się przy budowaniu skalowalnych i odpornych aplikacji. Dla projektanta czy architekta to konkretne drogowskazy, jak uniknąć błędów już na etapie modelowania danych.
Wiele tytułów zahacza też o narzędzia, które traktujemy już niemal jak standard branżowy: Hadoop, MapReduce, systemy przetwarzania strumieniowego, a także tradycyjne SQL obok nowszych dialektów i interfejsów zapytań. Dzięki temu łatwiej zrozumieć, kiedy sens ma relacyjny model z transakcjami ACID, a kiedy rozsądniej sięgnąć po bazę grafową do analizy sieci powiązań, dokumentową do elastycznych schematów czy magazyn kolumnowy do zastosowań analitycznych i projektów big data.
Ścieżki kariery związane z NoSQL i systemami baz danych
Znajomość nowoczesnych technologii bazodanowych otwiera sporo dróg zawodowych. Osoba, która swobodnie porusza się między SQL a NoSQL, może budować backend aplikacji webowych, projektować systemy mikroserwisowe, pracować jako inżynier danych odpowiedzialny za przepływ informacji w organizacji czy jako architekt, który dobiera odpowiednią technologię do specyficznego obciążenia. Do tego dochodzą role związane z data science, gdzie NoSQL bywa naturalnym miejscem składowania danych z logów, sensorów lub serwisów społecznościowych, a także specjalizacje DevOps i SRE, skupione na utrzymaniu klastra baz w ruchu 24/7.
Wbrew pozorom, ta wiedza przydaje się również w obszarach bardziej ,,tradycyjnych": administrator baz danych, który rozumie zarówno systemy relacyjne, jak i rozproszone bazy dokumentowe, może projektować polityki bezpieczeństwa i kopii zapasowych pod kątem zupełnie różnych modeli przechowywania. Programista backendowy lepiej optymalizuje zapytania i potrafi dobrać odpowiedni wzorzec projektowy pod konkretne wymagania wydajnościowe, zamiast na siłę dopasowywać każdy problem do jednego typu bazy.
Można się też zastanawiać, gdzie ta ścieżka rozwoju będzie prowadzić za kilka lat. Wydaje się, że coraz częściej wiedza o NoSQL splata się z tematami uczenia maszynowego, przetwarzania strumieni danych w czasie rzeczywistym czy analizy ryzyka w cyberbezpieczeństwie. Deweloperzy frontend, backend, specjaliści DevOps, analitycy danych - wszyscy oni prędzej czy później stykają się z pytaniem nie tylko ,,jak zapisać dane", lecz także ,,jak wybrać taki system, który wytrzyma skalę, koszty i tempo zmian projektu". I właśnie tu książki z tej kategorii są pomocnym punktem odniesienia.
Jeżeli interesują Cię także systemy operacyjne i administracja serwerami, naturalnym kolejnym krokiem może być zajrzenie do kategorii poświęconej zagadnieniu Linux, bo baza danych prędzej czy później musi gdzieś bezpiecznie działać.

