Futuristic Databases
Tags: rdms, database, sql
Published: 2023-04-24 06:10:25


`Modern database paradigms` `Most popluar new databases`  `Alternatives to SQL RDBMS` `Artificial Intelligence embedded in databases`

## 1. Relational Databases

Popular options include MySQL, PostgreSQL. They are the most popular types of databases today. They use sql which allows you to access and write data in the database. However, they require a schema so if you don't know the shape of data upfront they can be a little hard to work with. They are also ACID compliant which means when there is a transaction in the database, volidity is guaranteed even when there are network and hardware failures


![PlanetScale](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xpxbutbt991o362iezjo.png)

- [Planetscale](https://planetscale.com/)

PlanetScale is a MySQL-compatible serverless database that brings you scale, performance, and reliability — without sacrificing developer experience. With PlanetScale, you get the power of horizontal sharding, non-blocking schema changes, and many more powerful database features without the pain of implementing them.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vkmfyclqrn8bal9r4434.jpg)

- [YugabyteDB](https://www.yugabyte.com/)

YugabyteDB is a transactional database that brings together four must-have needs of cloud native apps - namely SQL as a flexible query language, low-latency performance, continuous availability, and globally-distributed scalability. Other databases do not serve all 4 of these needs simultaneously.



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t1gsfivfirs821imnmm2.png)

- [NeonDB](https://neon.tech/)

Neon is an open-source (Apache 2.0) alternative to AWS Aurora or Google's Cloud SQL for Postgres. Neon is a serverless, scalable implementation of PostgreSQL that you can run on-premise or try through its managed service. Neon decomposes the PostgreSQL architecture into two layers: compute and storage


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zlgyddt0ulavw0l9q56f.png)

- [Dolt](https://www.dolthub.com/)

Dolt is the first and only SQL database that you can fork, clone, branch, merge, push and pull just like a Git repository. Dolt is a version controlled database. Dolt is Git for Data. Dolt is a Versioned MySQL Replica. Dolt implements the Git command line and associated operations on table rows instead of files.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a2tei9q9zggk1068g1ad.png)

- [CockroachDB](https://www.cockroachlabs.com/)

A distributed SQL database for cloud services. CockroachDB is built on consistent key-values, horizontal scalability, and to survive datacenter, disk or machine failures with minimal disruptions due to replication and automated repair features. It is more suitable in the cases of multi-datacenter and -region deployments, cloud migrations, cloud-native infrastructure, and replicated or distributed OLTP (online transaction processing), rather than for heavy analytics.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8lvhlsscoqvtpp29dhkm.png)

- [Cloudflare D1](https://developers.cloudflare.com/d1/)

Built on SQLite, D1 is Cloudflare's first queryable relational database Open external link . Create an entire database in a few quick steps by importing data or defining your tables and writing your queries within a Worker or through our API.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/231xo0q3qz82p82yaodi.png)

- [Xata](https://xata.io/)

Xata is a Serverless Data Platform. It combines the features of a relational database, a search engine, and an analytics engine and exposes a single consistent REST API. Xata has first-class support for branches, a workflow for zero-downtime schema migrations, and edge caching.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2zkhwlyiypa1uhjl62o8.png)

- [8base](https://www.8base.com/)

 A fully-managed, cloud-based data and serverless compute service exposed through a GraphQL API. A cloud service designed to power enterprise-grade web and mobile applications that require support for large numbers of users, complex data and transactional requirements, comprehensive role-based security and a modern look-and-feel.

## 2. Multi-model (also known as PostSQL or NewSQL) Database

A multi-model database is a management system that combines multiple database types with a single backend. Most database management systems support only a single database model. On the other hand, multi-model databases store, query, and index data from different models.

Multi-model databases provide the modeling advantages of polyglot persistence without having to find ways to combine different models. The flexible approach allows storing data in different ways


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gu1z3rrqofz474xpwb7r.png)

- [EdgeDB](https://www.edgedb.com/)

EdgeDB is the first open-source, graph-relational database designed as the successor to SQL and the relational paradigm. EdgeDB uses the Graph Relational Model, where data is described and stored as strongly typed objects, and relationships link through objects.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yobfe5rxl5vshjioj9dm.png)

- [SurrealDB](https://surrealdb.com/)

SurrealDB is an innovative NewSQL cloud database, suitable for serverless applications, jamstack applications, single-page applications, and traditional applications. It is unmatched in its versatility and financial value, with the ability for deployment on cloud, on-premise, embedded, and edge computing environments.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zuzflm0s5eex4hy0ox9z.png)

- [FaunaDB](https://fauna.com/)

Fauna is the only serverless, globally distributed cloud database that combines the flexibility of NoSQL systems with the relational querying and ACID consistency of SQL databases.

## 3. Graph Database

A graph database stores nodes and relationships instead of tables, or documents. Data is stored just like you might sketch ideas on a whiteboard.

Lets imagine you want to create a many to many relationship in a relational database, we do that by setting up a join table with a foreign key that defines that relationship in a graph database we do no need that middle man table we just define an edge and connect to the other record. We can now query this data with a statement that is more concise and readable in addition we can achieve better performance on large datasets. They can be a great alternative for sql especially if you are working with a lot of joins and performance is taking a hit because of that. They are often used for fraud detection in finance, building internal knowledge graphs within companies and to power recommendation engines like Airbnb.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qmtyk8g9e4p314ml2awp.png)

- [Neo4j](https://neo4j.com/)

Neo4j is the world's leading open source Graph Database which is developed using Java technology. It is highly scalable and schema free (NoSQL).


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ho3d9a72a7dqcbny3o8a.png)

- [Memgraph](https://memgraph.com/)

Memgraph is a graph database, optimized to run both transactional and analytical graph workloads with low latency and high performance. It's compatible with both the Bolt protocol and the openCypher graph query language, making it interoperable with a wide range of technologies.

## 4. Search Database

Most of the databases in this paradigm are built on top of the the [apache Lucene](https://lucene.apache.org/) project which has been around since 1999 like [solr](https://solr.apache.org/), [Elastic Search](https://www.elastic.co/).

They work very similar to a document oriented Database, you start with an index, then you add a bunch of data objects to it. The difference is that under the hood the search database will analyze all the text in the document and create an index of the searchable items.

They can be expensive to run at scale however they can add a ton of value to the user experience for a search feature


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k3lfgh4fe7ng9j8jga12.png)

- [Meilisearch](https://www.meilisearch.com/)

Meilisearch is a flexible and powerful user-focused search engine that can be added to any website or application.

MeiliSearch lets you create filters to narrow down your search results based on user-defined criteria. Faceted search helps you to categorize search results and create user-friendly navigation interfaces. Users can choose which types of results they wish to see first by sorting search results at query time.

## 5. Key-value Databases

A key-value database (sometimes called a key-value store) uses a simple key-value method to store data. It's a type of NoSQL database that stores data as a collection of key-value pairs. These databases contain a simple string (the key) that is always unique and an arbitrary large data field (the value). They are easy to design and implement.

Popular databases in this space include Redis, Memcached. They are designed for high performance and scalability, and are often used in situations where the data does not require complex relationships or joins.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ga2wkovn6h5thbxa3q3p.png)

- [KeyDB](https://docs.keydb.dev/)

KeyDB is an open source, in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps), hyperloglogs, geospatial indexes with radius queries and streams.

## 7. Machine Learning Database

The Machine Learning Database, or MLDB, is an open-source system aimed at tackling big data machine learning tasks. It can be used for data collection and storage through the training of machine learning models, or to deploy real-time prediction endpoints. MLDB is one of the easier datasets to use, since it provides a comprehensive implementation of the SQL SELECT statement. This means it treats datasets as tables, making it easier to learn and use for data analysts already versed in an existing Relational Database Management System (RDBMS).


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7o3nsnh1m70pedugn7wc.png)


- [MindsDB](https://mindsdb.com/)

MindsDB enables you to use your data and make forecasts. It speeds up the ML development process by bringing machine learning into the database. With MindsDB, you can build, train, optimize, and deploy your ML models without the need for other platforms. And to get the forecasts, simply query your data and ML models.

## 6. Document Oriented Database

A document database is a type of NoSQL database that stores data in the form of documents, rather than in tables with rows and columns like a traditional relational database. These documents can be in a variety of formats, such as JSON, BSON, or XML. 

They often include nested data structures, which can make it easier to store and query complex data. Document databases are well suited for storing semi-structured data and are often used in web and mobile applications. They offer a flexible schema and high performance, but may have limited querying capabilities compared to relational databases and difficulties with data consistency and validation.