Sobes.tech
Junior

Ce tipuri de baze de date există?

sobes.tech AI

Răspuns de la AI

Bazele de date sunt clasificate după mai mulți parametri, principalele tipuri:

  1. Relationale (orientate pe SQL):

    • Datele sunt stocate în tabele cu rânduri și coloane.
    • Relațiile dintre tabele sunt definite prin chei primare și externe.
    • Se folosește limbajul SQL pentru interogări.
    • Exemple: PostgreSQL, MySQL, Oracle, SQL Server.
  2. NoSQL (non-relationale):

    • Se diferențiază de cele relationale prin scheme flexibile și scalare orizontală.
    • Există diferite modele de date:
      • Cheie-valoare: Redis, Memcached.
      • Documente: MongoDB, Couchbase.
      • Coloane largi: Cassandra, HBase.
      • Grafuri: Neo4j, ArangoDB.
  3. În memorie (RAM):

    • Datele sunt stocate direct în RAM pentru acces rapid.
    • Pot fi relationale sau NoSQL.
    • Exemple: Redis, Memcached, SAP HANA.
  4. Serii temporale:

    • Optimizate pentru stocare și analiză de date în ordine cronologică.
    • Exemple: InfluxDB, TimescaleDB.
  5. Multimodale:

    • Suportă mai multe modele de date simultan (de exemplu, documente și grafuri).
    • Exemple: ArangoDB, OrientDB.
  6. Spațiale:

    • Optimizate pentru stocarea și interogarea datelor cu coordonate geografice.
    • Adesea sunt extensii ale bazelor de date relationale sau NoSQL (de exemplu, PostGIS pentru PostgreSQL).
  7. Master-Slave:

    • Model arhitectural pentru replicarea datelor. Un nod (master) gestionează scrierile, altele (slave) doar citesc și se sincronizează cu masterul. Folosit pentru scalare și disponibilitate ridicată.
  8. Sharding:

    • Datele sunt distribuite pe mai mulți noduri independente (shards). Folosit pentru scalare orizontală și gestionarea volumelor mari de date.

Tabel comparativ între bazele de date relaționale și cele non-relaționale (principalele diferențe):

Caracteristică Relaționale (SQL) Non-relaționale (NoSQL)
Schema Rigid, predefinit Flexibil, dinamic
Scalare Verticală (mai dificil orizontal) Orizontală (mai ușor)
Integritate date ACID (de obicei) BASE (mai frecvent)
Model de date Tabele Cheie-valoare, documente, grafuri, etc.
Limbaj de interogare SQL Divers (API, specific)