Other Types of Databases

Text Search Database

  • provide fast and scalable search capabilities
  • unstructured or semi-structured text data like documents, web pages etc.
  • Useful For
    • E-commerce: For product searches based on descriptions, reviews, and metadata
    • Web search: Google, Bing, and DuckDuckGo
    • Log analysis: Used to search logs like application logs or system logs, for troubleshooting, monitoring, and analytics
  • Examples
    • Elasticsearch
    • Apache Solr
    • Sphinx
    • Algolia
    • Meilisearch

Spatial Database

  • Handles complex spatial data types, such as points, lines, polygons, and other geometric shapes, along with their associated attributes and relationships.
  • Uses R-trees or Quad Trees
  • Useful for
    • Geographic Information System (GIS): Manage Analyze geographic data for urban planning, environmental management and emergency response
    • Location Based Service (LBS): mapping routes, finding nearby restaurants
    • Logistics and Transportation: optimize routes, track vehicle movements
  • Examples
    • PostGIS (extension for PostgreSQL)
    • Oracle Spatial

Blob Datastore

  • Binary Large Objects (Blobs)
  • stores large blocks of unstructured data, such as images, audio files, videos, and documents
  • Useful for
    • Content Delivery Network (CDN): storing delivering large media files like videos, images
    • Big Data Storage: store large dataset like log files, sensor data, scientific data
  • Examples
    • Amazon S3
    • Azure Blob Storage
    • Hadoop Distributed File System (HDFS)

Vector Database

  • aka vector datastore or vector search engine
  • stores vectors which are arrays of numbers representing data in high-dimensional spaces
  • optimized for similarity search aka nearest neighbor search or approximate nearest neighbor (ANN) search
  • Useful for
    • Image and Video Search: enable content-based image and video retrieval by storing visual features as high-dimensional vectors.
    • Recommendation Systems: By representing users and items (e.g., products, movies) as vectors, vector databases can quickly identify and recommend items similar to a user’s interests.
    • Anomaly detection: By comparing the similarity of new data points to known normal samples, anomalies can be detected based on their dissimilarity.
  • Examples:
    • Chroma
    • Milvus
    • Pinecone
    • Qdrant
    • Weaviate
    • LanceDB
  • References

Embedded Database

  • linked and run as part of the application itself
  • Useful for
    • Gaming: Saving game states, player progress, and configuration settings
    • Desktop Applications: Storing configs, user preferences, and app data locally
  • Examples
    • H2
    • SQLite
    • DuckDB

In-Memory Databases

  • store data directly in the main memory (RAM)
  • used when response time is critical
  • Useful for
    • Online Gaming: To manage user sessions and game state in real time, ensuring fast and responsive gameplay experiences.
    • High-Frequency Trading (HFT): They enable a large number of financial transactions per second with minimal latency
  • Examples
    • Redis
    • Memcached
    • Couchbase
    • H2
    • SQLite with :memory: connection string
    • DuckDB
    • VoltDB
    • MemSQL
    • Oracle TimesTen

Others

Object Oriented Database

  • aka object database
  • store and manipulate data as objects
  • Objects contain complex data as well as associated actions
  • Useful for
    • Object Oriented applications: no need to use ORM
    • storing and retrieving images, videos, and audio files, which can benefit from the encapsulation of both data and behaviors (play or edit)
  • Examples
    • ObjectDB
    • db4o

Ledger Database?

  • aka Blockchain database
  • store immutable append-only record of transactions
  • transactions cannot be altered or deleted
  • provide verifiable and tamper-evident history of all changes over time
  • Useful for
    • Supply chain management: track movement of goods and materials across a supply chain, ensuring transparency and traceability
    • Healthcare: Managing patient records, consent forms, and treatment histories with a clear, unchangeable record
    • Voting systems: Ledger databases can provide a secure and transparent platform for conducting voting processes
  • Examples
    • Amazon Quantum Ledger Database (QLDB)
    • Hyperledger Fabric

Hierarchical Databases?

  • Data stored in hierarchy
  • were popular in early days of computing particularly in mainframe systems
  • Useful for
    • Organizational structures
    • File Systems
  • Examples
    • IBM IMS
    • Windows Registry

New SQL Databases

  • SQL databases but implemented in different ways to get better performance than SQL Database
  • VoltDB
    • In-memory single threaded execution
    • small datasets
  • Google Spanner
    • globally distributed database
    • uses GPS clocks to determine order of writes
  • CockroachDB
    • high fault tolerance
    • inspired by Google Spanner
  • Couchbase
    • uses SQL++
    • evolution of Memcached
    • Multi-modal