sql >> Database >  >> RDS >> Database

Relationele versus niet-relationele databases - Deel 3

In het eerste en tweede deel van deze blogserie zagen we enkele fundamentele verschillen tussen de schaalbaarheid van relationele en niet-relationele databases. In dit bericht laat ik je zien hoe je deze databases correct gebruikt, en vertel ik je ook over enkele bekende bedrijven die deze databases gebruiken.

Relationele database

In het eerste deel van deze blogreeks had ik het over ACID-eigenschappen. Deze eigenschappen zijn belangrijk om een ​​strakke transactionele integratie te behouden. Er zijn een aantal industrieën, zoals het bankwezen, de detailhandel, enz., Waar elke transactie ACID-eigenschappen vereist. Bij banktransacties, als een rekening wordt gecrediteerd, moet een andere worden gedebiteerd. De gedeeltelijke update is nooit toegestaan, omdat dit de gegevensintegriteit aantast — Oracle, SQL Server, MySQL en andere RDBMS worden in dit scenario gebruikt.

Niet-relationele database (NoSQL DB)

In het eerste deel van deze blogreeks had ik het ook over BASE-property's. Deze zijn belangrijk om gegevens consistent te houden over alle knooppunten in een database. Alle informatie die geen strikte gegevensintegriteit vereist, kan worden opgeslagen in een NoSQL-database. De inhoud van een zoekmachinesysteem kan bijvoorbeeld worden opgeslagen in een niet-relationele database, omdat het gemakkelijk is om snel informatie op te halen. Een goed voorbeeld van een zoekmachinesysteem is Google. Google slaat zijn gecachte webpagina's meestal op in een weblaag die periodiek wordt vernieuwd. Deze databases kunnen terabytes aan historische gegevens (bijvoorbeeld creditcardtransacties van een bank, van de afgelopen 5 jaar) opslaan in een gedistribueerde omgeving. Het is eenvoudig om gegevens in een NoSQL-database te analyseren en te ontginnen met behulp van SQL-achtige HIVE-datawarehouse-software. NoSQL DB's kunnen worden gebruikt om enorme hoeveelheden ongestructureerde gegevens op te slaan en zijn ook geschikt voor tekstanalyse.

Ik heb een aantal toporganisaties opgesomd die deze databases gebruiken:

Relationele databases

SQL Server:LG Electronics, MySpace, Hilton Hotels.

ORACLE:British Telecom, MasterCard, Reliance Ltd.

MySQL:Facebook, Twitter, LinkedIn. Facebook gebruikt MySQL om gebruikersinteractie op te slaan, zoals statusupdates, shares, vind-ik-leuks, enz.

Niet-relationele databases

CouchBase:LinkedIn, AdAction.

Cassandra:Facebook, Twitter, Digg.

MongoDB:LinkedIn, Pearson.

Neo4j:Cisco, eBay, enz.

Zoals je hebt gezien, gebruiken bedrijven als Facebook, Twitter en LinkedIn zowel relationele als niet-relationele databases, op basis van hun vereisten.

Laat me nu terugkeren naar het eerste deel van deze serie en de volgende vragen beantwoorden:

Kunnen relationele databases big data verwerken?

Zijn relationele databases schaalbaar?

Zijn relationele databases geschikt voor de moderne gegevensvereisten? Zoals realtime analyses, omgaan met ongestructureerde gegevens?

Het antwoord op al deze vragen is volmondig "JA". Relationele databases verdwijnen niet in deze sociale wereld. Op basis van de aard en complexiteit van de dataset moet de juiste database worden gebruikt. Zowel relationele als niet-relationele databases hebben hun eigen voor- en nadelen. De juiste instelling van de omgeving kan gebruikmaken van relationele en niet-relationele databases op een juiste manier zoals Facebook, Twitter en LinkedIn dat hebben gedaan.


  1. Geekbench 3.2 gebruiken om grote databaseservers te testen

  2. SQL Server Parallel Back-up Herstellen -2

  3. Pincode-database van India met locatiezoekerscript in php en jQuery

  4. Hoe te controleren of de mysql-database bestaat