Cloud Database FAQs
What Are Cloud Databases?
What is a cloud database? Traditionally databases were installed in on-premises environments. But with the advent of the public cloud, many of these traditional databases simply underwent a “lift-and-shift” to public cloud servers. They were not significantly rearchitected to take advantage of the cloud. They were merely deployed there instead. Cloud databases could be deployed to private, public, hybrid cloud or multi-cloud environments. Today, the term cloud database usually refers to a database offered via the database-as-a-service model.
Database as a Service (DBaaS)
The database as a service (DBaaS) model allows organizations to deploy and access a database without worrying about hardware purchase/setup, database installation and configuration, or database maintenance and administration. The database runs on the service provider’s cloud infrastructure (or the user’s own cloud infrastructure) and the service provider offers administrative, database management, maintenance, and operational tasks to the end-user.
DBaaS offerings generally provide automation for backup and restores, health and high availability monitoring, patching and upgrading, provisioning, scaling, and security. By optimizing and outsourcing infrastructure management, the DBaaS model enables development teams to focus on their applications and leave database management to the vendor, who provides expert 24/7 services and support.
A cloud database-as-a-service can offer advantages such as:
- The ability to get started fast without adding headcount
- Grows seamlessly as your business increases
- No hardware or software infrastructure management; offloads team workload
- Afforded as a service (opex), not a capital expense (capex)
- Simple scaling up and down
- Outsourcing of maintenance/management tasks
- Easy access to top hardware, without having to deal with it
- Service Level Agreements (SLAs) around performance, availability, and security
Most DBaaS offerings are available across public cloud market leaders Amazon Web Services (AWS), Google Cloud, and Microsoft Azure, as well as many private cloud providers.
According to the latest Gartner Magic Quadrant for Cloud Database Management Systems report, the largest DBaaS vendors include:
- Microsoft – with Azure Synapse Analytics, Azure SQL Database, Azure SQL Managed Instance, Azure Cache for Redis, Azure SQL Edge, Azure Cosmos DB, Azure HDInsight, and Azure Database for PostgreSQL, MySQL, and MariaDB.
- Amazon – with AmazonRelational Database Service (RDS), Amazon Aurora, and Amazon DynamoDB.
- Oracle – with Oracle Autonomous Database, Autonomous JSON Database, Oracle MySQL Database Service, Oracle NoSQL Database, and Oracle Big Data Service.
- Google – with Google Cloud SQL, Google Cloud Spanner, Google Cloud Bigtable, BigQuery, Cloud Firestore, and Firebase Realtime Database.
Other notable DBaaS offerings include…
SQL cloud databases:
- CockroachDB as a Service
- MariaDB SkySQL
- EnterpriseDB Postgres Plus Cloud Database
- Yugabyte Cloud
NoSQL cloud databases:
- MongoDB Atlas
- Couchbase Database as a Service
- ScyllaDB Cloud
- DataStax Astra
What Parts of Cloud Database Management Are Covered by the Service Provider?
One of the greatest advantages of a fully-managed cloud database service is that it relieves teams from the time and hassle of dealing with their database, enabling them to focus on their product. Here’s a look at what teams should plan to continue managing, and what they can expect a DBaaS vendor to handle when they opt for a cloud database.
Advantages and Disadvantages of Cloud Databases
To identify the best cloud database solution for your team, consider these cloud database advantages and disadvantages:
Benefits of Cloud Databases
The best cloud databases offer benefits such as:
A cloud database enables your team to get started fast and evolve as your projects grow. You can choose an option that fits your current workload and purchasing preferences, then seamlessly evolve it over time. You can select from a range of servers as well as monthly or annual pricing options. You can start small with a cluster for development and then increase the size of the cluster for full-scale testing and QA, and then even further as you scale to meet your production deployment requirements.
Expert database management
A primary benefit of using a cloud database is that a team of experts from the DBaaS vendor manage your cluster. The DBaaS vendor will perform monitoring, backup, restore, node repairs, cluster resize operations, nodes management, apply hotfixes and upgrades. You are only responsible for managing your application and application-specific database requirements such as schema design, database sizing, infrastructure selection, and capacity planning.
Reduced hassle and overhead
With a cloud database, your team does not need to develop or hire specialized resources, such as database administrators, DevOps, and security personnel to manage the database. You also don’t need to select hardware, purchase it, wait for it to arrive, install it, or set it up, or maintain it, thus saving on hardware datacenter techs.
All of the best cloud database vendors make significant investments in security. Most cloud based database solution vendors have a far more secure way to protect sensitive data than an in-house team. This might include single-tenant hardened security, encrypted backups, key management, hot fixes for the latest security updates, as well as Virtual Private Cloud (VPC) peering.
Distributed cloud databases usually replicate your data across multiple availability zones within a region so there’s no single point of failure. They also allow you to more replicas and expand your cluster to multiple data centers, as you wish. Centralized cloud based databases secure data through remote server backups in the event of an equipment failure, a natural disaster, or a power outage.
Common Database Challenges in the Cloud
Cost at Scale
The most commonly cited challenge of DBaaS cloud databases is cost at scale.
No matter where you are today, it’s important to anticipate future growth and plan how you can cost-effectively scale your applications to support business growth without causing an exponential increase in costs.
Most cloud database pricing models are based on operations per second, storage, and actual traffic in the cluster. Items such as secondary indexes, if available at all, come at a premium. If you need fast reads, you need to deploy dedicated hardware to support these reads from a specialized cache, which is usually sold at a premium by the DBaaS vendor If your application needs to serve multiple geographical regions, the replication comes at a premium If you scale beyond certain workload, the DBaaS vendor might start to limit your available capacity in certain regions or charge you a premium for having high load on certain regions.
Many cloud database solutions charge you per write and read units. While these initial charges might seem small in comparison to your storage costs, storage costs are actually the least costly part of the system. For example, assume that one read unit will cost you one-millionth of a cent. When your customer base grows to 10,000 active users per second — each reading one block per second — a year of just those reads will cost you over $3,200 (and that’s for only the 10,000 operations per second that occur on that specific cluster). What happens if your user application requires more than one block of reads per second? At that point, just start multiplying those thousands of dollars every time. These read and write operations can become quite expensive over time.
Another common cloud database challenge is vendor lock-in. Make sure you’re not dependent on a cloud database solution that prevents you from easily migrating when your needs change or you decide it’s time for a different approach. Consider the ability to change cloud platform providers as well as cloud database service providers — or even to move from a cloud to on-premises deployment (a process known as cloud repatriation). You might also consider running across multiple public clouds (known as multi-cloud deployments) or span your workload on both public cloud and on-premises deployments (known as hybrid cloud). If these options are important to you, investigate whether you can migrate without changing your application or increasing your total cost of ownership.
If you have large partitions, huge payloads, multi-terabytes or petabytes of data, you should ensure that a potential cloud database solution will not limit you to a narrow scope of workload or payloads.
Different cloud database services have different read and write characteristics and capabilities. Some even limit the size of your data items or the total storage you’re allowed. Can your application work effectively within those boundaries?
Ensure that your cloud database solution provides operational continuity and scale under the extreme throughput, latency, and storage requirements that you’ll see as your application grows and grows.
With users now expecting instantaneous experiences — all the time — the performance of your database is critical. If response speeds matter for your business, look for a cloud database that can consistently deliver low-single-digit millisecond latencies. Check benchmarks, user experiences, Jepsen test shakedowns, and so forth.
Selecting a cloud database that provides reliable latency guarantees under the maximum throughput load is especially critical when your business is experiencing record-high transactions and activity. So is making throughput and latency metrics available to your operations team. These metrics will help you perform accurate capacity planning… and plan for future growth as well.
Teams often move to a cloud database solution to guarantee business continuity. Organizations want to ensure zero downtime and rest assured that customers and users can reliably interact with the application 24/7, 365 days a year. To ensure this, look for a cloud database that’s purpose-built for high availability and disaster recovery.
Cloud database solutions that use a peer-to-peer architecture have high resiliency because there’s no single point of failure that can bring down the cluster. A peer-to-peer architecture helps even out the workload on the different servers that are deployed underneath the cloud database solution — without creating bottlenecks or requiring a complex and expensive load balancing system to ensure that the load is well distributed and failover is smooth and fast.
Select a solution that delivers built-in resiliency, a solution that does not force you to purchase premium auxiliary products just for the simple task of having high availability, some type of a connection between the different data centers, and so on. These extra costs can add up fast.
Look for a cloud database with a complete ecosystem behind it. This involves support for your preferred programming environment as well as your complete data ecosystem. If you need to build one-off solutions to satisfy your specific use cases, that’s going to drain your resources and inhibit agility as your needs evolve and the ecosystem advances.
First, review all of your application’s data ingress and egress requirements and select a cloud database solution that supports well-known and established solutions for these data pipelines (Kafka, Spark, Pulsar, Redpanda, etc.). This will result in significant productivity gains and cost savings down the road.
Second, ensure there’s native support for your programming environment. Check if your cloud database service provider publishes a performant, reliable, actively-maintained driver for your specific application languages; this will increase both the client and the DBaaS efficiency.
Does ScyllaDB Offer a Cloud Database?
ScyllaDB is a NoSQL database built with a close-to-the-hardware, shared-nothing approach that optimizes raw performance, fully utilizes modern multi-core servers, and minimizes the overhead to DevOps. ScyllaDB is API-compatible with both Apache Cassandra and the Amazon DynamoDB cloud database, yet is much faster, more consistent, and with a lower TCO.
Many leading teams are building real-time applications that run at global scale with ScyllaDB Cloud, which is a fully managed NoSQL DBaaS.
Why do users consider ScyllaDB Cloud as the best NoSQL cloud database? Because ScyllaDB Cloud is a fully-managed NoSQL database that provides performance at scale as a highly affordable Database as a Service (DBaaS). It’s available on AWS, Google Cloud, and, using technologies such as Google Anthos or RedHat OpenShift, can be deployed in multi-cloud environments. With ScyllaDB experts managing your database, your team is spared from performing database administrative tasks such as automatic backups, repairs, monitoring, performance optimization, and security hardening. ScyllaDB also provides 24×7 maintenance and support, and we offer database migration services to jumpstart the process.
Learn more about ScyllaDB Cloud:
- ScyllaDB Cloud whitepaper
- ScyllaDB Cloud tech talk
- ScyllaDB Cloud comparisons
- Disney+ Hotstar ScyllaDB Cloud webinar
Or, get started with a free ScyllaDB Cloud database trial (no credit card required)