Zen on MySQL
Zen is Pinterest’s graph storage service. Our first implementation of Zen used HBase as the backend, and we've since expanded its use to core parts of the product, including homefeed, notifications, topic feeds and the interest graph. We've also implemented Zen on MySQL backend for better performance for some workloads, its strength in handling online workloads and because of the strong investments by the MySQL community. Both implementations of Zen now coexist. The MySQL implementation has been adopted by our follower service, which is quite demanding in terms of throughput, latency as well as data consistency requirements. In this talk, we'll share how we implemented Zen on MySQL, covering aspects including: - Schema design - Performance tuning - Automated data inconsistency detection and fixing - Brief comparison between the two implementations of Zen
SOFTWARE ENGINEER, PINTEREST
Software engineer in Pinterest infrastructure team. Worked on detecting and fixing various count inconsistencies, and also on ZenMysql. Previously part of Facebook database engineering team, and worked on Online Shard Migration (OLM), Online Schema Change (OSC), Hybrid Incremental Backup etc and also presented about them in previous percona conferences.
Tian-Ying is a software engineer in storage and caching team in Pinterest. She built the Disaster Recovery framework for HBASE in Pinterest. She is also responsible for improving HBase performance and reliability for Pinterest online use case. Besides HBase, she also worked on ZenMySql. Before Pinterest, she worked in Cloud, Halo and Windows team in Microsoft; then Hadoop team in eBay. She has phD in Distributed System from Georgia Institute of Technology.