{"id":23585163,"url":"https://github.com/chaseofthejungle/types-of-databases","last_synced_at":"2026-01-24T20:18:41.320Z","repository":{"id":267672895,"uuid":"901993468","full_name":"chaseofthejungle/types-of-databases","owner":"chaseofthejungle","description":"An overview of 9 different types of databases, and use cases for all of them.","archived":false,"fork":false,"pushed_at":"2025-05-31T03:25:13.000Z","size":52,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-31T15:00:39.834Z","etag":null,"topics":["database-types","nosql-databases","rdbms","relational-databases"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chaseofthejungle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-11T17:40:59.000Z","updated_at":"2025-05-31T03:25:16.000Z","dependencies_parsed_at":"2024-12-11T19:19:18.333Z","dependency_job_id":"84cffd92-2055-4591-9a60-ecdbd93e683e","html_url":"https://github.com/chaseofthejungle/types-of-databases","commit_stats":null,"previous_names":["chaseofthejungle/types-of-databases"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/chaseofthejungle/types-of-databases","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaseofthejungle%2Ftypes-of-databases","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaseofthejungle%2Ftypes-of-databases/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaseofthejungle%2Ftypes-of-databases/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaseofthejungle%2Ftypes-of-databases/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chaseofthejungle","download_url":"https://codeload.github.com/chaseofthejungle/types-of-databases/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaseofthejungle%2Ftypes-of-databases/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28736503,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T19:23:36.361Z","status":"ssl_error","status_checked_at":"2026-01-24T19:23:28.966Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database-types","nosql-databases","rdbms","relational-databases"],"created_at":"2024-12-27T03:14:10.805Z","updated_at":"2026-01-24T20:18:41.307Z","avatar_url":"https://github.com/chaseofthejungle.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Overview of Database Types\n  \n**Overview:** This guide covers 9 popular database types (*note: DB solutions can cover multiple categories, and the following is not an exhaustive list of database solutions and how many categories they overlap in*):\n\n#### Table of Contents:\n\n1. [Popular Database Types (with examples)](#popular-db)\n2. [Database Use Cases](#use-cases)\n3. [Scaling Features](#scaling)\n4. [Supplemental Resources](#supplemental)\n  \n\u003chr /\u003e\n  \n## 1. \u003ca name=\"popular-db\"\u003ePopular Database Types (with examples)\u003c/a\u003e\n  \n* **Columnar Databases**\n    - [Amazon Redshift](https://aws.amazon.com/redshift/): Intended for big data queries and analytics.\n    - [Apache Cassandra](https://cassandra.apache.org/_/index.html): Handles massive data volumes with high availability and fault tolerance. Intended for high speed settings (e.g., e-commerce, CMSes, social media).\n    - [Apache HBase](https://hbase.apache.org/): Used to handle big data, social media, and IoT apps, with dashboards for real-time analytics.\n    - [ClickHouse](https://clickhouse.com/): Popular for online analytical processing in large data settings, with dashboard-accessible insights.\n    - [Google Bigtable](https://cloud.google.com/bigtable): Processes financial, marketing, and time-series data.\n* **Document-Based Databases**\n    - [Amazon DocumentDB](https://aws.amazon.com/documentdb/): Enables quick scaling of memory and computational resources for Amazon's Virtual Private Cloud.\n    - [Apache CouchDB](https://couchdb.apache.org/): Can operate database servers via virtual machines and other servers.\n    - [MongoDB](https://www.mongodb.com/): Builds highly scalable and available web apps. Utilized by MERN and MEAN Stack Developers.\n    - [RavenDB](https://ravendb.net/): Includes a cloud service for handling administrative tasks (e.g., user security, hardware installations/maintenance).\n    - [RethinkDB](https://rethinkdb.com/): Useful for tracking real-time changes and applying block/non-block requests.\n* **Graph-Based Databases**\n    - [Amazon Neptune](https://aws.amazon.com/neptune/): Builds and executes apps that handle connected datasets (e.g., network security, fraud detection, recommendation engine apps).\n    - [ArangoDB](https://arangodb.com/): Enables data integration for relationship and activity analysis. A popular solution for fraud monitoring/detection apps.\n    - [Azure Cosmos DB](https://azure.microsoft.com/en-us/products/cosmos-db): Builds AI-enabled, web, mobile, and other apps that handle large quantities of data.\n    - [Neo4j](https://neo4j.com/): Detects data patterns and provides data persistence and querying for complex relationships.\n    - [OrientDB](https://orientdb.org/): Utilized for big data processing while providing scalability and flexibility. A popular solution for social networks, banks, and fraud prevention/detection systems.\n* **In-Memory Databases**\n    - [Memcached](https://memcached.org/): Supports database load balancing and increases speed/processing efficiency of web apps.\n    - [Microsoft Azure (OLTP)](https://learn.microsoft.com/en-us/azure/architecture/data-guide/relational-data/online-transaction-processing): Records real-time interactions and allows the data to be queried for quick decision making.\n    - [Redis](https://redis.io/): Can be utilized dynamically (as a cache, database, or message broker).\n    - [SAP HANA](https://www.sap.com/products/data-cloud/hana/what-is-sap-hana.html): Utilized for diverse operations (e.g., advanced analytics, custom app development and deployment, managing processes).\n    - [Volt Active Data](https://www.voltactivedata.com/): Empowers enterprises with high scalability, without compromising data or data processing.\n* **NoSQL Databases**\n    - [Actian NoSQL Object Database](https://www.actian.com/databases/nosql/): Provides transactional storage of data via object-oriented programming languages, which serve as data definition languages.\n    - [Apache Cassandra](https://cassandra.apache.org/_/index.html):  Handles massive data volumes with high availability and fault tolerance. Intended for high speed settings (e.g., e-commerce, CMSes, social media).\n    - [Apache HBase](https://hbase.apache.org/): Used to handle big data, social media, and IoT apps, with dashboards for real-time analytics.\n    - [Couchbase](https://www.couchbase.com/): Manages sessions, provides user profiles in real-time, and can store data for offline operations via mobile apps.\n    - [MongoDB](https://www.mongodb.com/): Builds highly scalable and available web apps. Utilized by MERN and MEAN Stack Developers.\n    - [Redis](https://redis.io/): Can be utilized dynamically (as a cache, database, or message broker).\n* **Object-Oriented Databases**\n    - [Actian NoSQL Object Database](https://www.actian.com/databases/nosql/): Provides transactional storage of data via object-oriented programming languages, which serve as data definition languages.\n    - [Actian db4o (Legacy Technology)](https://dbdb.io/db/db4o): Intended for .NET and Java developers. Discontinued since October 2014.\n    - [GemStone/S](https://gemtalksystems.com/products/gs64/): Supports mission-critical apps, integrating the Smalltalk programing language for development, deployment, and management.\n    - [ObjectDB](https://www.objectdb.com/): Relies on two Java APIs (JDO and JPA) instead of utilizing a proprietary API and implementing an ORM as an intermediary.\n    - [ZODB](https://zodb.org/en/latest/): Provides data persistence and transparency for Python objects.\n* **Relational Databases**\n    - [CockroachDB](https://www.cockroachlabs.com/): Popular for cloud-based software-as-a-service apps, financial systems, Kubernetes (k8s) services, OLTP, and transactional platform solutions.\n    - [Microsoft SQL Server](https://www.microsoft.com/en-us/sql-server): Provides data persistence and data fetching for diverse workloads, including client-based and cloud-based apps.\n    - [Oracle MySQL](https://www.mysql.com/): Utilized by content management systems (such as for academic purposes), e-commerce stores, embedded systems, and web apps.\n    - [PostgreSQL](https://www.postgresql.org/): A highly portable database solution with an active international support community. Capable of handling diverse workloads and providing high availability even when many concurrent users are present.\n    - [SQLite](https://www.sqlite.org/): An embedded database solution, rather than a standalone app. A popular choice for embedded systems, operating systems, smart phones, and web browsers. \n* **Time-Oriented Databases**\n    - [Apache Druid](https://druid.apache.org/)\n    - [InfluxDB](https://www.influxdata.com/)\n    - [OpenTSDB](https://opentsdb.net/)\n    - [Prometheus](https://prometheus.io/)\n    - [TimescaleDB](https://www.timescale.com/)\n* **Vector-Based Databases**\n    - [Chroma](https://www.trychroma.com/)\n    - [Milvus](https://milvus.io/)\n    - [Pinecone](https://www.pinecone.io/)\n    - [Qdrant](https://qdrant.tech/)\n    - [Weaviate](https://weaviate.io/)\n  \n\u003chr /\u003e\n\n## 2. \u003ca name=\"use-cases\"\u003eDatabase Use Cases\u003c/a\u003e\n  \nBefore diving into specific use cases for each type of database, several factors should be considered. These include: cost of operations (can the organization cover it, and is there a more efficacious alternative?), employee/team expertise (will it take significant training to implement the database solution?), whether it makes sense to host services in-house or via a cloud provider, whether scalability is a significant concern (such as it is for streaming services and some embedded/IoT environments), and if one's organization is prepared to back up and recover data, or install and maintain backup/recovery solutions corresponding to the selected database solution.\n  \n*Use cases for these nine database types include...*\n  \n| Database Type | Use Cases |\n| ------- | ------- |\n| **Columnar** | Business intelligence (BI), data warehousing, significant analytics and enterprise-level reporting needs. |\n| **Document Based** | Content management, JSON and JSON-like data, fast development deadlines, need for flexibile schematics. |\n| **Graph Based** | Social bookmarking, networking, and recommendation-based sites, interconnected data needs, pattern recognition. |\n| **In Memory** | Need for instant/real-time performance and processing, data caching, and temporary storage of data. | \n| **NoSQL** | Quick response times/low latency, instant/real-time analytics, constantly-evolving data, server scalability needs. |\n| **Object Oriented** | Integration with object-oriented languages (e.g., Java), hierarchy-based data objects, long-term object storage/persistence. |\n| **Relational** | ACID compliance (important for large enterprises and essential services), data integrity, sophisticated joins/transactions of multi-table data, structured data. |\n| **Time Oriented** | Time-series analytics, monitoring and metrics, sensor-related and IoT/embedded system data, data sequencing/patterns. |\n| **Vector Based** | Quick retrieval, machine learning (including complex tasks), similarity searching. |\n\n\u003chr /\u003e  \n\n## 3. \u003ca name=\"scaling\"\u003eScaling Features\u003c/a\u003e\n  \nFour of the unique ways that databases scale (and can handle increasing traffic/data requests) include...\n    \n| Feature | Explanation |\n| ------ | ------ |\n| **Indexing** | This is the use of 'pointers', in which keys in memory (indexes, or indices) are mapped to rows/records in a table. |\n| **Caching** | By searching for data in a memory cache, performance of reads can be improved (no need to request data from a database, preserving time and memory). |\n| **Sharding** | This splits rows/records and columns/fields across multiple servers/devices, potentially providing load balancing. |\n| **Replications** | This also provides load balancing by replicating data (for reading purposes) across multiple servers/devices. Write responsibilities can still be allocated to one database (the 'primary' database) to preserve data integrity. |\n  \n\u003chr /\u003e\n  \n## 4. \u003ca name=\"supplemental\"\u003eSupplemental Resources\u003c/a\u003e\n  \n* *[Data Repositories Overview Guide](https://github.com/chaseofthejungle/data-repositories-overview)*\n* *[List of Apache Databases](https://projects.apache.org/projects.html?category#database)*\n* *[MongoDB Official Website](https://www.mongodb.com/)*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchaseofthejungle%2Ftypes-of-databases","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchaseofthejungle%2Ftypes-of-databases","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchaseofthejungle%2Ftypes-of-databases/lists"}