Tag: sharding relational databases

Tech Talk Series, Part 4 Wrap Up: Achieving High Availability in MySQL

  Last week we presented the final Tech Talk in our Scaling MySQL series titled “How Do You Achieve High Availability in a MySQL Environment?” When discussing high availability, the following questions usually come up first: Do you need it? Why? Great questions. If your system is a transactional one, […]

Tech Talk Series, Part 2: Sharding Complications & Complexities

If you’ve ever talked to someone who’s done it, the process of sharding MySQL is as awful as its mnemonic cousin sounds. Yet, plenty of really smart DBAs still go this route. They see it as a necessary evil to scale apps and ensure low latency transactions. The sad fact […]

Sharding: In Theory and Practice (Part Four)

Part Four: Using Memcached Welcome back to our blog series on database sharding. As I mentioned in part one of this series, memcached was invented at LiveJournal, and its purpose is to reduce the number of redundant reads hitting their databases. LiveJournal observed that 80% of the traffic accesses only […]

Sharding: In Theory and Practice (Part Three)

Part Three: What’s in a Shard? In the first two posts of this series, I offered a perspective on the origins of database sharding and described the architectural problems with algorithmic sharding that led LiveJournal and TypePad to use dynamic sharding to scale. The next challenge of a sharded architecture […]

Sharding: In Theory and Practice (Part Two)

  Part Two: The Differences Between Algorithmic and Dynamic Sharding In my last post, I pointed to the LiveJournal model as an example of sharding on which many recent Internet companies have based their own implementations. To understand the design decisions of a sharded environment, let’s discuss the differences between […]