Direct naar content

DBaaS Consultancy and management

DBaaS Cloud databases

OptimaData is market leader in the Netherlands in (open source) database services and provides consultancy, database management, database maintenance and training.

Of course databases in the cloud have our attention. Support by Database Experts in setting up your cloud databases but also database management through e.g. managed services, managed consultancy, QuickScans and HealthChecks, proactive (remote) monitoring and maintenance on cloud (private or public) database platforms.

DBA

DBaaS does not necessarily require a (full-time) DBA. At least, that is the message from cloud providers. Still, our view is that even when using DBaaS solutions a good choice should be made and in many cases some tuning, best practices and deployment tricks can be applied.

Not to mention Governance and the impact on your operational processes. Since DBaaS automatically updates to the latest version, there is a risk that your database will get ahead of the troops and your application landscape will no longer be compatible. A DBA Expert as a supervisor, Trusted Advisor and/or cooperating (remote) CoPilot is recommended.

DBaaS is rapidly evolving. Every month we see improvements and new solutions. Whether DBaaS can be deployed to replace an existing OLTP environment is entirely open to question. For other applications it may well be a good consideration or alternative.

What is DBaaS?

Database as a Service (DBaaS), better known as “Managed Databases,” is a cloud service that provides users with some access to a database without the need to set up physical hardware, install or configure software.

All these administrative tasks and maintenance are taken care of by the cloud provider, so the user only has access to a (always up to date) database.

These managed databases provide more or less similar functionality to a standard relational or non-relational database, and the payment model is per-use. The cloud provider gives you a management console to deploy, modify or even delete database instances. According to familiar cloud service models, we can place DBaaS as part of a PaaS because you often have all the capabilities of a PaaS as well, but it is not as set in stone as a SaaS.

A overview  of DBaaS solutions

There are now countless DBaaS providers with enormous variation in compatibility, availability, performance, simplicity and pricing. The following is a sampling of the most common DBaaS solutions. The list is not inexhaustible and will be added to and refreshed each time.den.

Amazon RDS

AWS RDS

Amazon RDS is the most forward-thinking platform for DBaaS. Amazon Relational Database Service (Amazon RDS) makes it easy to set up, operate and scale a relational database in the cloud.

It provides cost-effective and customizable capacity while managing time-consuming database administration tasks such as hardware provisioning, database setup, patching and backups. Amazon RDS is available on 6 well-known database instances: Amazon Aurora, MySQL, PostgreSQL, MariaDB, Oracle Database and SQL Server engines.

This means that the code, applications and tools you already use today with your existing databases can be used with Amazon RDS (see notes under Considerations later in this article). Amazon RDS automatically patches the database software and backs up your database, storing the backups for a user-defined retention period and enabling point-in-time recovery. You benefit from the flexibility of being able to scale the CPU resources or storage capacity connected to your relational database, for example, via a single API call.

In addition, Amazon RDS makes it easy to use replication to improve the availability and reliability of production databases (again, see comments under Considerations). No upfront investments are required and you only pay for the resources you use. (Again, see comments on Points of Attention).

Most mentioned advantages:

  • For Engineers or Developers with some experience in managing databases, the setup is easy. And for the uninitiated, the RDS console interface becomes intuitive after some practice.
  • The basic configurations are generally fairly logical and more or less sound for most RDS instances. This allows novice developers and engineers to get the most out of the service without being a complete DBA.
  • The way AWS RDS has set up storage is very strong

most  mentioned cons:

  • Experienced DBAs may find RDS limiting in some areas. There is no direct access to the underlying servers, so OS-level tweaks may be out of bounds. True custom tuning is not possible
  • Extracting logs from a database can be challenging. Other services may need to be enabled (e.g., CloudWatch) to get access logging, etc. As well as deeper logging must be paid extra for, premium service
  • Without proper settings for the underlying storage, or proper choices, seemingly inexplicable performance bottlenecks can occur, such as thick goo through a thin pipe

Amazon Aurora

AWS Aurora

Amazon Aurora is a MySQL and PostgreSQL-compatible relational database built for the cloud, built to combine the performance and availability of enterprise databases with the simplicity and cost-effectiveness of open source databases.

Amazon Aurora features a distributed, fault-tolerant, self-healing storage system that automatically scales up to 64TB per database instance. It delivers performance and availability with up to 15 low latency read replicas, point-in-time recovery, continuous backup to Amazon S3, and replication across three Availability Zones (AZs). It is compatible with MySQL and PostgreSQL.

It essentially means that the database is able to support the legacy datasets and tools that were used on those DBs. This is a big advantage because it is essentially backwards compatible. But, take note! It is a modified variant of open-source Postgres and MySQL, to enable technical “Aurora” (read: fast performance) the source code has been modified in a number of areas.

Amazon Aurora can be attractive to organizations that have significant investments in on-premises MySQL and Postgres database platforms and want to migrate to the cloud without significant changes to their applications and systems. Taking advantage of the inherent benefits of the cloud in terms of scalability, management, performance and ease of administration, Aurora can provide these users with a great solution for application and database modernization.

Most mentioned advantages:

  • Good enough for analytics applications to make it a good alternative to a dedicated data mart or even a data warehouse.
  • Ideal for fast-growing companies or companies that need to scale up and down quickly. This is not so easy with NoSQL or Hadoop-based products, for example.
  • In terms of speed, it is a leading relational database for DBaaS principles. It’s that simple. Faster, more secure and more reliable. But…until you actually start doing something (read the comments under points of interest)

Most mentioned cons:

  • For high-load applications, Aurora Serverless is extremely expensive compared to an Aurora instance with a single setup
  • The Small and Medium instances are only good for testing or development, the number of connections and resources are limited
  • Can be plus minus 20% more expensive than a self-managed MySQL instance

Azure managed databases

OptimaData is Microsoft partner voor Azure SQL en dataplatform

Under the DBaaS options available in Azure, including Azure Cosmos DB, and Azure SQL Database with its own SQL Server engine, Microsoft also offers fully managed open-source databases through Azure: Azure Database for MySQL, Azure Database for PostgreSQL, Azure Database for MariaDB (it is going out as of 19-09-2025) and Azure cache for Redis.

Users can provision a new instance in minutes and quickly scale online to meet their dynamic business needs. Infrastructure management, including scalability, availability and security, is automated.

Most mentioned advantages:

  • One click to enable an Azure database in your project, Azure databases are very easy to configure, allows to manage supplements in an easy way. The monitoring tools you can add to the platform are also very well thought out and help spot issues quickly.
  • Integration with all Azure products including Azure cloud shell and Azure vm

Most mentioned cons:

  • Microsoft obviously prefers their many online SQL Server offerings and thus invests more in them, and while that makes sense, it would be nice to see more done on PostgreSQL, for example, but that would make it more competitive with the Azure SQL options.
  • Working with clusters is not as seamless as native PostgreSQL or AWS Aurora/Postgres, for example. There is a Hyperscale (Citus) option, but it is quite pricey. Auto fail-over does not work as you would like to set up.
  • Setting up your network connections and connections to applications, data sources, etc requires more time and attention
    Storage encryption you can turn on, but Azure has the key, which is strange….

Azure SQL database

Azure SQL

Azure SQL Database is a relational Database-as-a-Service that uses the Microsoft SQL Server Engine. Azure SQL Database is a high-performance, reliable and secure database that you can use to build data-driven applications and websites in the programming language of your choice, without having to manage the infrastructure.

Azure SQL Database works the same as the windows application of SQL management studio. The Azure SQL can be managed remotely through Visual Studio and SQL management studio. It is very efficient working with remote administrators.

.

Most mentioned advantages:

  • It is highly agile in that you can add/reduce resources as needed for your organization, with minimal downtime or cost.
  • Users will find that their familiar tools work seamlessly; any (standard) existing application could probably begin its Cloud journey with a minor tweak or a simple configuration change. A migration from an on-premises SQL Server is almost effortless even from outdated versions.

Most mentioned cons:

  • There are limits to database size
  • One should be aware that some T-SQL features are simply not available.
  • Certain advanced database functions – such as column store indexes – are locked behind price levels that one might assume are just about performance.

Google Cloud SQL

Google Cloud SQL

Google Cloud SQL is a database-as-a-service (DBaaS) with the capabilities and functionality of SQL Server, MySQL and PostgreSQL. (See also the notes under Considerations). useful is the easy interfacing with BigQuery that lets you use analytics capabilities by running direct queries on your Cloud SQL databases. Google Kubernetes Engine lets you develop quickly because you can deploy, update and manage all your apps and services very easily.

With Cloud SQL, you can easily set up, maintain and manage Postgres databases on Google Cloud. This application acts as a building block in a microservices architecture and features an independent storage service, allowing for decentralized data management and independent scalability of each service.

IMPORTANT: Google has a sharp maintenance window, sometimes even unannounced, of several hours per month. And during this period, the database goes down. It can still be read but not written. Not suitable for production databases or high traffic databases.

Most mentioned advantages:

  • Works very well with other Google Cloud products, so collaboration with Cloud Functions, Cloud Run, Compute Engine, AppEngine, Kubernetes, VPC, etc. is simple and easy to secure, isolating the systems from the outside.
  • Long-term reliability – Storage scaling, backups and maintenance can be scheduled automatically.
  • Automatic failover to another region in case of database failure.

Most mentioned cons:

  • There are no multi-master replication capabilities. That can be a problem on distributed, high load, high performance environments.
  • Can get pricey quickly if you grow quickly and a lot
  • There is some functionality you cannot do from the console, including assigning and restricting user rights, among other database management capabilities.

Google Cloud Spanner

Google Cloud Spanner

Google Cloud Spanner is a cloud database-as-a-service product offered as a service on Google Cloud Platform (GCP). A precursor to CockroachDB, it has all the appearances of CockroachDB using a fork of Spanner as a starting point.

lSpanner is a scalable database with virtually unlimited horizontal scalability. It is also a consistent database type. Most data types can be supported with Google spanner. With Spanner, Google offers a SaaS with 99.999% SLA and strong consistency.

We are surprised by the complete lack of backups and very limited control over access to resources. Not to mention the lack of views, no local development environment, unsupported sequences, JDBC without DML and DDL support, and so on.

If a high SLA is your primary objective and you are not inclined to build your own multi-cloud solution, Cloud Spanner may be the solution you are looking for. But, you need to be aware of all the limitations.

Most mentioned advantages:

  • Supports horizontal scalability across rows and regions unlike cloud SQL that only support vertical scalability
  • High availability rate of overall automatic replication
  • Synchronization and data replication that is the industry benchmark. Good integration into the GCP ecosystem.

Most mentioned cons:

  • It is a lot more expensive compared to other DBaaS solutions
  • The product was released in 2017 and lacks many of the advanced features offered by the market leaders
  • More mature platforms exist. Migration of existing SQL systems, although Google Cloud Spanner will certainly improve over time, can still be tricky

IBM (Compose) Cloud Databases

IBM Cloud

IBM Cloud Databases are open source data stores for enterprise application development. Built on a Kubernetes foundation, they provide a database platform for serverless applications.

They are designed to scale storage and compute resources seamlessly, without being constrained by the limitations of a single server.

Naturally integrated and available in the IBM Cloud console, these databases are now available through a consistent consumption, pricing and interaction model.

They are designed to provide developers with a cohesive experience that includes access control, backup orchestration, encryption key management, auditing, monitoring and logging. IBM Cloud Databases delivers compatibility with: PostgreSQL, EDB Postgres, MongoDB, Redis,
and ElasticSearch.

Most mentioned advantages:

  • Great for super-low-maintenance NoSQL data storage. Tons of applications just need a “boring” data layer, meaning it should be easy, fast and resilient, but nothing special is done with it
  • Is a good solution if you want to use MongoDB. They have been around for a while, generally have good customer support and are generally reliable

Most mentioned cons:

  • Cost for smaller deployments. Running minimal instances of Redis, MongoDB, PostgreSQL costs more than ordering a simple VM and installing it yourself
  • Difficult to make connections compared to native Redis or MongoDB Atlas

MongoDB Atlas

MongoDB Atlas

MongoDB Atlas is MongoDB’s automated managed cloud service that provides automated deployment, provisioning and patching, and other features that support database monitoring and optimization.

MongoDB Atlas can be used to store some non-relational attributes that can be stored in document form, where schemas can vary from record to record. And MongoDB Atlas is available very quickly. Atlas is a strong choice for building a datalake.

Most mentioned advantages:

  • It has strong authentication and encryption features that keep developers from getting lazy and leaving data out in the open by leaving their servers unattended
  • MongoDB Atlas has a generous free tier for testing purposes (512MB instances with few resources)

Most mentioned cons:

  • One of the disadvantages of MongoDB is the price; Atlas is not cheap either. Hopefully, more competition will bring the cost down over time.
  • As an independent entity, MongoDB Atlas is not included in existing AWS or Azure subscriptions, which require an additional support plan and reliance on a third party.
  • The free tier has bandwidth limitations. Scaling back to cheaper tiers is not possible at some point, dedicated (m10) to shared (M0, M2, M5) is not possible.

SkySQL

SkySQL

SkySQL is a database-as-a-service (DBaaS) from MariaDB that brings capabilities in the MariaDB platform to the Cloud, combining enterprise features and support.

Describing it as built for mission-critical applications and enterprise governance, the vendor states that SkySQL extends automation with the human expertise needed to support and manage mission-critical deployments in the Cloud – whether a single development database or thousands of production databases. Note that the database offered by MariaDB is not the community edition. In fact, it is the MariaDB Enterprise Server in addition to the MariaDB ColumnStore (or both).

For infrastructure, they use the Google Cloud Platform (GCP) and the services rely heavily on Google Kubernetes Engine (GKE), part of the GCP. This means a lot for the platform itself since MariaDB SkySQL services run in containers powered by Kubernetes. In the future, this will allow the service to be purchased as DBaaS from any large (multIi)cloud environment.

Most mentioned advantages:

  • The advantages over Amazon RDS MariaDB or Azure database for MariaDB are versioning (SkySQL ensures users are running on the most recent release), as well as having analytics and transactional support.
  • It is an enticing product for the more enthusiastic users of MariaDB enterprise to use MariaDB SkySQL.
  • Users are no longer limited to the community version of MariaDB, but can now use MariaDB enterprise at a reasonable price.

Most mentioned cons:

  • The cloud service, MariaDB admits, cannot quite be called cloud-native. According to the vendors, SkySQL is a data management service optimized with a cloud-native storage architecture. When deployed, the DBaaS service stores transactional data as block storage and analytical data as object data. In doing so, customers can automatically replicate from block to object storage in seconds.

CockroachDB (Cockroach Cloud)

CockroachDB

Cockroach Cloud, CockroachLabs’ full managed service product, is available for AWS and GCP and provides a unified management and configuration interface.

The platform can also be implemented directly on-premises on Linux, Windows and Mac.
Comprehensive support for deploying, managing and orchestrating via Kubernetes on container-supported environments is also available.

Deployments can span multiple clouds and data can be distributed among them while still appearing as a single data store for users and applications.

CockroachDB is an attractive choice for organizations with existing SQL skills looking to modernize their database infrastructure.

The platform’s flexible deployment options, Postgres compatibility, multi-cloud capabilities, automated scaling and geographic partitioning of data are all strong features. Together with the platform’s relational core, they should help the company compete in the crowded cloud-native database market.

Most mentioned advantages:

  • Innovative approach to data replication and geotagging
  • Support for relational models
  • Super good at multi-cloud deployment options

Most mentioned cons:

  • Cockroach is still a relatively young and small player
  • SQL compatibility – if you do exotic SQL things and rely on it for critical things, CockroachDB will present too many edge cases to your likingL
  • Lacks Stored Procedures, triggers, Events and UDFs

General points of interest

Voor alle DBaaS oplossingen zijn er generieke aandachtspunten.

Shared Instances

All DBaaS solutions involve shared instances. That is, the space where the database runs is shared with other databases of other customers. As a result, you may suffer from the behavior of other databases of other customers. In metaphor, “we’re all on the same boat, someone jumps up and down and you get seasick.”

In general

Customization is almost impossible. All DBaaS solutions are set up for the grand average. Configurations and performance settings are not bad but also not perfect. For average standard applications this is not immediately a problem but as soon as it becomes more complex or when a lot of I/O takes place.

Especially in cases where the database grows, performance problems occur that can be solved to a certain extent by simply adding resources. But suddenly they can’t. After all, it cannot be done indefinitely. And then there is no one to fix it for you.

Open Source

Both Azure and AWS offer so-called open source databases such as PostgreSQL, MariaDB and MySQL. They claim compatibility with community versions. However, important to know is that by definition they are not open source databases themselves. It looks like the original community version but is not the same. And is a fork, a stripped down version where the source code has also been changed.

Thus, the latest community versions are not available and more importantly, many community extensions, which make the native version so powerful, are not available or not compatible. In fact, you do use (an infusion of) the base technology, but a lot less advanced and certainly less encryptable.

Vendor Lock-in

For all DBaaS solutions there is more or less Vendor Lock-in. Particular caution is needed with the so-called open source variants (Azure databases and AWS RDS), moving to their own native community version is quite intensive.

And, of course, the specific No-SQL variants on proprietary technology (Azure CosmoDB, Google BigQuery, CouchBase) you can’t just transfer because there is no compatible alternative. As Peter Zaitsev (CEO Percona) recently compared in a presentation, “Your freedom to leave is like Hotel California’s hospitality.”

Downtime

In a DBaaS environment, the provider determines the timing of downtime. And you often don’t even have visibility into it. That gives unpredictability and there are situations you can think of where you don’t want that. Furthermore, with many DBaaS solutions, it is not very clear in the console which changes do and do not cause immediate downtime to implement that change.

Developers under monitoring:

The strength of DBaaS is that Developers can independently deploy, kick off, dump, spin up and drop all kinds of databases without DBA supervision and without having to ask permission first. As a result, there is gradually a risk that your (development) environment will become a jumble of databases, lost connections and an untidy mess of instances. And never mind database maintenance. The result is similar to your kitchen if you left a toddler alone for an hour.

Costs:

Of course, all DBaaS providers work on a cost-per-use basis. And that can often work out well. But beware. Adding resources costs money, redunant execution of your setup costs double and then adding resources again costs 4x, and so it can sometimes go fast.

As well as advanced options such as specific or deeper monitoring or column store indexes you have to pay extra for.

General satisfaction survey

Algemeen tevredenheidsonderzoek DBaaS oplossingen

Percona recently conducted a comprehensive survey on the use of DBaaS solutions and the results can be found on Percona’s website.

  • What stood out is that:69% of companies surveyed use some form of DBaaS solution
  • Of which 22% find the cost of these managed database services in the cloud much more expensive than anticipated
  • 74% cite performance issues as the main problem right now

That gives us food for thought. We can confirm that picture because we are regularly approached by new clients / companies because they are struggling with the chosen setup and especially it is not working as expected.

Fully Managed

The growth of the cloud is not always entirely smooth. In 2019 and 2020, we saw the huge impact that cloud outages can have on business. All major cloud providers experienced multiple outages in 2019 and 2020, which greatly impacted many large websites and businesses. Two things exacerbated the impact of outages.

First, as we lower the threshold for Cloud services, more people who have only superficial knowledge of how to design, set up and configure their databases in the cloud become the “admin” responsible for making sure the databases and environment are good enough for production.

Secondly, many Cloud providers use the term “Fully Managed” when referring to their services – an often too easily used marketing term that can mislead users. When something is fully managed, most people assume they don’t have to worry about it at all, and for the most part, almost all cloud services can be used out-of-the-box in just a few minutes.

However, the security and availability of your applications is a shared responsibility resulting in applications not being configured to survive major outages or even serious downtime.

Database expertise

Unfortunately, we have also seen over the past year that a lack of technical knowledge (and blind faith) has led to a huge increase in database and data leaks. Thousands of large databases have gone unprotected, leaking billions of personal data.

There is also a technological problem within modern enterprises. Developers have been crowned king – choosing tech stacks and databases. This forces DBAs and sysadmins to adapt to different tools, databases and technologies – with multiple toolsets, APIs and processes to maintain.

In a recent survey, only 22% of DBAs are involved in deciding which databases are used by applications, while architects and developers make the decisions about which database to use more than 50% of the time.

So is DBaaS such a good idea?

DBaaS solutions can be a very good alternative in many situations. In development environments, CI/CD processes, (big) data lakes, data warehousing, specific analytics projects and straightforward (web) applications, it can be an excellent solution that can sometimes even turn out to be a lot cheaper.

In addition, we are only on the eve of DBaaS, it is being developed daily and we see improvement upon improvement. In that respect, DBaaS has won, to quickly, easily deploy databases in the cloud, this does represent the direction of the future.

Determining which database platform is right for your application, customer experience and business goals has become a very complicated process with thousands of types of database servers, multiple hosting locations on-prem and multi-cloud, and key technology standards to be determined. But in the end, it comes down to finding the best tool for the purpose.

The role of OptimaData

OptimaData designs, builds and manages all forms of (open source) databases, providing a single source of independent expertise to help simplify and manage your multi-vendor, multi-platform and multi-cloud database environments.

The open source community and several database consulting companies, including OptimaData, are working on more customer-driven toolkits such as a set of Kubernetes operators as well as a repository of deployment scripts and best practices to get the use of DBaaS in an open source disruptive way clearer and structured. Making DBaaS with DBA supervision possible.

OptimaData can help navigate this new multi-database world and optimize the performance of your database today.

Interesting blogs

Database blog