{"id":24419,"date":"2024-12-20T03:19:32","date_gmt":"2024-12-20T11:19:32","guid":{"rendered":"https:\/\/www.pingcap.com\/?p=24419"},"modified":"2026-01-05T06:53:13","modified_gmt":"2026-01-05T14:53:13","slug":"revolutionizing-loyalty-programs-rakuten-distributed-sql","status":"publish","type":"post","link":"https:\/\/www.pingcap.com\/ko\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/","title":{"rendered":"Revolutionizing Loyalty Programs: Rakuten\u2019s Journey to Distributed SQL"},"content":{"rendered":"<p>Achieving a balance between scalability and operational efficiency has become a defining challenge for data-driven businesses. At <a href=\"https:\/\/www.pingcap.com\/ko\/htap-summit\/\">HTAP Summit 2024<\/a>, Alex Bai, Engineering Manager at Rakuten, and Tim Liu, Engineering Lead, shared their journey of overcoming the limitations of traditional databases like Apache Cassandra and MySQL to meet the demands of high-traffic platforms and critical APIs.<\/p>\n\n\n\n<p>This blog recaps their <a href=\"https:\/\/www.pingcap.com\/ko\/htap-summit\/session-replays\/on-demand-why-rakuten-adopted-tidb-to-scale-its-loyalty-points-program\/\">session<\/a>, diving into the real-world obstacles they encountered, the innovative solutions they deployed, and the technical benchmarks that validated <a href=\"https:\/\/www.pingcap.com\/ko\/blog\/why-distributed-sql-databases-elevate-modern-app-dev\/\">distributed SQL<\/a> as a robust, future-proof database solution for data-intensive applications.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Why Rakuten Adopted TiDB to Scale its Loyalty Points Program | Preview\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/u18iWC_KVZc?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Rakuten_Loyalty_Ecosystem\"><\/span>The Rakuten Loyalty Ecosystem<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Founded in 1997 with just six employees, Rakuten has grown into a global powerhouse, offering over 70 services across 30 countries and serving 1.8 billion members worldwide. Its U.S. offerings include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Rakuten Rewards<\/strong>: An affiliate marketing service.<\/li>\n\n\n\n<li><strong>Rakuten Wiki<\/strong>: An OTT streaming platform.<\/li>\n\n\n\n<li><strong>Rakuten Kobo<\/strong>: An e-book and audiobook service.<\/li>\n<\/ul>\n\n\n\n<p>At the heart of these services is Rakuten Points, a unifying loyalty ecosystem that fosters customer engagement across its diverse portfolio.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Evolution of Rakuten Points<\/h3>\n\n\n\n<p>Since its launch in 2002, Rakuten Points has become Japan\u2019s premier loyalty program, achieving:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Cumulative Points Issued<\/strong>: 4 trillion points by 2023, projected to reach 5 trillion in early 2024.<\/li>\n\n\n\n<li><strong>Transaction Volume<\/strong>: In 2023 alone, the platform processed 650 billion points via 8 billion transaction requests and 50 billion annual API reference calls.<\/li>\n<\/ul>\n\n\n\n<p>These milestones have made Rakuten Points essential, enabling smooth transactions and better user engagement.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Challenges_with_Legacy_Systems\"><\/span>The Challenges with Legacy Systems<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>As the backbone of a vast digital ecosystem, Rakuten Points needed a robust and <a href=\"https:\/\/www.pingcap.com\/ko\/article\/exploring-distributed-sql-for-scalable-database-solutions\/\">scalable database solution<\/a> to meet explosive growth and engagement demands. By 2020, Rakuten\u2019s legacy infrastructure faced mounting pressure with challenges like:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Scalability Constraints<\/strong>: Single-DC licensed databases struggled to handle increasing traffic, data volume, and feature complexity.<\/li>\n\n\n\n<li><strong>Operational Inefficiencies<\/strong>: Tightly coupled schemas limited flexibility, while vendor-dependent upgrades delayed progress.<\/li>\n\n\n\n<li><strong>High Costs<\/strong>: Proprietary database licensing and maintenance added significant overhead.<\/li>\n\n\n\n<li><strong>Downtime Risks<\/strong>: Updates often required service interruptions, which were unacceptable for a platform integral to financial transactions.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Transitioning_to_a_Microservices_Architecture\"><\/span>Transitioning to a Microservices Architecture<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>To overcome these limitations, Rakuten transitioned to a <a href=\"https:\/\/www.pingcap.com\/ko\/article\/scaling-microservices-efficiently-with-tidb\/\">microservices-based architecture<\/a> in 2020. The new system featured:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Core Functions Layer<\/strong>: Powered by Apache Cassandra, managing real-time point granting and redemption.<\/li>\n\n\n\n<li><strong>Aggregation Layer<\/strong>: Designed for advanced querying and <a href=\"https:\/\/www.pingcap.com\/ko\/article\/mastering-tidb-scalability-and-architecture-explained\/\">scalability<\/a>, supporting user rank calculations, point history, and accounting summaries.<\/li>\n<\/ul>\n\n\n\n<p>This separation ensured core functionalities remained unaffected by downstream aggregation failures, improving overall resilience and performance.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"1066\" src=\"https:\/\/static.pingcap.com\/files\/2024\/12\/20031921\/AD_4nXduW3TEVLzpSYsC2DWgDbOQOBGAuFqOTWFU7K7EJae9lF6ZYXgE1hOVMlrFTpdCzTq7MPdHpCzzAnA8rgMbllFyL_PB4uaL80p5eU_GhwR6prX2207F4af262re8-fCLa5kiEj1vQ.jpg\" alt=\"Rakuten Senior Manager Mundhra Rohit delivering his session at HTAP Summit 2024.\" class=\"wp-image-24425\" srcset=\"https:\/\/static.pingcap.com\/files\/2024\/12\/20031921\/AD_4nXduW3TEVLzpSYsC2DWgDbOQOBGAuFqOTWFU7K7EJae9lF6ZYXgE1hOVMlrFTpdCzTq7MPdHpCzzAnA8rgMbllFyL_PB4uaL80p5eU_GhwR6prX2207F4af262re8-fCLa5kiEj1vQ.jpg 1600w, https:\/\/static.pingcap.com\/files\/2024\/12\/20031921\/AD_4nXduW3TEVLzpSYsC2DWgDbOQOBGAuFqOTWFU7K7EJae9lF6ZYXgE1hOVMlrFTpdCzTq7MPdHpCzzAnA8rgMbllFyL_PB4uaL80p5eU_GhwR6prX2207F4af262re8-fCLa5kiEj1vQ-300x200.jpg 300w, https:\/\/static.pingcap.com\/files\/2024\/12\/20031921\/AD_4nXduW3TEVLzpSYsC2DWgDbOQOBGAuFqOTWFU7K7EJae9lF6ZYXgE1hOVMlrFTpdCzTq7MPdHpCzzAnA8rgMbllFyL_PB4uaL80p5eU_GhwR6prX2207F4af262re8-fCLa5kiEj1vQ-1024x682.jpg 1024w, https:\/\/static.pingcap.com\/files\/2024\/12\/20031921\/AD_4nXduW3TEVLzpSYsC2DWgDbOQOBGAuFqOTWFU7K7EJae9lF6ZYXgE1hOVMlrFTpdCzTq7MPdHpCzzAnA8rgMbllFyL_PB4uaL80p5eU_GhwR6prX2207F4af262re8-fCLa5kiEj1vQ-768x512.jpg 768w, https:\/\/static.pingcap.com\/files\/2024\/12\/20031921\/AD_4nXduW3TEVLzpSYsC2DWgDbOQOBGAuFqOTWFU7K7EJae9lF6ZYXgE1hOVMlrFTpdCzTq7MPdHpCzzAnA8rgMbllFyL_PB4uaL80p5eU_GhwR6prX2207F4af262re8-fCLa5kiEj1vQ-1536x1023.jpg 1536w, https:\/\/static.pingcap.com\/files\/2024\/12\/20031921\/AD_4nXduW3TEVLzpSYsC2DWgDbOQOBGAuFqOTWFU7K7EJae9lF6ZYXgE1hOVMlrFTpdCzTq7MPdHpCzzAnA8rgMbllFyL_PB4uaL80p5eU_GhwR6prX2207F4af262re8-fCLa5kiEj1vQ-1440x959.jpg 1440w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><em>Rakuten Senior Manager Mundhra Rohit delivering his session at HTAP Summit 2024.<\/em><\/p>\n\n\n\n<p>Rakuten\u2019s engineering team explored various solutions to support the aggregation layer\u2019s demanding requirements:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Apache Cassandra + Apache Spark<\/strong>: Reliable but unsuitable for real-time APIs due to latency.<\/li>\n\n\n\n<li><strong>MySQL with Sharding<\/strong>: Developer-friendly but challenged by scaling massive datasets and ensuring high availability.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Why TiDB?<\/h3>\n\n\n\n<p>TiDB, an open-source distributed SQL database, emerged as the ideal choice for its combination of RDBMS strengths (<a href=\"https:\/\/www.pingcap.com\/ko\/article\/what-does-acid-compliance-mean\/\">ACID compliance<\/a>, SQL support) and <a href=\"https:\/\/www.pingcap.com\/ko\/article\/exploring-nosql-evolution-and-tidbs-htap-capabilities\/\">NoSQL scalability<\/a>. Key benefits included:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Real-Time Querying<\/strong>: Crucial for user activity history and data aggregation.<\/li>\n\n\n\n<li><strong>Horizontal Scalability<\/strong>: Seamlessly accommodates growing data volumes.<\/li>\n\n\n\n<li><strong>Operational Simplicity<\/strong>: Reduces maintenance complexity.<\/li>\n<\/ul>\n\n\n\n<p>Rakuten implemented a two-layer architecture:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Core System<\/strong>: Cassandra handles real-time transactions.<\/li>\n\n\n\n<li><strong>Aggregation System<\/strong>: TiDB powers flexible querying for user history, ranks, and accounting.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"884\" height=\"430\" src=\"https:\/\/static.pingcap.com\/files\/2024\/12\/20031921\/AD_4nXeQcYP6osfVHNrXpB50pFGIChkOtR4Yz9vieKA9-ywHybwplU3SBogXPGtzQbQ3iYi-PUQVeY-biTJ6a9sG-_A_Tk1w8qdP_iUMUZEyE8LT-_KJ4dG9kk8OqO9ExTsyGwRkYCXpgw.png\" alt=\"Figure 1: A diagram depicting Rakuten Points\u2019 new two-layer architecture\" class=\"wp-image-24424\" srcset=\"https:\/\/static.pingcap.com\/files\/2024\/12\/20031921\/AD_4nXeQcYP6osfVHNrXpB50pFGIChkOtR4Yz9vieKA9-ywHybwplU3SBogXPGtzQbQ3iYi-PUQVeY-biTJ6a9sG-_A_Tk1w8qdP_iUMUZEyE8LT-_KJ4dG9kk8OqO9ExTsyGwRkYCXpgw.png 884w, https:\/\/static.pingcap.com\/files\/2024\/12\/20031921\/AD_4nXeQcYP6osfVHNrXpB50pFGIChkOtR4Yz9vieKA9-ywHybwplU3SBogXPGtzQbQ3iYi-PUQVeY-biTJ6a9sG-_A_Tk1w8qdP_iUMUZEyE8LT-_KJ4dG9kk8OqO9ExTsyGwRkYCXpgw-300x146.png 300w, https:\/\/static.pingcap.com\/files\/2024\/12\/20031921\/AD_4nXeQcYP6osfVHNrXpB50pFGIChkOtR4Yz9vieKA9-ywHybwplU3SBogXPGtzQbQ3iYi-PUQVeY-biTJ6a9sG-_A_Tk1w8qdP_iUMUZEyE8LT-_KJ4dG9kk8OqO9ExTsyGwRkYCXpgw-768x374.png 768w\" sizes=\"auto, (max-width: 884px) 100vw, 884px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><em>Figure 1: A diagram depicting Rakuten Points\u2019 new two-layer architecture<\/em><\/p>\n\n\n\n<p>This design ensured uninterrupted core services during high-traffic events while enabling advanced querying capabilities through TiDB.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Validating_TiDBs_Performance_Rakuten_Groups_POC\"><\/span>Validating TiDB\u2019s Performance: Rakuten Group\u2019s POC<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>To evaluate TiDB\u2019s capabilities under high-demand scenarios, Rakuten conducted a rigorous Proof of Concept (POC). The testing environment closely simulated their production ecosystem, ensuring reliable and actionable results.&nbsp;<\/p>\n\n\n\n<p>The POC focused on two key APIs: the <strong>Point History API<\/strong> and the <strong>Statistics API<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Point History API Test<\/h3>\n\n\n\n<p>This test measured TiDB\u2019s performance in handling high-frequency writes and concurrent reads. The setup involved continually synchronizing data between Rakuten\u2019s Cassandra cluster and TiDB through <a href=\"https:\/\/www.pingcap.com\/ko\/blog\/batch-processing-massive-data-much-quicker-with-tispark\/\">batch processing<\/a>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Simulated Scenarios:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Case 1:<\/strong> Writing 3 million records every 10 minutes, equivalent to 25,000 writes per second.<\/li>\n\n\n\n<li><strong>Case 2:<\/strong> Performing 5,000 queries per second (QPS) simultaneously with the writes to simulate real-world workloads.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Results:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Write Throughput:<\/strong> Achieved 25,000 writes per second with only a <strong>10% drop<\/strong> in throughput when adding 5,000 QPS reads.<\/li>\n\n\n\n<li><strong>Response Times:<\/strong> Maintained an average response time of <strong>17 ms<\/strong> for the reference API.<\/li>\n\n\n\n<li><strong>Resource Utilization:<\/strong> CPU and memory usage remained efficient, ensuring stability under the combined load.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Statistics API Test<\/h3>\n\n\n\n<p>The Statistics API is critical for providing users with historical and aggregated data insights, such as point distribution and activity summaries. The POC tested its ability to handle large-scale queries and heavy read loads.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Simulated Scenarios:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Dataset size: <\/strong>Over <strong>100 million records<\/strong> in a single table.<\/li>\n\n\n\n<li><strong>User patterns:<\/strong> Simulated different user activity levels, from high-activity users with 15,000 records to low-activity users with 500 records.<\/li>\n\n\n\n<li><strong>Query load:<\/strong> 5,000 QPS across user groups, querying six months\u2019 historical data.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Results:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Query Performance:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>Response Times:<\/strong> Delivered responses within <strong>2 ms (80th percentile)<\/strong> \uadf8\ub9ac\uace0 <strong>30 ms (99th percentile)<\/strong>.<\/li>\n\n\n\n<li><strong>Steady Operation:<\/strong> TiDB cluster handled 5,000 QPS efficiently with only <strong>17% CPU and memory utilization<\/strong>.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Potential for Further Optimization:<\/strong> <a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/tiflash-overview\">TiFlash\u2019s<\/a> columnar storage showed potential for improving performance in similar workloads, and its evaluation is planned for future use.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Operational_Efficiency_and_Monitoring\"><\/span>Operational Efficiency and Monitoring<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Rakuten leveraged TiDB\u2019s built-in tools to streamline database operations:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Dashboards:<\/strong> Simplified slow query analysis for faster issue resolution.<\/li>\n\n\n\n<li><strong>Prometheus and Grafana Integration:<\/strong> Enabled real-time monitoring and alerting, ensuring system stability during high-traffic periods.<\/li>\n<\/ul>\n\n\n\n<p>The POC demonstrated TiDB\u2019s ability to handle high-write and high-read workloads simultaneously with minimal performance degradation. Whether it was managing <strong>massive historical data queries<\/strong> \ub610\ub294 <strong>statistical aggregation<\/strong>, TiDB consistently exceeded expectations.<\/p>\n\n\n\n<p>These results validated its suitability as a core database for Rakuten\u2019s new APIs and reinforced its role in Rakuten\u2019s journey to modernize its data infrastructure.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusion_Rakutens_Scalability_and_Innovation_in_Action\"><\/span>Conclusion: Rakuten\u2019s Scalability and Innovation in Action<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Rakuten\u2019s adoption of TiDB showcases how embracing modern, distributed solutions can transform data architecture to meet the demands of a fast-evolving digital ecosystem. With enhanced scalability, performance, and operational efficiency, TiDB has empowered Rakuten to deliver seamless user experiences and <a href=\"https:\/\/www.pingcap.com\/ko\/article\/ensuring-99-99-uptime-with-tidbs-resilient-architecture\/\">maintain system resilience<\/a> under high demand.<\/p>\n\n\n\n<p>Curious to dive deeper into the strategies and insights behind this transformation? Watch the <a href=\"https:\/\/www.pingcap.com\/ko\/htap-summit\/session-replays\/on-demand-why-rakuten-adopted-tidb-to-scale-its-loyalty-points-program\/\">full session<\/a> from HTAP Summit 2024 to explore Rakuten\u2019s journey firsthand and discover actionable takeaways for modernizing your own data infrastructure.<\/p>\n\n\n\n<p><strong>Scale traffic \u2014 not operational overhead.<\/strong><br>Try\u00a0<strong><a href=\"https:\/\/tidbcloud.com\/free-trial\/?utm_source=blog&amp;utm_campaign=rakuten&amp;utm_content=nivanya\">TiDB Cloud free<\/a><\/strong>\u00a0and simplify high-availability, high-throughput database operations.<\/p>","protected":false},"excerpt":{"rendered":"<p>Achieving a balance between scalability and operational efficiency has become a defining challenge for data-driven businesses. At HTAP Summit 2024, Alex Bai, Engineering Manager at Rakuten, and Tim Liu, Engineering Lead, shared their journey of overcoming the limitations of traditional databases like Apache Cassandra and MySQL to meet the demands of high-traffic platforms and critical [&hellip;]<\/p>\n","protected":false},"author":275,"featured_media":24540,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ub_ctt_via":"","footnotes":""},"categories":[199],"tags":[147,270,348,9,344,111],"class_list":["post-24419","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-customer-stories","tag-distributed-sql","tag-htap-summit","tag-rakuten","tag-scalability","tag-system-design","tag-tidb"],"acf":[],"featured_image_src":"https:\/\/static.pingcap.com\/files\/2024\/12\/23071957\/tidb_feature_1800x600-1-6.png","author_info":{"display_name":"M. Nivanya","author_link":"https:\/\/www.pingcap.com\/ko\/blog\/author\/nivanya\/"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>The Rakuten Journey: Overcoming Limitations with Distributed SQL<\/title>\n<meta name=\"description\" content=\"The Rakuten engineering team shares how they overcame scalability challenges and optimized performance with a distributed SQL database.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.pingcap.com\/ko\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Rakuten Journey: Overcoming Limitations with Distributed SQL\" \/>\n<meta property=\"og:description\" content=\"The Rakuten engineering team shares how they overcame scalability challenges and optimized performance with a distributed SQL database.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pingcap.com\/ko\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/\" \/>\n<meta property=\"og:site_name\" content=\"TiDB\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/pingcap2015\" \/>\n<meta property=\"article:published_time\" content=\"2024-12-20T11:19:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-05T14:53:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/static.pingcap.com\/files\/2024\/12\/20122113\/tidb_1200x627-5.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1254\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"M. Nivanya\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/static.pingcap.com\/files\/2024\/12\/20122133\/tidb_twitter_1600x900-5.png\" \/>\n<meta name=\"twitter:creator\" content=\"@PingCAP\" \/>\n<meta name=\"twitter:site\" content=\"@PingCAP\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"M. Nivanya\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/\"},\"author\":{\"name\":\"M. Nivanya\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/person\/95941a1c225d1fe7b00554d8b4c8bfd1\"},\"headline\":\"Revolutionizing Loyalty Programs: Rakuten\u2019s Journey to Distributed SQL\",\"datePublished\":\"2024-12-20T11:19:32+00:00\",\"dateModified\":\"2026-01-05T14:53:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/\"},\"wordCount\":1043,\"publisher\":{\"@id\":\"https:\/\/www.pingcap.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/static.pingcap.com\/files\/2024\/12\/23071957\/tidb_feature_1800x600-1-6.png\",\"keywords\":[\"Distributed SQL\",\"HTAP Summit\",\"Rakuten\",\"Scalability\",\"System Design\",\"TiDB\"],\"articleSection\":[\"Customer Story\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/\",\"url\":\"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/\",\"name\":\"The Rakuten Journey: Overcoming Limitations with Distributed SQL\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/static.pingcap.com\/files\/2024\/12\/23071957\/tidb_feature_1800x600-1-6.png\",\"datePublished\":\"2024-12-20T11:19:32+00:00\",\"dateModified\":\"2026-01-05T14:53:13+00:00\",\"description\":\"The Rakuten engineering team shares how they overcame scalability challenges and optimized performance with a distributed SQL database.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/#primaryimage\",\"url\":\"https:\/\/static.pingcap.com\/files\/2024\/12\/23071957\/tidb_feature_1800x600-1-6.png\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2024\/12\/23071957\/tidb_feature_1800x600-1-6.png\",\"width\":3600,\"height\":1200},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.pingcap.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Revolutionizing Loyalty Programs: Rakuten\u2019s Journey to Distributed SQL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.pingcap.com\/#website\",\"url\":\"https:\/\/www.pingcap.com\/\",\"name\":\"TiDB\",\"description\":\"TiDB | SQL at Scale\",\"publisher\":{\"@id\":\"https:\/\/www.pingcap.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.pingcap.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.pingcap.com\/#organization\",\"name\":\"PingCAP\",\"url\":\"https:\/\/www.pingcap.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png\",\"width\":811,\"height\":232,\"caption\":\"PingCAP\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/facebook.com\/pingcap2015\",\"https:\/\/x.com\/PingCAP\",\"https:\/\/linkedin.com\/company\/pingcap\",\"https:\/\/youtube.com\/channel\/UCuq4puT32DzHKT5rU1IZpIA\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/person\/95941a1c225d1fe7b00554d8b4c8bfd1\",\"name\":\"M. Nivanya\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/static.pingcap.com\/files\/2024\/10\/16052239\/Untitled-design.png\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2024\/10\/16052239\/Untitled-design.png\",\"caption\":\"M. Nivanya\"},\"description\":\"Content Manager\",\"url\":\"https:\/\/www.pingcap.com\/ko\/blog\/author\/nivanya\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The Rakuten Journey: Overcoming Limitations with Distributed SQL","description":"The Rakuten engineering team shares how they overcame scalability challenges and optimized performance with a distributed SQL database.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.pingcap.com\/ko\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/","og_locale":"ko_KR","og_type":"article","og_title":"The Rakuten Journey: Overcoming Limitations with Distributed SQL","og_description":"The Rakuten engineering team shares how they overcame scalability challenges and optimized performance with a distributed SQL database.","og_url":"https:\/\/www.pingcap.com\/ko\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/","og_site_name":"TiDB","article_publisher":"https:\/\/facebook.com\/pingcap2015","article_published_time":"2024-12-20T11:19:32+00:00","article_modified_time":"2026-01-05T14:53:13+00:00","og_image":[{"width":2400,"height":1254,"url":"https:\/\/static.pingcap.com\/files\/2024\/12\/20122113\/tidb_1200x627-5.png","type":"image\/png"}],"author":"M. Nivanya","twitter_card":"summary_large_image","twitter_image":"https:\/\/static.pingcap.com\/files\/2024\/12\/20122133\/tidb_twitter_1600x900-5.png","twitter_creator":"@PingCAP","twitter_site":"@PingCAP","twitter_misc":{"Written by":"M. Nivanya","Est. reading time":"5\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/#article","isPartOf":{"@id":"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/"},"author":{"name":"M. Nivanya","@id":"https:\/\/www.pingcap.com\/#\/schema\/person\/95941a1c225d1fe7b00554d8b4c8bfd1"},"headline":"Revolutionizing Loyalty Programs: Rakuten\u2019s Journey to Distributed SQL","datePublished":"2024-12-20T11:19:32+00:00","dateModified":"2026-01-05T14:53:13+00:00","mainEntityOfPage":{"@id":"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/"},"wordCount":1043,"publisher":{"@id":"https:\/\/www.pingcap.com\/#organization"},"image":{"@id":"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/#primaryimage"},"thumbnailUrl":"https:\/\/static.pingcap.com\/files\/2024\/12\/23071957\/tidb_feature_1800x600-1-6.png","keywords":["Distributed SQL","HTAP Summit","Rakuten","Scalability","System Design","TiDB"],"articleSection":["Customer Story"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/","url":"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/","name":"The Rakuten Journey: Overcoming Limitations with Distributed SQL","isPartOf":{"@id":"https:\/\/www.pingcap.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/#primaryimage"},"image":{"@id":"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/#primaryimage"},"thumbnailUrl":"https:\/\/static.pingcap.com\/files\/2024\/12\/23071957\/tidb_feature_1800x600-1-6.png","datePublished":"2024-12-20T11:19:32+00:00","dateModified":"2026-01-05T14:53:13+00:00","description":"The Rakuten engineering team shares how they overcame scalability challenges and optimized performance with a distributed SQL database.","breadcrumb":{"@id":"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/#primaryimage","url":"https:\/\/static.pingcap.com\/files\/2024\/12\/23071957\/tidb_feature_1800x600-1-6.png","contentUrl":"https:\/\/static.pingcap.com\/files\/2024\/12\/23071957\/tidb_feature_1800x600-1-6.png","width":3600,"height":1200},{"@type":"BreadcrumbList","@id":"https:\/\/www.pingcap.com\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pingcap.com\/"},{"@type":"ListItem","position":2,"name":"Revolutionizing Loyalty Programs: Rakuten\u2019s Journey to Distributed SQL"}]},{"@type":"WebSite","@id":"https:\/\/www.pingcap.com\/#website","url":"https:\/\/www.pingcap.com\/","name":"\ud2f0DB","description":"TiDB | SQL at Scale","publisher":{"@id":"https:\/\/www.pingcap.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.pingcap.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.pingcap.com\/#organization","name":"PingCAP","url":"https:\/\/www.pingcap.com\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/","url":"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png","contentUrl":"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png","width":811,"height":232,"caption":"PingCAP"},"image":{"@id":"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/facebook.com\/pingcap2015","https:\/\/x.com\/PingCAP","https:\/\/linkedin.com\/company\/pingcap","https:\/\/youtube.com\/channel\/UCuq4puT32DzHKT5rU1IZpIA"]},{"@type":"Person","@id":"https:\/\/www.pingcap.com\/#\/schema\/person\/95941a1c225d1fe7b00554d8b4c8bfd1","name":"M. Nivanya","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/#\/schema\/person\/image\/","url":"https:\/\/static.pingcap.com\/files\/2024\/10\/16052239\/Untitled-design.png","contentUrl":"https:\/\/static.pingcap.com\/files\/2024\/10\/16052239\/Untitled-design.png","caption":"M. Nivanya"},"description":"Content Manager","url":"https:\/\/www.pingcap.com\/ko\/blog\/author\/nivanya\/"}]}},"grav_blocks":false,"card_markup":"<a class=\"card-resource bg-white\" href=\"https:\/\/www.pingcap.com\/ko\/blog\/revolutionizing-loyalty-programs-rakuten-distributed-sql\/\"><div class=\"card-resource__image-container\"><img class=\"card-resource__image\" alt=\"tidb_feature_1800x600 (1)\" src=\"https:\/\/static.pingcap.com\/files\/2024\/12\/23071957\/tidb_feature_1800x600-1-6.png\" loading=\"lazy\" width=3600 height=1200 \/><\/div><div class=\"card-resource__content-container\"><div class=\"card-resource__content-head\"><div class=\"card-resource__category\">Customer Story<\/div><\/div><h5 class=\"card-resource__title\">Revolutionizing Loyalty Programs: Rakuten\u2019s Journey to Distributed SQL<\/h5><\/div><\/a>","_links":{"self":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/24419","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/users\/275"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/comments?post=24419"}],"version-history":[{"count":6,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/24419\/revisions"}],"predecessor-version":[{"id":31256,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/24419\/revisions\/31256"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media\/24540"}],"wp:attachment":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media?parent=24419"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/categories?post=24419"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/tags?post=24419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}