Du bör inte använda ett databashanteringssystem (DBMS) när:
* Uppgifterna är extremt enkla och små: Om du bara behöver lagra några få information som inte kräver relationer eller komplexa frågor, kan en enkel textfil, CSV eller till och med en konfigurationsfil räcka. Kostnaden för att ställa in och upprätthålla en DBMS skulle uppväga fördelarna. Tänk en enda användare som lagrar en kort to-do-lista.
* Databehov är helt tillfälliga: Om uppgifterna endast behöver existera under ett enda programs exekvering, är datastrukturer i minnet (som matriser, listor, ordböcker) mycket effektivare. Detta är vanligt i många typer av applikationsprogrammering.
* realtid, ultra-låg latens är avgörande och databasåtkomst är en flaskhals: I vissa högfrekventa handelssystem eller vissa inbäddade system kan omkostnaderna för databasåtkomst, även med optimerade frågor, vara för långsamma. I dessa fall kan specialiserade datastrukturer eller anpassade lösningar vara nödvändiga.
* Säkerhet hanteras bättre utanför DBMS: I extremt känsliga miljöer där datahantering kräver specialiserad kryptering eller säkerhetsprotokoll som inte är lätt tillgängliga eller integrerade i dina valda DBM:er, kan du välja en mer anpassad lösning. Detta är dock sällsynt. Moderna DBM:er har robusta säkerhetsfunktioner.
* Kostnaden för att implementera och upprätthålla en DBMS uppväger fördelarna: Detta beaktar faktorer som licensavgifter, hårdvarukrav, kostnaden för skicklig personal för att hantera databasen och den tid som investerats i utveckling. För mycket små applikationer kan denna kostnad vara oöverkomlig.
* Brist på skicklig personal: A DBMS kräver någon med expertis för att utforma, implementera, underhålla och säkra den. Om du saknar personal med dessa färdigheter kan det vara skadligt att försöka använda en DBMS.
* Ansökan kräver specialiserad datahantering som inte är välstödd av relationella DBM: Vissa typer av data, som grafer eller geografiska data, kan vara bättre lämpade för specialiserade NoSQL -databaser eller andra lösningar som är bättre utrustade för att hantera sina unika strukturer. Medan vissa DBM:er kan hantera dessa med vissa svårigheter, kanske det inte är deras styrka.
Kort sagt, beslutet om att använda en DBMS är en avvägning mellan komplexiteten i dina datahanteringsbehov och omkostnaderna för att ställa in och underhålla en databas. För de flesta applikationer utöver de enklaste användningsfallen uppväger fördelarna med att använda en DBMS - dataintegritet, konsistens, skalbarhet och enkel fråga - kraftigt.