• 6:45 - 7:15: Jonathan Katz
Efficiently and Safely Propagate Data Changes Without Triggers!
Prior to PostgreSQL 9.4, the primary way to distribute data-driven changes across multiple tables was to use triggers. While triggers guarantee that these changes will be propagated, they can have a significant impact application performance, both technically and with development time (see: "debugging").
PostgreSQL 9.4 introduced logical decoding, which provides a way to stream all changes in a database to a consumer. Using a logical decoder, you can read all changes that are made in a table into your programming language of choice to perform many tasks: cache invalidation, data propagation, submitting changes to remote services, and more. Many PostgreSQL drivers, such as psycopg2 and JDBC support the logical replication protocol, which lets you easily stream your database changes to be manipulated using your favorite programming language.
This talk will demonstrate how you can setup logical decoding for your application, look at architecture strategies for working with a logical decoder, and look at a case-study that shows how using logical decoding led to a big performance boost over a similar trigger-based system.
• 7:15 - 7:45: Kevin Jernigan
Technical Architecture of Postgres Aurora
Amazon Aurora is a cloud-optimized relational database that combines the speed and availability of high-end commercial databases with the simplicity and cost-effectiveness of open source databases. The recently announced PostgreSQL-compatibility, together with the original MySQL compatibility, are perfect for new application development and for migrations from overpriced, restrictive commercial databases. In this session, we’ll do a deep dive into the new architectural model and distributed systems techniques behind Amazon Aurora, discuss best practices and configurations, look at migration options and share customer experience from the field.
Facilities provided by work-bench!