sql >> Database teknologi >  >> RDS >> Database

Relationelle vs ikke-relationelle databaser – Del 3

I første og anden del af denne blogserie så vi nogle grundlæggende forskelle mellem skalerbarheden af ​​relationelle og ikke-relationelle databaser. I dette indlæg vil jeg vise dig, hvordan du bruger disse databaser korrekt, og også fortælle dig om nogle velkendte virksomheder, der bruger disse databaser.

Relationel database

I den første del af denne blog-serie talte jeg om ACID-egenskaber. Disse egenskaber er vigtige for at opretholde en tæt transaktionel integration. Der er nogle industrier som bank, detailhandel osv., hvor hver transaktion kræver ACID-egenskaber. Ved banktransaktioner, hvis en konto krediteres, skal en anden debiteres. Den delvise opdatering er aldrig tilladt, da den vil påvirke dataintegriteten – Oracle, SQL Server, MySQL og andre RDBMS bruges i dette scenarie.

Ikke-relationel database (NoSQL DB)

I den første del af denne blogserie talte jeg også om BASE-egenskaber. Disse er vigtige for at holde data konsistente på tværs af alle noder i en database. Enhver information, der ikke kræver streng dataintegritet, kan gemmes i en NoSQL DB. For eksempel kan indholdet af et søgemaskinesystem lagres i en ikke-relationel database, fordi det er nemt at hente information hurtigt. Et godt eksempel på et søgemaskinesystem er Google. Google gemmer normalt sine cachelagrede websider i et weblag, der opdateres med jævne mellemrum. Disse databaser kan gemme terabyte af historiske data (f.eks. kreditkorttransaktioner fra en bank i de sidste 5 år) i et distribueret miljø. Det er nemt at analysere og mine data i en NoSQL DB ved hjælp af SQL-lignende HIVE data warehouse software. NoSQL DB'er kan bruges til at gemme enorme mængder af ustrukturerede data og er også velegnede til tekstanalyse.

Jeg har angivet nogle toporganisationer, der bruger disse databaser:

Relationelle databaser

SQL Server:LG Electronics, MySpace, Hilton Hotels.

ORACLE:British Telecom, MasterCard, Reliance Ltd.

MySQL:Facebook, Twitter, LinkedIn. Facebook bruger MySQL til at gemme brugerinteraktion såsom statusopdateringer, delinger, likes osv.

Ikke-relationelle databaser

CouchBase:LinkedIn, AdAction.

Cassandra:Facebook, Twitter, Digg.

MongoDB:LinkedIn, Pearson.

Neo4j:Cisco, eBay osv.

Som du har set, bruger virksomheder som Facebook, Twitter og LinkedIn både relationelle og ikke-relationelle databaser baseret på deres krav.

Lad mig nu vende tilbage til den første del af denne serie og besvare følgende spørgsmål:

Er relationsdatabaser i stand til at håndtere big data?

Er relationsdatabaser skalerbare?

Er relationelle databaser velegnede til den moderne tids datakrav? Såsom realtidsanalyse, håndtering af ustrukturerede data?

Svaret på alle disse spørgsmål er et voldsomt "JA". Relationelle databaser forsvinder ikke i denne sociale verden. Baseret på datasættets art og kompleksitet bør den rigtige database bruges. Både relationelle og ikke-relationelle databaser har deres egne fordele og ulemper. Det korrekte miljø, der er sat op, kan gøre brug af relationelle og ikke-relationelle databaser på en ordentlig måde, ligesom Facebook, Twitter og LinkedIn har gjort det.


  1. Top 18 gratis og meget brugte, open source NoSQL-databaser

  2. Anatomi af en softwareudviklingsrolle:Dataforsker

  3. Forbedre ydeevnen af ​​Galera Cluster til MySQL eller MariaDB

  4. Forståelse af transaktioner i SQL