🔏
Tech
  • 🟢App aspects
    • Software architecture
      • Caching
      • Anti-patterns
      • System X-ability
      • Coupling
      • Event driven architecture
        • Command Query Responsibility Segregation (CQRS)
        • Change Data Capture (CDC)
      • Distributed transactions
      • App dev notes
        • Architecture MVP
      • TEMP. Check list
      • Hexagonal arch
      • Communication
        • REST vs messaging
        • gRPC
        • WebSocket
      • Load balancers
      • Storage limits
      • Event storming
    • Authentication
    • Deployment strategy
  • Databases
    • Classification
    • DB migration tools
    • PostreSQL
    • Decision guidance
    • Index
      • Hash indexes
      • SSTable, LSM-Trees
      • B-Tree
      • Engines, internals
    • Performance
  • System design
    • Interview preparation
      • Plan
        • Instagram
        • Tinder
        • Digital wallet
        • Dropbox
        • Live video streaming
        • Uber
        • Whatsup
        • Tiktok
        • Twitter
        • Proximity service
    • Algorithms
    • Acronyms
  • 🟢Programming languages
    • Java
      • Features
        • Field hiding
        • HashCode() and Equals()
        • Reference types
        • Pass by value
        • Atomic variables
      • Types
      • IO / NIO
        • Java NIO
          • Buffer
          • Channel
        • Java IO: Streams
          • Input streams
            • BufferedInputStream
            • DataInputStream
            • ObjectInputStream
            • FilterInputStream
            • ByteArrayInputStream
        • Java IO: Pipes
        • Java IO: Byte & Char Arrays
        • Java IO: Input Parsing
          • PushbackReader
          • StreamTokenizer
          • LineNumberReader
          • PushbackInputStream
        • System.in, System.out, System.error
        • Java IO: Files
          • FileReader
          • FileWriter
          • FileOutputStream
          • FileInputStream
      • Multithreading
        • Thread liveness
        • False sharing
        • Actor model
        • Singleton
        • Future, CompletableFuture
        • Semaphore
      • Coursera: parallel programming
      • Coursera: concurrent programming
      • Serialization
      • JVM internals
      • Features track
        • Java 8
      • Distributed programming
      • Network
      • Patterns
        • Command
      • Garbage Collectors
        • GC Types
        • How GC works
        • Tools for GC
    • Kotlin
      • Scope functions
      • Inline value classes
      • Coroutines
      • Effective Kotlin
    • Javascript
      • Javascript vs Java
      • TypeScript
    • SQL
      • select for update
    • Python
  • OS components
    • Network
      • TCP/IP model
        • IP address in action
      • OSI model
  • 🟢Specifications
    • JAX-RS
    • REST
      • Multi part
  • 🟢Protocols
    • HTTP
    • OAuth 2.0
    • LDAP
    • SAML
  • 🟢Testing
    • Selenium anatomy
    • Testcafe
  • 🟢Tools
    • JDBC
      • Connection pool
    • Gradle
    • vim
    • git
    • IntelliJ Idea
    • Elastic search
    • Docker
    • Terraform
    • CDK
    • Argo CD
      • app-of-app setup
    • OpenTelemetry
    • Prometheus
    • Kafka
      • Consumer lag
  • 🟢CI
    • CircleCi
  • 🟢Platforms
    • AWS
      • VPC
      • EC2
      • RDS
      • S3
      • IAM
      • CloudWatch
      • CloudTrail
      • ELB
      • SNS
      • Route 53
      • CloudFront
      • Athena
      • EKS
    • Kubernetes
      • Networking
      • RBAC
      • Architecture
      • Pod
        • Resources
      • How to try
      • Kubectl
      • Service
      • Tooling
        • ArgoCD
        • Helm
        • Istio
    • GraalVM
    • Node.js
    • Camunda
      • Service tasks
      • Transactions
      • Performance
      • How it executes
  • 🟢Frameworks
    • Hibernate
      • JPA vs Spring Data
    • Micronaut
    • Spring
      • Security
      • JDBC, JPA, Hibernate
      • Transactions
      • Servlet containers, clients
  • 🟢Awesome
    • Нейробиология
    • Backend
      • System design
    • DevOps
    • Data
    • AI
    • Frontend
    • Mobile
    • Testing
    • Mac
    • Books & courses
      • Path: Java Concurrency
    • Algorithms
      • Competitive programming
    • Processes
    • Finance
    • Electronics
  • 🟢Electronics
    • Arduino
    • IoT
  • Artificial intelligence
    • Artificial Intelligence (AI)
  • 🚀Performance
    • BE
  • 📘Computer science
    • Data structures
      • Array
      • String
      • LinkedList
      • Tree
    • Algorithms
      • HowTo algorithms for interview
  • 🕸️Web dev (Frontend)
    • Trends
    • Web (to change)
  • 📈Data science
    • Time series
Powered by GitBook
On this page
  • Key value
  • Wide Column
  • Document based
  • Types of Data Models in DBMS
  • Hierarchical data
  • Relational model
  • Object-oriented model
  • Network model
  • Float data model
  • Entity-relationship (ER) model
  • Semi-structured data model
  • DBMS examples
  • SQL
  • NoSQL
  • newSQL

Was this helpful?

  1. Databases

Classification

PreviousDatabasesNextDB migration tools

Last updated 1 year ago

Was this helpful?

Key value

Usage

Redis

ACID (partly)

caching, queing, stats

persistence: in-memory (but snapshoting and append only log) replication: master-slave (for read scalability) clustering is supported

Memcached

no ACID

HTML page cache, SQL result cache

Wide Column

No schema, no joins

Usecase: time series, historical records, high frequent writes low frequent reads

Best for: queries by primary keys, highly partitionable

Cassandra

HBase

Document based

Mongo DB

Couchbase

Dynamo DB

Types of Data Models in DBMS

Hierarchical data

Tree-like form. One-to-many relationship. Parent-child relationship. Deletion problem (when parent is deleted all child nodes follow suit). Pointers.

Relational model

Two-dimensional tables (rows and columns).

Object-oriented model

Group of objects. Images and other media types (that cannot be kept in relational db). Any object can link to any object. Not the best option for numerical analysis.

Network model

Hierarchical model + many-to-many relationships (multiple parent records).

Float data model

One two-dimensional array of data elements makes up the float data model. The whole table is read to access data. Efficient for minor models only.

Entity-relationship (ER) model

Relationships are established in this database model by classifying the object of interest as an entity, and its properties as attributes and these relationships are used to connect various entities. ER diagram is used to show the database’s logical structure simply.

Semi-structured data model

Generalised version of the relational model that enables flexible data representation, it is impossible to distinguish between data and schema in this model because some entities may lack one or more attributes. In contrast, other entities may have additional characteristics that simplify updating the database’s schema.

DBMS examples

  • PostgreSQL

  • MySQL

  • MongoDB

SQL vs NoSQL classification

SQL

NoSQL

    • NoSQL distributed document database (JSON) with many of the best features of a relational DBMS: SQL, distributed ACID transactions, and more

newSQL

These are SQL databases that scale and distribute globally while still providing transactional processing.

    • Fully managed relational database with unlimited scale, strong consistency, and up to 99.999% availability.

only in-memory, replication it is common to use consistent hashing and client-side sharding to distribute data across multiple Memcached servers. This approach requires the application to manage data distribution and handle server failures.

CockroachDB is a database built on a transactional and strongly-consistent key-value store. It scales horizontally; survives disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention; supports strongly-consistent ACID transactions; and provides a familiar SQL API for structuring, manipulating, and querying data.

CockroachDB is inspired by Google's and technologies, and the is freely available.

Couchbase
CockroachDB
distributed SQL
Spanner
F1
source code
Google Cloud Spanner
❌