Video: Web Programming - Computer Science for Business Leaders 2016 2024
NoSQL-databaser är inte begränsade till en rad-och-kolumn. De är utformade för att hantera en stor mängd data, inklusive data vars struktur förändras över tiden och vars relationer ännu inte är kända.
NoSQL-databaser finns i fyra kärntyper - en för varje typ av data som databasen förväntas hantera:
-
Columnar: Förlängning till traditionella bordstrukturer. Stöder variabla uppsättningar kolumner (kolumnfamiljer) och är optimerad för kolonnbrett operationer (som räkning, summa och medelvärde).
-
Nyckeltal: En mycket enkel struktur. Satser av namngivna nycklar och deras värde (er), vanligtvis en tolkad bit av data. Ibland kan det enkla värdet faktiskt vara ett JSON- eller binärt dokument.
-
Trippel: Ett enda faktum representerat av tre delar:
-
Ämnet du beskriver
-
Namnet på egenskapen eller förhållandet till ett annat ämne
-
Värdet - antingen ett inneboende värde som ett heltal) eller ett annat ämnes unika ID (om det är ett förhållande)
Adam gillar till exempel ost. Adam är ämnet, gillar är predikatet, och ost är föremålet.
-
-
Dokument: XML, JSON, text eller binär blob. Alla treelike strukturer kan representeras som ett XML- eller JSON-dokument, inklusive saker som en order som innehåller en leveransadress, faktureringsuppgifter och en lista över produkter och kvantiteter.
Vissa dokument NoSQL-databaser stöder lagring av en separat lista (eller dokument) av egenskaper om dokumentet också.
De flesta dataproblem kan beskrivas med avseende på de föregående datastrukturerna. Faktum är att nästan alla datorprogram som någonsin skrivits faller i dessa kategorier. Det är därför viktigt att förstå hur du bäst kan lagra, hämta och fråga den data.
Den goda nyheten är att det nu finns en uppsättning databaser för att hantera varje enskild typ av data korrekt, så att du inte behöver riva data till ett fast relationskema (shred betyder att konvertera komplexa datastrukturer till enkel excel som bordstrukturer med relationer, vilket alltid har tyckt som fel sak att göra).
Förutom de föregående NoSQL datatyperna är det här två andra utvecklingar som är värda att nämna:
-
Sökmotorer: Om du lagrar information som har en variabel struktur eller riklig text behöver du en gemensam väg över strukturer för att hitta relevant information, vilka sökmotorer tillhandahåller.
-
Hybrid NoSQL-databaser: Dessa databaser ger en blandning av kärnfunktionerna i flera NoSQL-databastyper - till exempel nyckelvärde, dokument och tredubbla butiker - allt i samma produkt.
Flera sökmotorer och hybriddatabaser tillämpar allmänna teman som finns i NoSQL-produkter, nämligen att låta variabla datatyper vara horisontella skalbara på råvara. Den interna konstruktionen av sökmotorer och hybrid NoSQL-databaser är likartade och komplementära.