En av grundstenarna på webben har länge varit databaser som t. ex. PostgreSQL eller MySQL i Open-Source världen, Oracle eller MS SQL i . Detta gäller både enskilda användares bloggar eller liknande, som för sökmotorer av olika slag. Men på sistone har uttrycket NoSQL spridit sig som som begrepp för att allt fler större databaser, t. ex. Googles, Facebooks och Twitters databaser inte använder sig av SQL. Vad som avses med NoSQL är något otydligt, oftast avses en dokumentmodell-databas. Ett dokument kan se ut så här:
IP=”192.168.0.1”, Typ=”Gateway”
ett annat dokument i samma databas skulle kunna se ut så här:
DatorNamn=”Kontoret”, IP=”192.168.0.2”, Typ=”Dator”
I förhållande till relationsdatabaser (SQL t. ex.) kan man notera att dokumenten inte behöver ha samma fält, det finns inte heller något krav från själva databasen på att ett visst fält ska ha en viss typ av värde, som text eller integer i SQL. Detta leder till att det ofta är svårt att genomföra operationer som `join’, men detta är oproblematiskt då datan allt som oftast inte är sådan att en `join’ operation tillför något. Fördelen är att dokumenten kan växa individuellt utan att påverka varandra. Åtkomst till dokumenten sker sedan med en nyckel/värde tabell.
Genom att inte ha SQL:s normalisering av data (struktureringen, både i datatyper och i olika tabeller) kan datan lagras ”i sin mest naturliga form” som det ofta heter, dvs. en textfil kan lagras precis som den är, vill man lägga till metainformation, så är det bara att lägga på.
Man kan ibland få intrycket att NoSQL är något nytt. Detta är strikt taget inte korrekt, tvärtom har denna idé om lagring funnits länge, t. ex. Berkeley DB. Det som möjligtvis kan beskrivas som nytt är skalan på vilken idén appliceras.
Finns det då någon ingång för att denna typ av databaser även kommer in i t. ex. CMS verktyg som WordPress och på det sättet kommer att bli använt av ”vanliga användare”? Det är egentligen märkligt att det inte redan skett. Att använda en fullskalig MySQL databas för att driva t. ex. bloggar må vara rimligt när det gäller webbhotell, som kan sätta upp kluster av databaser som sedan delas mellan de olika användarna. Men för alla andra fall skulle det fungera bättre med t. ex. Berkeley XML DB som använder ovannämnda dokumentmodell i ”semi-strukturerad” form, XML och Xpath för att utföra `select’ operationer.
