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
- DBs: AWS S3, OpenStack Swift
Full-text Indicing
- Elasticsearch useful for full-text search
- OpenSearch fork von ElasticSearch
- Erlaubt SQL Abfragen