PINBA: in-memory MySQL storage engine for a full-stack real-time performance analytics
This talk covers an open-source MySQL engine which is the core of real-time performance analytics in Badoo. Based on UDP-packets sent from back-end applications, PINBA is processing ~100K requests per second with just several MySQL instances, giving a simple SQL-interface to several pre-built real-time analytical reports. We will cover basic features of the engine (raw data structures for "requests" and "timers", generic and tag-based reports, percentiles/distribution support), and show how PINBA is used in production for server back-end, MySQL and client front-end performance analysis in Badoo. PINBA has a very simple interface and ready client libraries for PHP, nginx, Node.js, Ruby, Python, Java and Go so one can start using it quickly.
Head of Engineering, Badoo
Graduated from Moscow State University, Phys. Dept. Worked as developer since 1999. Works in Badoo since 2006. Interests: large-scale Internet projects, social networks, herding cats (managing large engineering organisations).
Senior C Developer, Badoo
December 2004 - September 2007, Developer in Zend Technologies Ltd; September 2007 till now, Developer in Badoo Development Specialization and professional skills : C - Development of services for high-load ; PHP - PHP custom modules, and all that is associated with the development, testing and debugging PHP internals; Awards, certificates, portfolio of projects: http://pecl.php.net/user/tony2001, http://github.com/tony2001 Membership in societies and associations: PHP Development Team; PHP Documentation Team Additional information: C, PHP, Linux, Unix, Suse, Oracle, MySQL, IBM DB2, Apache, memcache, memcached, oci8, AIX, Solaris, iSeries, PASE, pinba, php-fpm, libevent, protobuf