Online shopping innovator Gilt.com has something for everyone, including the technologist. A leader in experiential e-commerce, Gilt.com has built up behind the scenes an impressive backend infrastructure. Core to this is PostgreSQL. Mike Bryzek, co-founder and Chief Technology Officer, shared with us here at EnterpriseDB his experiences selecting and working with PostgreSQL to support the site’s shopping community of eight million plus and growing.
Q. Why did you choose to work with Postgres?
Before launching Gilt, Phong Nguyen, one of our co-founders, and I had spent over a decade building dynamic web applications using the Oracle database as a backend. When we began building Gilt, we wanted to minimize the number of new, not-critical-for-launch things we needed to learn. So our initial bias was to just use Oracle.
However, we had a problem. I really wanted to develop software on Linux, using a nice 17" screen. Mac had recently released OS X, and we were convinced that we should give the Mac a try. And we loved the Mac. In the first few days of Gilt, we got Oracle to work with Rails! We had a virtual machine running Linux with Oracle, and then used binary ODBC drivers with Rosetta emulation. It worked, but what a pain! I think that if, at the time, there had been a native way to run Oracle on Mac, we might have stayed the course.
We then looked at MySQL, but a few conventions and differences caught us by surprise—including some errors that arose from installing it onto the Mac.
We knew about PostgreSQL from some of our earlier work. Also, a few of our friends—namely Ben Adida, who is now director of engineering at Square, and Yonatan Feldman, Gilt’s vice president of mobile and global engineering—were both big advocates from the 7.x days of PostgreSQL. We loved the design and architecture of PostgreSQL. For anybody who really understands how the Oracle database works, PostgreSQL is a very easy transition. Plus, it was incredibly simple to install on both the Mac and Linux.
Q. What was your biggest surprise or ‘a-ha!’ moment?
Prior to Gilt’s launch, Phong and I were working through the night to make sure we had a solid footprint for backup and recovery of our data. This meant learning about Point-in-Time Recovery (PITR) and write-ahead logs (WAL). I was blown away by the simplicity of the Postgres system. Each log file was in the filesystem. The log file names sorted lexicographically. The snapshot files sorted correctly—they just had longer names. As newcomers, we were able to read the file in the terminal to obtain very useful information as well as some good pointers on how things worked.
After that first night of digging into how recovery in PostgreSQL worked, both Phong and I felt very confident that the system was incredibly well designed and that we were able to learn enough and to test end-to-end that our data were safe. In short, it's rare to see such an elegant and simple design applied to an incredibly hard problem—very impressive.
Q. What are your top three favorite features of Postgres?
The quality is amazing. The number of releases has really accelerated over the past few years, and the quality has remained incredibly high. The occasional bug is quickly found and fixed by the community. And Hot Standby with streaming and cascading replication has allowed us to really expand our PostgreSQL presence.
Q. What was your greatest challenge in adopting Postgres? Early on, we were sensitive to the risk involved in efficiently managing replication, and we had questions on the long-term viability of the project. Today, neither is a concern. We’re also extremely impressed by the level of activity in the Postgres community. That said, Postgres is still missing a few core features: auditing capabilities (particularly important around compliance, but generally useful for minimizing risk), automated partition management, and high availability without sacrificing write performance.
Q. Is using open source technology, especially Postgres, a strategic advantage for your company?
Open source is a huge focus at Gilt. We fundamentally believe in the power of open source software and look forward to being active participants in the open source community for a long time.
For more insight, read Gilt’s case study on using PostgreSQL to power the company’s meteoric growth.
Contact us for help with PostgreSQL, information on training or questions on our family of enterprise-grade management tools that help PostgreSQL users optimize and manage small and large-scale deployments, support automatic failover, enable single or multi-master replication, and other extended capabilities for PostgreSQL.
Keith Alsheimer is Chief Marketing Officer at EnterpriseDB.