Polyglot Persistence - using the best DB for the job - Ryan Boyd


Sometimes you need to store columns and rows. Sometimes you need to store massive documents. Sometimes you need to store relationship-focused data best represented in a graph. For many applications, it's better to choose an appropriate database instead of force-fitting your data into a single form. This is the theory behind Polyglot Persistence.

This session will walk the audience through a PHP app which takes advantage of MySQL, MongoDB and Neo4j for different types of data, explaining the data architecture and pipeline. We'll use the native PHP drivers for MySQL and MongoDB, the Neo4j HTTP API, and the Mongo Connector with the Neo4j Doc Manager for syncing data from the document-centric MongoDB to the relationship-centric Neo4j.

By the end of the session, you'll understand when each type of database is best used, how to use each from PHP and how to make the cost-benefit calculation of single vs multiple types of datastores.