 Hello everyone, today I'll talk about Alternator, which is an open source implementation of the DynamoDB API, manufactured at CillaDB, where I currently work. I'm a software engineer at CillaDB and lately also maintainer of our REST driver. I also worked on the Alternator project. Before I talk about Alternator itself, I'll mention CillaDB, the database on top of which Alternator is built. CillaDB is an open source, no SQL database focused on maximizing the performance and fully utilizing the underlying hardware. Its original goal was to provide full compatibility with Cassandra API, which is already long done. An important difference between CillaDB and Cassandra is that we're built on top of a high performance async C++ framework, C-Star, also implemented by our company. The framework is also open sourced under a permissive license and you're welcome to browse it and use it. A CillaDB cluster, similarly to Cassandra, acts as a kind of distributed hash table. Each server in the cluster is responsible for part of the data, which is also replicated and so on. Now, Alternator, what is it? It is CillaDB, but with another API that it supports and it happens to be compatible with DynamoDB. It is not a separate Sidecar proxy program that you launch and it translates queries. No, you just run CillaDB and configure it properly so that it listens on a specific port which understands DynamoDB API, that's it. Alternator is only one of the front ends that CillaDB supports, which means that the whole storage layer remains the same. In particular, if you already know Cilla from DevOps perspective, you'll be familiar with all the tools. Monitoring based on Grafana and Prometheus works. You can use the same mechanisms for backups, repairs, and so on. So how does Alternator differ from DynamoDB? Ideally, we want it to be fully compatible, however, there are still some things we don't support. On the other hand, we also provide a couple of extra capabilities. First of all, CillaDB is just an application which you can download or even compile for yourself and run it even locally. It also means that we usually expect a dedicated installation, not a multi-tenant giant which DynamoDB is. Thus, we also don't implement all of the capabilities like throughput limits yet or charging per byte because the server can simply run standalone, not only as a service. We keep an up-to-date compatibility list online. You're hereby encouraged to take a look. I will go briefly through the list. We do support authentication, but it's currently tied to SQL authentication, the native one, so it's not really user-friendly, but it works. There's no access control list support yet. Our global secondary indexes work just fine, but due to CillaDB's underlying implementation of materialized views and how we store data internally, we cannot make them as dynamic as in DynamoDB. In particular, we need to create an index upfront when creating the table. It cannot be added to a table later. All of our tables are global in DynamoDB terms. One cannot make a table local to a data center. TTL, Time to Live, is still work in progress, but it's already available in experimental mode. And we don't yet fully implement full-fledged multi-item transactions. We have conditional updates based on component swap, so conditions like if exists or if some value equals to some other value works. We also don't have the same observability routines. Alternator uses the same metrics system as CillaDB, which is based on Grafana. We also expose a way of reading extra metrics, for instance, how many reads were performed lately via an extension of the DynamoDB API. You read from a synthetic table with a special name and it returns rows which correspond to metrics kept internally by CillaDB. All these metrics, as you can see, are extremely useful when looking for bottlenecks and overload issues in your database cluster. That sums up my life in talk. Alternator is an open source DynamoDB compatible API that runs on top of CillaDB, a super high-performance database. You can deploy it locally or on Google Cloud, Azure, or any other vendor, which is quite cool. Various tools from CillaDB ecosystem, like tracing and monitoring, but also backups and many, many more things can be used along with Alternator that simply work. You're welcome to play with it and see if it's worth switching from the original DynamoDB. Thanks everyone, that's it. Please reach out to me if you have any questions or would like to contribute to the project since it's open source. Thanks.