sql >> Database >  >> RDS >> Database

Relationele versus niet-relationele databases - Deel 2

In mijn vorige bericht hebben we enkele fundamentele verschillen gezien tussen relationele en niet-relationele databases. Laten we het in dit bericht hebben over de schaalbaarheid van deze twee.

Schaalbaarheid

Het is een mogelijkheid van een systeem dat gemakkelijk de snelle binnenkomende gegevens kan verwerken zonder veel prestatieproblemen. Dit is de belangrijkste factor voor elk systeem om een ​​goede schaalbaarheid te bieden. Er zijn twee soorten schaalmethoden die bekend staan ​​als verticale en horizontale schaal.

Verticale schaal

Alle hulpprogramma's voor relationele databases ondersteunen verticaal schalen. Dit is de methode om de kracht van het systeem te vergroten door extra CPU-, geheugen- en schijfruimte toe te voegen. Om snelle inkomende gegevens mogelijk te maken, is de enkele productieserver geoptimaliseerd om op te schalen. Bij deze schalingstechniek is er altijd één productieserver die door alle applicaties en gebruikers kan worden aangesloten. Met sommige knooppunten kan een clusteromgeving worden gemaakt en de gegevens over knooppunten worden gerepliceerd.

Vanwege ACID-eigenschappen moeten alle knooppunten dezelfde gegevensset hebben en gegevenssynchronisatie wordt gecompliceerd als er meerdere knooppunten in het cluster zijn. Dit is erg geoptimaliseerd voor Read-scaling. Verticale schaling wordt ook wel scale-up genoemd.
Het voordeel van deze schalingsmethode is de nauwe integratie van gegevens en de consistentie ervan over de knooppunten in een cluster. Alle knooppunten hebben dezelfde gegevensset en als er een probleem is met de productieserver, wordt automatisch een ander knooppunt door de applicaties verbonden. Dit cluster staat dus bekend als Fail-over-cluster.

Horizontaal schalen

Alle hulpprogramma's voor niet-relationele databases ondersteunen horizontaal schalen. Dit is de methode om meer computers aan het netwerk toe te voegen om snel binnenkomende gegevens mogelijk te maken. Het is eenvoudig om meer knooppunten aan het cluster toe te voegen om gegevensgroei mogelijk te maken. Gegevens worden automatisch gesplitst en verwerkt over knooppunten in een cluster. Dit is een gedistribueerde data-omgeving. Hadoop Distributed File System (HDFS) is hier een klassiek voorbeeld van. Horizontaal schalen wordt ook wel scale-out genoemd.

Het voordeel van deze schalingstechniek is dat, aangezien gegevens worden gesplitst en gerepliceerd over knooppunten als een van de knooppunten offline gaat, de toepassing nog steeds de gegevens van andere knooppunten kan hebben en dit garandeert te allen tijde de beschikbaarheid van gegevens. Deze methode is erg handig voor de gevallen waarin er geen JOIN's vereist zijn tussen de gegevens van de knooppunten. Dit is ook handig om gegevens te scheiden en ze op verschillende geografische locaties te hebben.

Hoewel beide schalingstechnieken voor- en nadelen hebben, kan een goede omgeving deze beide combineren om een ​​uitstekende scale-up en scale-out te hebben. We kunnen een opgeschaalde lees- en schrijfdatabase hebben in een enkele server die ACID-eigenschappen vereist en een scale-out hebben die historische gegevens verspreidt over verschillende knooppunten voor dataminingdoeleinden.


  1. MySQL:grote VARCHAR versus TEKST?

  2. Uw databases bewaken met MySQL Enterprise Monitor

  3. SQL NIET IN werkt niet

  4. Hoe te ontsnappen aan de apostrof (') in MySql?