sql >> Databasteknik >  >> RDS >> Database

Relationella vs icke-relationella databaser – Del 3

I den första och andra delen av den här bloggserien såg vi några grundläggande skillnader mellan skalbarheten av relationella och icke-relationella databaser. I det här inlägget kommer jag att visa dig hur du använder dessa databaser korrekt, och även berätta om några välkända företag som använder dessa databaser.

Relationsdatabas

I den första delen av denna bloggserie pratade jag om ACID-egenskaper. Dessa egenskaper är viktiga för att upprätthålla en tät transaktionsintegration. Det finns vissa branscher som bank, detaljhandel, etc., där varje transaktion kräver ACID-egenskaper. Vid banktransaktioner, om ett konto krediteras, ska ett annat debiteras. Den partiella uppdateringen är aldrig tillåten, eftersom den kommer att påverka dataintegriteten – Oracle, SQL Server, MySQL och andra RDBMS används i det här scenariot.

Icke-relationell databas (NoSQL DB)

I den första delen av denna bloggserie pratade jag även om BASE-egenskaper. Dessa är viktiga för att hålla data konsekvent över alla noder i en databas. All information som inte kräver strikt dataintegritet kan lagras i en NoSQL DB. Till exempel kan innehållet i ett sökmotorsystem lagras i en icke-relationell databas, eftersom det är lätt att snabbt hämta information. Ett bra exempel på ett sökmotorsystem är Google. Google lagrar vanligtvis sina cachade webbsidor i ett webblager som uppdateras regelbundet. Dessa databaser kan lagra terabyte av historisk data (säg kreditkortstransaktioner från en bank, för de senaste 5 åren) i en distribuerad miljö. Det är lätt att analysera och bryta data i en NoSQL DB med SQL-liknande HIVE data warehouse-programvara. NoSQL DB:er kan användas för att lagra enorma volymer av ostrukturerad data och är också lämpliga för textanalys.

Jag har listat några topporganisationer som använder dessa databaser:

Relationsdatabaser

SQL Server:LG Electronics, MySpace, Hilton Hotels.

ORACLE:British Telecom, MasterCard, Reliance Ltd.

MySQL:Facebook, Twitter, LinkedIn. Facebook använder MySQL för att lagra användarinteraktion som statusuppdateringar, delningar, gilla-markeringar etc.

Icke-relationella databaser

CouchBase:LinkedIn, AdAction.

Cassandra:Facebook, Twitter, Digg.

MongoDB:LinkedIn, Pearson.

Neo4j:Cisco, eBay, etc.

Som du har sett använder företag som Facebook, Twitter och LinkedIn både relationella och icke-relationella databaser, baserat på deras krav.

Låt mig nu återgå till den första delen av den här serien och svara på följande frågor:

Är relationsdatabaser kapabla att hantera big data?

Är relationsdatabaser skalbara?

Är relationsdatabaser lämpliga för den moderna tidsålderns datakrav? Till exempel realtidsanalys, hantera ostrukturerad data?

Svaret på alla dessa frågor är ett häftigt "JA". Relationsdatabaser försvinner inte i denna sociala värld. Baserat på datauppsättningens karaktär och komplexitet bör rätt databas användas. Både relationella och icke-relationella databaser har sina egna fördelar och nackdelar. Den korrekta miljön som ställs in kan använda relationella och icke-relationella databaser på ett korrekt sätt som hur Facebook, Twitter och LinkedIn har gjort det.


  1. Tabell skapas inte sqlite android

  2. Psycopg2 gillar inte tabellnamn som börjar med en liten bokstav

  3. Finns det någon skillnad mellan IS NULL och =NULL

  4. Postgresql :Hur väljer jag top n procent(%) poster från varje grupp/kategori