17 Nov - 20 Nov, 2019 · San Diego, California
Vitess is a cloud-native storage solution that can scale indefinitely.
This session will cover a high level overview of all the Vitess features, the architecture, and what database workloads are a good fit.
We will then walk through a demo of live-migrating an existing MySQL installation into Vitess. Because Vitess also speaks the MySQL protocol, it is easy to retrofit scaling into your existing database systems.
Stateful, scalable storage on Kubernetes is an unsolved problem. Creating it as a service is even more difficult. The cloud-native ecosystem offers many tools such as the operator-sdk, Prometheus, Grafana, etcd, Vitess, and much more, but integrating them isn't necessarily intuitive. Two of PlanetScale's employees that have engineered and managed the project describe the journey of leveraging all of these open source technologies to build out a database as a service on Kubernetes.
Geo-partitioning is an emerging requirement for multinational corporations. Laws such as the GDPR in Europe stipulate where a user’s data needs to be physically located, as well as when it can be transferred out of the EU. We expect additional legal jurisdictions to pass similar laws in the coming years, and that database management systems will require native functionality to assist in compliance. In the case of Vitess, one of its distinguishing features is support for flexible sharding schemes. This can easily be extended to support a custom sharding scheme that respects geo-partitioning requirements. In this deep dive we will first explore how and then demonstrate a database cluster built using the custom sharding scheme that solves data residency at the database layer obviating the need for any change at the application layer.
When Vitess was migrated to run from bare-metal into Google's cloud, it was deployed as a regular stateless application. This meant that a process reschedule resulted in all the local data being wiped.
The property of Vitess to survive in such an unforgiving environment made it naturally suited to run on Kubernetes.
How did Vitess manage to run on such an environment without losing data, and providing High Availability, Scale and Performance? How are other organizations running Vitess?
This session will answer these questions, as well as go into the design principles that prepared Vitess to be cloud-native.