Airbnb has open-sourced a tool that allows its non-technical employees to work like data scientists, and it hopes others will use the software to more effectively mine their own data
Airbnb's Airpal application, when linked with the PrestoDB open source query engine developed by Facebook, could provide a lower cost alternative to a data warehouse, or a more friendly interface for accessing large swaths of data stored in a Hadoop cluster.
"We think of Airpal as being a supercharger on top of PrestoDB, which takes Presto from being a command line only for computer scientists to a first class tool for all the employees in a company," said James Mayfield[cq], Airbnb product manager.
Airbnb has been using Airpal for about a year. About a third of its employees have used the tool to query internal data, a far greater proportion than it anticipated, Mayfield said.
The software offers a GUI for exploring the company's operational data, about a half petabyte's worth. The data is managed by the Apache Hive data warehouse software and resides on a Hadoop file system. PrestoDB provides the ability to search this Hive data using the SQL (Structured Query Language).
While well-known by database administrators and programmers, SQL can confound most non-computer science-types. Airpal provides a more intuitive way of searching the data, according to Mayfield.
Data is a big part of the company's business. Airbnb was founded in 2008 to provide a way for people to rent their dwellings or individual rooms to travelers. Using the Web and a set of mobile apps, the company has facilitated 25 million bookings in 34,000 cities.
Airpal has helped Airbnb "democratize its data," Mayfield said, referring to how any Airnb employee, not just dedicated business analysts, can explore the company's data.
"It is always great to be able to build a product informed by metrics, rather than just one based on introspection or guesses," Mayfield said.
The software can answer questions an employee may have about the company's operations. How many bookings did Airbnb get on a given day? How many people are staying at an Airbnb location tonight? How many listings are there in any given market, city or neighborhood? How many of the users speak German, or Spanish?
Users can submit their queries using a Web browser. Results are returned as a CSV file, so they can be easily digested by a spreadsheet or an internal application. They can search for database tables and access a database's metadata, schemas and sample rows. Searches can be saved to be run again, and new tables can be created from queries.
For Airbnb administrators, the Airpal/PrestoDB stack eliminated a considerable amount of middleware that would be needed to execute these complex queries.
Prior to using the Airpal/PrestoDB combo, Airbnb used Amazon Web Service's Redshift service.
Redshift requires a set of ETL (Extract, transform and load) tools to prepare the data. It had a limit on how many queries can be run at once, which could limit wider use of the data. Also, Airbnb developers found the Redshift error messages to be obtuse, making it difficult to debug issues, said Andy Kramolisch, AirBnB software engineer.
Airbnb will explain AirPal in greater detail March 19 at a Presto meetup on the Facebook campus in Menlo Park, California.