Sobes.tech
Junior

Welke soorten databases bestaan er?

sobes.tech AI

Antwoord van AI

Databases worden volgens verschillende criteria geclassificeerd, de belangrijkste types:

  1. Relationeel (SQL-georiënteerd):

    • Gegevens worden opgeslagen in tabellen met rijen en kolommen.
    • Relaties tussen tabellen worden gedefinieerd door primaire en externe sleutels.
    • SQL wordt gebruikt voor query's.
    • Voorbeelden: PostgreSQL, MySQL, Oracle, SQL Server.
  2. NoSQL (niet-relationeel):

    • Verschillen van relationele door flexibele schema's en horizontale schaalbaarheid.
    • Er bestaan verschillende datamodellen:
      • Key-Value: Redis, Memcached.
      • Documentgericht: MongoDB, Couchbase.
      • Wide-column: Cassandra, HBase.
      • Grafen: Neo4j, ArangoDB.
  3. In-memory (in RAM):

    • Gegevens worden direct in RAM opgeslagen voor snelle toegang.
    • Kunnen relationeel of NoSQL zijn.
    • Voorbeelden: Redis, Memcached, SAP HANA.
  4. Tijdreeksen:

    • Geoptimaliseerd voor opslag en analyse van gegevens in chronologische volgorde.
    • Voorbeelden: InfluxDB, TimescaleDB.
  5. Multimodel:

    • Ondersteunen meerdere datamodellen tegelijk (bijvoorbeeld document- en grafmodel).
    • Voorbeelden: ArangoDB, OrientDB.
  6. Ruimtelijk:

    • Geoptimaliseerd voor opslag en query's van gegevens met geografische coördinaten.
    • Vaak uitbreidingen van relationele of NoSQL-databases (bijvoorbeeld PostGIS voor PostgreSQL).
  7. Master-Slave:

    • Architectuurpatroon voor gegevensreplicatie. Eén knooppunt (master) behandelt schrijfacties, anderen (slaves) lezen alleen en synchroniseren met de master. Gebruikt voor schaalvergroting en hoge beschikbaarheid.
  8. Sharding:

    • Gegevens worden verdeeld over meerdere onafhankelijke knooppunten (shards). Gebruikt voor horizontale schaalvergroting en grote datavolumes.

Vergelijkingstabel tussen relationele en niet-relationele databases (belangrijkste verschillen):

Kenmerk Relationeel (SQL) Niet-relationeel (NoSQL)
Schema Strikt, vooraf gedefinieerd Flexibel, dynamisch
Schaalbaarheid Verticaal (moeilijker horizontaal) Horizontaal (gemakkelijker)
Gegevensintegriteit ACID (meestal) BASE (meestal)
Datamodel Tabellen Key-Value, document, grafiek, etc.
Querytaal SQL Divers (API, specifiek)