Slava Akhmechet and Jeff Meyerson discuss RethinkDB, an open source database for the real-time Web. RethinkDB pushes data to the application rather than requiring the application to poll the database for updates. The discussion begins with the question of why databases need to be rethought–why is it better to build JSON-pushing into the database layer rather than the application layer? Slava explains how RethinkDB changes a full-stack architecture and discusses how Meteor’s JavaScript framework is a good model for how to think about applications which use push. The discussion continues with an exploration of RethinkDB’s transaction model, its data model, and its guarantees. The conversation concludes with an exploration of tradeoffs between different programming languages. Slava explains why RethinkDB was written in C++ rather than Go, or another language.