NLEN
Direct technisch advies?
Home > Blog

CockroachDB: Offspring van PostgreSQL?

Martijn Wallet 26-9-2018 0:00
Categorieën: BLOG, DBMS, Open Source, PostgreSQL, Review, Technisch

Cloud deployments

Van alle NewSQL databases is CockRoachDB op dit moment een van de meest indrukwekkende en imponerende. Het is van nature een distributed database systeem die zeer goed geschikt is voor cloud deployments, maar ook gebruikt kan worden on-premise of in containers. Het is mogelijk om CockRoachDB dichtbij de gebruikers te brengen, verspreid over regio’s, datacenters en verschillende cloud providers. Data kan dynamisch verplaatsen naar de locatie waar het nodig is. CockRoachDB schaalt, balanceert en repareert automatisch. Handmatige sharding is niet nodig en ACID transacties zijn mogelijk.

Maar hoe zorgt CockRoachDB dan voor die consistentie?

CockRoachDB garandeert “serializable” isolation level, de hoogst gedefinieerde in de SQL standard. Het kan dit doen door het Raft consensus algoritme voor schrijven te combineren met op tijd gebaseerde synchronisatie algoritmes voor lezen.

  • Opgeslagen data heeft een versie binnen MVCC, dus lees acties zijn gelimiteerd tot de versie op het moment dat de lees transactie begon;
  • De schrijf acties gebruiken het Raft consensus algoritme wat inhoud dat een meerderheid van de nodes samen bepalen of een update succesvol is geweest. Updates (schrijf acties) moeten een meerderheid van de nodes hebben bereikt (standaard 2 van de 3) voordat ze als succesvol worden ervaren.