Data and information are the main currency of the 21st century. When managing applications, we have to deal with reams of data and store it for future use, either in our file system, in the memory of the application or in designated data management apps, also known as databases
.
Traditionally, databases have been local applications that required installation, management and maintenance. This brings manifold challenges: we need to create schemas, store data, establish relationships between data records, handle upgrades, oversee data migration and patch security vulnerabilities. Whether we’re handling the data in-house or on the customer’s premises, it can be a costly business.
So it’s no surprise to see that the software-as-a-service (SaaS) market is booming. Today’s applications are primarily hosted and accessed in the Cloud, which is not only cheaper but also takes away much of the unnecessary maintenance burden. Databases are not far behind; indeed, we are seeing a separate boom in the field of database-as-a-service (DaaS).
In this article, we will introduce you to nine databases that are available as a service for you to consume and use. You do not need to worry about upgrading, patching or migrating any of them. You simply select a plan, perform a basic setup and get started with your business.
1. Fauna
Fauna
is a flexible, transactional database that helps you with the secured APIs powered by GraphQL. As a developer, many aspects of traditional database management like setup, scaling and replication are conveniently taken out of your hands.
Link: https://fauna.com/
The key highlights of Fauna
are:
- A generous free plan to get started. If you are using it for side hustles or hobby projects, you may never have to pay! Check out their pricing plans here.
- Fauna is a Relational NoSQL system.
- The program supports flexible data modeling. You can query data using relationships, documents (schemaless), time references or graph-like models. Learn more here.
- With setup-free GraphQL files, all you need is the schema file to get started.
- The proprietary Fauna Query Language (FQL) provides a powerful alternative to GraphQL. There are SDKs available for various programming language integrations.
- You can create user-defined functions, writing your own custom business logic as functions. This is a real game-changer.
2. HarperDB
This high-performing database is available as either a multi or a hybrid cloud. This provides a perfect blend with Cloud-based apps, as harperDB
is distributed in the Cloud.
Link: https://harperdb.io/
The key highlights of HarperDB
are:
- It’s easy to get started thanks to the well-directed steps.
- You can create a free instance with 1 GB storage and 1/2 GB RAM (check out the HarperDB Studio for more details).
- You can get started with the Cloud instance in just a few seconds. There are options for user-installed instances as well.
- There are plugins, SDKs, drivers and code snippets to help you with all sorts of integrations.
- You can interact with data for both SQL & NO-SQL-type queries.
- The newly introduced Custom functions allow you to write your own API points, interact with HarperDB methods, events, and more. Get further info here.
3. Airtable
Airtable
does not simply provide a database service: it actually facilitates many different solutions. But you can certainly use Airtable as the datastore for your application. This means you can connect to Airtable using APIs and interact with the data from a frontend application.
Link: https://airtable.com/developers/web/api/introduction
The key highlights of Airtable
are:
- A generous free plan – plenty big enough for side hustles and experiments.
- Easy connection to the data store using REST API.
- Many out-of-the-box templates to get started.
4. MongoDB Atlas
MongoDB Atlas
is a fully managed Cloud solution that handles all the complexity of deploying and managing the database in the Cloud.
Link: https://www.mongodb.com/cloud/atlas
The key highlights of MongoDB Atlas
are:
- Cloud-based hosting, so projects that already use MongoDB as a database can organically move to SaaS.
- A free forever plan, which includes between 512MB and 5GB of storage with shared RAM.
- Built-in automation for resource and workload optimization.
- The ability to deploy across many AWS, Azure, and Google Cloud regions.
- Excellent performance and security: in fact these are the most stand-out aspects of all.
5. Heroku PostgreSQL
Heroku
is a platform-as-a-service (PaaS) program that enables developers to build and run applications in the Cloud and provides platforms like the Node.js server to deploy the app. Similarly, you can create instances of databases to connect to your apps.
Heroku Postgres
is the most famous database-as-a-service product from Heroku.
Link: https://www.heroku.com/postgres
The key highlights of Heroku Postgres
are:
- It is an SQL database as a service.
- It is free for dev hobbyists.
- It’s easy to provision if you have your app hosted on Heroku.
- You get the bonus of
Heroku Redis
, another free offering for the Redis datastore-as-a-service.
Link: https://www.heroku.com/redis
6. Amazon DynamoDB
Amazon DynamoDB
is a fast, flexible NoSQL database service hosted in the Cloud.
Link: https://aws.amazon.com/dynamodb/
The key features of DynamoDB
are:
- It is a fully managed key-value NoSQL database.
- It is part of the AWS free tier and the free level offers 25GB of storage.
- It is integrated with other AWS services.
- It offers built-in security, auto-backup, replication, caching and data export tools.
7. Google Firebase RealtimeDB
Firebase
from Google is a Cloud-hosted real-time database that helps you stay synced with multiple connected devices.
Link: https://firebase.google.com/products/realtime-database
The key features of Firebase
are:
- It is a NoSQL database that lets you store and sync data between your users in real time.
- It has a generous Spark Plan with 100 simultaneous connections, a 1GB store and 10 GB of free downloads per month.
- Offline support is provided for those Firebase apps that remain responsive while offline.
- Data is stored as JSON and synchronized in real time to every connected client.
- SDK support is available for multiple platforms.
8. NocoDB
NocoDB
is an open-source alternative to Airtable. With NocoDB, you can connect to new/existing SQL databases and turn them into a spreadsheet.
Link: https://www.nocodb.com/
The key features of NocoDB
are:
- It is free and can be self-hosted. One-click install to Heroku is supported.
- You can connect to any SQL databases and create a grid view, gallery view, kanban view and calendar view on top of your data.
- Search, sort and filtering support is available for data.
- You can collaborate on spreadsheets and create workflows.
- NocoDB provides Headless APIs so any application can connect to it.
9. Google Spanner
Google Spanner
is a fully managed relational database with grand scalability, consistency and high availability.
Link: https://cloud.google.com/spanner
The key features of Spanner
are:
- A relational database in the Cloud.
- Support for automatic sharding.
- High availability.
- Support for high-performance transactions with solid consistency.
You may be considering building an API to query your database now that you’ve set it up. Take a look at the following article, where we explore the differences between the two most popular query APIs and walk you through the process of developing a GraphQL API with NodeJS.
Understanding GraphQL: A Comprehensive Comparison With REST API and Its Implementation in Node.js
Before We Go…
That’s all for now. I hope you found this article informative and insightful. Please explore the databases we have discussed in this article. If you are using any other databases as a service, it would be great if you could share your experience in a comment below.