This lesson provides an overview of the ScyllaDB Alternator project. It covers some design principals and the reasoning of implementing a source-available API for DynamoDB.
What is the Project Alternator? As you know ScyllaDB is compatible with Cassandra and its API
CQL and Thrift and the idea of the project. Alternator was to add also DynamodDB compatibility
to ScyllaDB, beyond just Cassandra and it’s already available in source-available since September
and this is a preview release, I’ll talk about some of the limitations in a few minutes and
we hope to have the GA soon and we also announcing in this summit that now it’s also available
on ScyllaDB Cloud and I’ll show the demonstration in a few minutes. I want to talk about
why did we do this, how can you use it and what is its state and limitations today and
what is still missing and what is planned and also bit about how it actually works
so why did we do this Alternator, why DynamoDB. API? As you know and heard a lot over
the last 2 days ScyllaDB has a lot of very good design principles so it’s very efficient on
modern hardware it has a significantly higher throughput than other databases like Cassandra
it’s linearly scalable to many-core machines, you don’t need to take tiny machines, you can take machines with many cores
it’s very focused on modern very fast SSDs, you have low latency, you have reliability
we have observability, which we have seen a lot of demonstrations on monitoring
the things you can see in ScyllaDB and it’s an autonomous database, in a sense, you don’t need to configure
a lot of parameters, how much compaction you want, how much all sorts of parameters
instead it supposed to figure all this out automatically so all these benefits are not specific to
Cassandra, to the Cassandra API or Cassandra data model. It would have been nice to have
have all these advantages for other APIs as well, so why of all the other APIs we could have
used did we choose DynamoDB API? so the first reason is that DynamoDB is actually quite
similar in the design and the data model to what ScyllaDB already implements, so as you can
see this figure, both of them were inspired by Amazon original Dynamo paper and also
by Cassandra so there are a lot of similarities there are also some differences that I’ll discuss
another reason why DynamoDB API is interesting so DynamoDB is a software as a service
database as a service and this is a big trend recently and
since DynamoDB is growing in popularity, people are writing applications to use this API and would like
to use it as well, another reason why you want to implement DynamoDB API
is to save money, about a year ago we did a benchmark where we took the same
workload and put on ScyllaDB Cloud, which just came out, and on DynamoDB and we saw that
on ScyllaDB Cloud it’s about 5 times cheaper than on DynamoDB if you include all the costs, both of
them managed databases so the price already includes all the costs and this was
with ScyllaDB Cloud with the CQL API so it would have been even nicer if you didn’t even have
have to re-write the application, you just move it to. ScyllaDB Cloud and just get five times or whatever
cheaper price and of course the other reason is the. DynamoDB API today only works on
Amazon AWS and users a lot of times want to run the application on a different Cloud provider or maybe
their own datacenter or some hybrid of several. Clouds and DynamoDB doesn’t allow that but
if we could have DynamoDB API in ScyllaDB then you can run ScyllaDB on any Cloud and datacenter like you can do
do today. So this is why we chose to have the second. API to be DynamoDB API.