1

There are a few NewSQL engines exist, most of them Postgres-compatible, but there are MariaDB Xpand and others, MySQL-based. Plus Galera-based clusters. My question - is there production ready DBaaS service, which provide managed DB on AWS?

1 Answer 1

2

(The Title and the Text talk about different things.)

What would you be bringing to the table that AWS (or other Cloud) does not already provide?

Please define "geo-distributed". Meanwhile, let me define:

Sharding -- Where different subsets of the data are on different servers.

Galera -- Galera, InnoDB Cluster, and most other "cluster" solutions hold the same data on each server.

High Availability (HA) -- This involves having the same data copied to multiple servers, usually separated geographically. This is usually a feature for "clustering".

PARTITION -- (Not to be confused with 'sharding'.) Splitting one table into chunks (eg, by "day"). Such partitions live on the same server. There are very few use cases where any performance is gained by partitioning.

DBaaS sounds like you have independent datasets owned by different users.

  • Sharding may be useful -- Put some users on each of several servers.
  • Having servers scattered around the world is useful to decrease latency for most users.
  • Galera / HA is useful to protect against lost data and/or provide access even when some datacenter is down.
  • (Partitioning is probably not useful.)
  • "is there production ready DBaaS service, which provides managed DB on AWS" -- Ask an AWS salesman.

NDB

MySQL's NDB Cluster can be effectively deployed globally. Unlike InnoDB's model of transactions, NDB implements "eventual consistency". In this model, the user talks to a nearby server and 'commits' the transaction. Later (probably within one second) the data is shipped to all other servers around the globe. If there are conflicts (which should not occur, according to your description) will be resolved via one of a small number of algorithms. A simple algorithm is "first one wins".

That provides low latency, yet global replication and HA.

5
  • Agree - "geo-distributed" is too wide term. I'm looking to decrease latency for users worldwide, using the same data. >"is there production ready DBaaS service, which provides managed DB on AWS" -- Ask an AWS salesman. There are many 3rd party DBaaSes (like aiven.io, Mongo Atlas, ...). Commented Oct 5, 2021 at 3:29
  • @Vitaly - Will one customer be located in a single region? (Give him a nearby instance.) Or will one customer's users be scattered around the globe? (This is a tougher problem to solve.) Commented Oct 5, 2021 at 5:08
  • @Vitaly - Also, will individual users not conflict with each other? (Hence, multi-Primary is not a problem.) Commented Oct 5, 2021 at 5:10
  • > Or will one customer's users be scattered around the globe? Yes >Also, will individual users not conflict with each other? No, they shouldn't conflict Commented Oct 5, 2021 at 9:11
  • 1
    Perhaps NDB is what you need; I added a brief description of such. I don't know about "managed by AWS". Commented Oct 5, 2021 at 14:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.