MariaDB and MySQL have many features that make databases more scalable. While configuring a server is a job for a Database Administrator (DBA), Developers might want to be available of some features because they can affect their work directly.
In particular, replication allows us to spread the workload over multiple database instances. A proxy will take care of splitting the SQL queries between writer nodes and reader nodes, to avoid write conflicts and data inconsistencies. However, there are techniques that developers can use to help proxies to better split reads from writes, and better distribute the workload.
It’s also useful for developers to be aware of how transactions and locks work. This will allow them to avoid locks when possible, avoid or greatly reduce deadlocks, and relax isolation between transactions when it is safe to do so, allowing better data throughput and latency.
These topics will be discussed:
* Understanding High Availability architectures
* Splitting reads and writes: why, how, caveats
* Using transactions in a replication environment
* Avoiding locks with transaction isolation levels
* Avoiding deadlocks
* Primary keys: AUTO_INCREMENT vs UUID
Speaker bio:
Federico Razzoli is a database professional, with a preference for open source databases, who has been working with DBMSs since year 2000. In the past 20+ years, he served in a number of companies as a DBA, Database Engineer, Database Consultant and Software Developer. In 2016, Federico summarized his extensive experience with MariaDB in the “Mastering MariaDB” book published by Packt. Being an experienced database events speaker, Federico speaks at professional conferences and meetups and conducts database trainings. He is also a supporter and advocate of open source software. As the Director of Vettabase, Federico does business worldwide but prefers to do it from Scotland where he lives.
0 Comments