Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2mupwTk.
Petrica Voicu and Kenneth Kang talk about Hera (High Efficiency Reliable Access to data stores) – an open-source in the Go programming language – and how it helps PayPal to manage database access and deal with issues. Hera scales thousands of PayPal’s applications with connection multiplexing, read-write split, and sharding. Filmed at qconnewyork.com.
Petrica Voicu is a software developer at PayPal, where he develops Hera (High Efficiency Reliable Access to data stores), focusing on its scalability, resiliency, availability and performance. Kenneth Kang is a software engineer at PayPal.
2. InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
paypal-scale-db/
3. Presented at QCon New York
www.qconnewyork.com
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
4. TLDR - Hera
Open Source
High Efficiency
Reliable Access
to data stores
2
Out Of DB Connections?
• Scaling
• Multiplexing
• Sharding
• Resiliency
• Manageability
• Our switch to Go Lang
19. 17
Solutions?
• Lower the connection pool
size in each microservice
node
• Improve microservice code
to use the connection more
efficiently
• Buy better database
hardware
59. Resiliency
Principles
57
• Deal with exceptional
cases
▪ Surge in load
▪ Slow SQL requests
▪ Issues with the DB
• Limit or avoid impact
• Self heal
88. 86
Key Take Away • System calls lock the OS
thread. Ex: os.File read
• When using C/C++ library,
be aware of the systems
calls (mutexes, file reads,
socket reads, sleep)
• Golang locks, socket reads,
sleep are not locking the OS
thread
• In your load tests, verify the
number of OS threads