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:
-
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.
-
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.
-
În memorie (RAM):
- Datele sunt stocate direct în RAM pentru acces rapid.
- Pot fi relationale sau NoSQL.
- Exemple: Redis, Memcached, SAP HANA.
-
Serii temporale:
- Optimizate pentru stocare și analiză de date în ordine cronologică.
- Exemple: InfluxDB, TimescaleDB.
-
Multimodale:
- Suportă mai multe modele de date simultan (de exemplu, documente și grafuri).
- Exemple: ArangoDB, OrientDB.
-
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).
-
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ă.
-
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) |