Code Migration in Production: Rewriting the Sharding Layer of Uber's Schemaless Datastore

Click for: original source

An older article by Jesper Lindstrøm Nielsen and Anders Johnsen about how Uber Engineering built Schemaless, their fault-tolerant and scalable datastore, to facilitate the rapid growth of our company.

After determining that our datastore could reap significant performance gains if we rewrote Schemaless’ fleet of Python worker nodes in Go (a language that features built-in support for lightweight concurrency), we migrated our product systems from the old implementation to the new one—all while still in production.

The article then dives into:

  • Schemaless background
  • Designing the Frontless architecture
  • Read endpoints: validation by comparison
  • Write endpoints: automated integration tests
  • Frontless results

Project Frontless showed that it is possible for Uber Engineering to rewrite a critical system in an entirely new language with zero downtime. Detailed explanation how they did it plus scheme and charts included. Very impressive!

[Read More]

Tags database data-science nosql