How a Go MySQL Driver Boosted Ad Server Performance

This is a cool open source project that was originally created by our friends at PubNative.

The tech team at PubNative have come up with a nifty new Go MySQL driver that creates less objects in the heap, resulting in a lower Garbage Collection time. It’s really easy to use. Check out the readme, try it out, and give them your feedback!

The README part:

Part of the README, which explains the motivation:

There are many MySQL drivers that implement the database/sql interface. However, using this generic interface, especialy in the Scan method, requires the storage of many objects in the heap.

Reading a massive number of records from a DB can significantly increase the Garbage Collection (GC) pause-time that can be very sensitive for high-throughput, low-latency applications.

Because of the above and the need for a GC-friendly MySQL driver, we've decided not to follow the database/sql interface and write this driver.

Eyal Golan
Eyal is leading the Engineering team at AppLift. He has more than 15 years development experience in various domains. He believes in high quality code, clean code and software craftsmanship. He also practices agile development methodologies, mostly Scrum and XP. A drummer, DJ and biker.