Database Types

#database

Relational Databases

  • useful for CRUD Applications
  • structure of data defined by a schema
  • normalization & consistency
  • DBs: Oracle DB

Key-Value Datebases

  • for highly scalable, performant and distributed (sharded) database
  • small storage cost
  • only for simple queries
  • DBs: Redis

Document Oriented Databases

  • denormalization & eventual consistency
  • structure is defined by input into document (no schema)
  • ideally, for each database fetch request, one collection contains all required data. This means data might be duplicated between collections if multiple requests require similar data.
  • data safety has to implemented in software logic
  • no joins (only in relational databases)
  • DBs: MongoDB

Graph Databases

  • when data is highly interconnected
  • DBs: Neo4j

Blob Storage / Object Storage

Full-text Indicing

  • Elasticsearch useful for full-text search
  • OpenSearch fork von ElasticSearch
    • Erlaubt SQL Abfragen