Kakao Reveals Method for Redistributing MySQL Shard Data Using ADT
Key point
It presents a strategy for scaling shards up or down without real-time data conflicts by running Binlog and Table Crawler in parallel, and shares a data verification approach based on full scans.
Details
Kakao has released an example of using its proprietary data transfer tool, ADT (Async Data Transfer), to redistribute data from a MySQL master DB across multiple shards. To address the limitations of traditional Range or Modulus-based sharding and the need for Scale-in/out in cloud environments, it implemented two handlers (BinlogHandler, TableCrawlHandler) that process Binlog changes and existing data simultaneously. To prevent data conflicts, it uses REPLACE statements during Binlog processing and INSERT IGNORE statements during crawling, and proposes various execution strategies, including lock usage during sequential or concurrent processing and deletion event history management. Additionally, it establishes full scans as the principle for data integrity and introduces two verification methods depending on whether service downtime is acceptable. However, it explicitly notes that the data verification part is still at the theoretical verification stage internally at Kakao.
This summary was generated automatically by AI. Check the original for the author's claims and context. Copyright belongs to the original author.
Our guide explains how the AI works. Report summary errors, attribution issues, or removal requests via Contact.