Trading Fish The blog of Hector Castro

Speeding up an AWS RDS for PostgreSQL Migration

Every once in a while, you find yourself in a situation where you need to migrate data from one PostgreSQL database instance to another. Whether it’s 10 gigabytes or 1,000 gigabytes, being able to execute the dump/restore process as quickly as possible is always desirable.

In this talk, we’ll go through a handful of steps that’ll minimize the amount of time it takes to dump the contents of a local PostgreSQL database instance and restore it to Amazon RDS for PostgreSQL. First, we’ll walk through the process of exporting the contents of a local PostgreSQL instance with pg_dump. Then, we’ll go over a variety of EC2 and RDS specific tweaks. Finally, we’ll use pg_restore to load it into the target PostgreSQL RDS database as quickly and efficiently as possible.

HTTP/2: Pipeline Bling

Despite the major version change, HTTP/2 is not a ground-up rewrite of the HTTP protocol. In fact, HTTP/2 preserves the concept of HTTP headers, methods, and status codes. HTTP/2 refines how HTTP is expressed on the wire to help reduce end-user perceived latency.

In this talk we’ll explore the changes introduced by HTTP/2 and identify areas where it can be applied today. Finally, we’ll cover common hacks around HTTP/1.x that simply go away as a result of adopting HTTP/2.

Throw Some Keys on it: Data Modeling For Key/Value Data Stores

Most Computer Science curriculums offer at least one course that focuses on databases. Most of the time, these courses promote relational database management systems (RDBMS) by emphasizing the relational model, relational algebra, data normalization, and Structured Query Language (SQL).

Key/value data stores are increasing in popularity but our mental model for storing data is still primarily relational. In this talk, we’ll explore data modeling for key/value stores using the Uber mobile application as an example.