Behöver jag NoSQL, SQL eller båda?
NyheterAtt välja rätt databas för ditt företag kan vara en skrämmande och tidskrävande uppgift, speciellt för de missbekanta.
Även om det är frestande att implementera ett system med tankegången att helt enkelt ticka en nödvändig låda blir det allt viktigare att organisationer väljer en specialiserad databas för sina egna krav.
Med detta i åtanke satte vi oss ner med Randal Hoff, VD i databasföretaget Faircom, för att ta reda på vad som behöver hända i beslutsprocessen.
TechRadar Pro: Hur identifierar du rätt databas för företagets behov?
Randal Hoff: Det första steget är att förstå dina företagsbehov och bedöma volymen och typen av data du försöker extrahera, lagra och analysera.
Under det här steget är det viktigt att notera om du har datakällor som är begränsade i gamla databaser och applikationer. Ibland har denna typ av data utvecklats med hjälp av COBOL och andra värdiga kodningsspråk, vilket kan göra processen att extrahera det ganska svårt.
Att förstå det fulla användningsområdet för data som ingår i projektet är dock viktigt för affärsbeslut och måste samlas innan du bestämmer vilken databas - eller databaser och plattformar som passar dina behov.
TRP: Samtidigt är det också nödvändigt att brainstorma företagets framtida behov. Hur ska databasarkitekturerna hanteras och ändras när företagens behov utvecklas och behöver behållas?
RH: En kritisk faktor är att säkerställa stöd för standard API, som är avgörande för integrationen av databaser och datalager med andra affärsapplikationer.
Utveckla stöd för API: er, särskilt när vissa datalager är låsta inom äldre applikationer som inte stöder moderna API: er, kan vara en skrämmande uppgift eftersom de ibland kan kräva moderniseringsansträngningar över äldre plattformar.
Samtidigt finns det befintliga metoder som stöder modernisering utan att helt ersätta tidigare applikationer. Det finns databaser som specialiserar sig på att förmedla äldre data med minimal ansträngning och risk, till exempel c-treeACE från FairCom.
TRP: Under vilka omständigheter är det fördelaktigt att integrera både SQL och NoSQL?
RH: Självklart behöver du rätt verktyg för rätt jobb, men ibland kan det enkla konceptet att titta på framtiden göra klart om NoSQL, SQL eller integrationen av båda är rätt för dig.
NoSQL har blivit en populär arkitektur för hantering av stora datamängder, eftersom de kan vara effektivare med avseende på processkraften som krävs för att hantera stora filer.
Samtidigt är det viktigt att överväga om data som ska lagras måste stödja omedelbar datakonsistens. Dessutom vill du fråga dig själv - Hur missionskritisk är ansökan och relaterad databas?
En fråga som vissa företag står inför när de arbetar med ostrukturerad stor data är att många Open Source NoSQL-databaser inte är kompatibla med Atomicity, Consistency, Isolation and Durability (ACID) och kan inte stödja realtidstiden. Som ett resultat kan denna brist på ACID-överensstämmelse resultera i data som inte är synkroniserade och inkonsekventa.
Dessutom är SQL typiskt go-to-språket för företagsintelligensrapporter och fördjupad analys och SQL kan inte enkelt stödjas med NoSQL-implementeringar.
Även om det ursprungliga ändamålet för datastrukturerade eller ostrukturerade - kan kräva en NoSQL-lösning för prestanda, kan samma dataset behövas för mer strukturerad analys och affärsintelligensrapporter senare, vilket är där SQL-support kan vara en bra fördel.
Snarare än att begränsa databas arkitekturval till en NoSQL eller SQL-databas, kan en mer försiktig inställning vara att överväga databaser som kan stödja en NoSQL + SQL-integration, för att hålla alternativen öppna i framtiden.
Genom att distribuera en databasarkitektur som planerar för senare integration av NoSQL + SQL, erbjuder ingenjörer mer flexibilitet och kontroll, vilket ger ett sätt att extrahera, lagra och hantera data med hjälp av den reducerade overhead NoSQL, men ger möjlighet att lägga till SQL-funktionalitet vid behov.