{"id":23877,"date":"2024-12-06T12:50:21","date_gmt":"2024-12-06T20:50:21","guid":{"rendered":"https:\/\/www.pingcap.com\/?p=23877"},"modified":"2025-11-14T06:33:47","modified_gmt":"2025-11-14T14:33:47","slug":"why-pinterest-modernized-graph-service-distributed-sql","status":"publish","type":"post","link":"https:\/\/www.pingcap.com\/ko\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/","title":{"rendered":"Why Pinterest Modernized Its Graph Service with Distributed SQL"},"content":{"rendered":"<p>Pinterest, one of the world&#8217;s leading visual search and discovery platforms, recently undertook a significant overhaul of its graph storage service. At the <a href=\"https:\/\/www.pingcap.com\/ko\/htap-summit\/\">HTAP Summit 2024<\/a>, Pinterest Senior Software Engineer Ke Chen discussed the company\u2019s transition from its legacy Zen system to a new architecture built on top of <a href=\"https:\/\/www.pingcap.com\/ko\/tidb-self-managed\/\">\ud2f0DB<\/a>, an advanced <a href=\"https:\/\/www.pingcap.com\/ko\/blog\/why-distributed-sql-databases-elevate-modern-app-dev\/\">distributed SQL database<\/a>.&nbsp;<\/p>\n\n\n\n<p>This blog recaps <a href=\"https:\/\/www.pingcap.com\/ko\/htap-summit\/session-replays\/on-demand-pingraph-graph-service-on-tidb-at-pinterest\/\">Chen\u2019s talk<\/a> from the event. It highlights the key challenges Pinterest faced, the motivations behind its migration, and the results achieved with PinGraph, their new TiDB-based graph service. Through this transformation, Pinterest streamlined data management, improved performance, and reduced costs while supporting its massive user base and diverse use cases.<\/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=\"PinGraph: Graph Service on TiDB at Pinterest | Preview\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/oIFdvwyboZU?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_Legacy_Graph_Service_Challenges_with_Zen\"><\/span>The Legacy Graph Service: Challenges with Zen<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Pinterest\u2019s original graph service, Zen, was built in 2014 and powered by a combination of HBase and MySQL. While Zen supported over 100 use cases and handled 1.5 petabytes (PBs) of data with a peak of 8 million queries per second (QPS), Chen said it faced several limitations:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Data Inconsistencies<\/strong>: Zen relied on application-level secondary indexing, which caused data inconsistencies during failures or rollback scenarios. To address these issues, a daily MapReduce job, &#8220;Dr. Zen,&#8221; was used to reconcile data, adding operational overhead.<\/li>\n\n\n\n<li><strong>Limited Query Capabilities<\/strong>: Chen noted that queries in Zen were constrained to basic patterns. These included fetching nodes and edges by single properties, and lacked support for advanced filtering, composite indexes, or multi-hop queries.<\/li>\n\n\n\n<li><strong>High Technical Debt<\/strong>: With a 10-year-old codebase and outdated dependencies, Zen struggled to adapt to Pinterest\u2019s evolving needs. This made it harder to support new business use cases.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXdWVrINRrMOJ3jJzzOnbKFD0BKeSFfgVV3XO6n_qasu9vHliPEZBv_RAW_LhqSx_SL-0EmlWRWxyhwMsGlAsuGXtno29MTO8MUzjiZ2aCrfj4ZZOubng08tx9SHoam1zSQtTb1STA?key=zRUZ5S4qyQx7cYCUwsijCVGe\" alt=\"Pinterest Senior Software Engineer Ke Chen delivering his graph service talk at HTAP Summit 2024.\"\/><figcaption class=\"wp-element-caption\"><em>Pinterest Senior Software Engineer Ke Chen delivering his talk at HTAP Summit 2024.<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-left\">Chen said these challenges prompted Pinterest to explore modernizing its graph service, leading to the creation of PinGraph.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"PinGraph_A_Modern_Graph_Service_Built_with_TiDB\"><\/span>PinGraph: A Modern Graph Service Built with TiDB<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Pinterest chose TiDB as the backbone of PinGraph to address Zen\u2019s limitations and future-proof its graph service. Chen noted that TiDB\u2019s <a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/tidb-architecture\">distributed SQL architecture<\/a> aligned with Pinterest\u2019s goals of achieving consistency, scalability, and efficiency.<\/p>\n\n\n\n<p>TiDB was selected as the foundation for PinGraph for several reasons:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Strong Consistency<\/strong>: TiDB\u2019s native support for <a href=\"https:\/\/www.pingcap.com\/ko\/blog\/distributed-transactions-tidb\/\">ACID transactions<\/a> \uadf8\ub9ac\uace0 <a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/dev-guide-create-secondary-indexes\">secondary indexes<\/a> eliminated the need for application-level indexing, simplifying data management and reducing errors.<\/li>\n\n\n\n<li><strong>\ud655\uc7a5\uc131<\/strong>: As a distributed SQL database, TiDB enabled <a href=\"\/ko\/horizontal-scaling-vs-vertical-scaling\/\">\uc218\ud3c9\uc801 \ud655\uc7a5<\/a> without requiring manual sharding, allowing Pinterest to easily handle growing workloads.<\/li>\n\n\n\n<li><strong>SQL Query Power<\/strong>: TiDB provided flexible and powerful query capabilities, supporting <a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/dev-guide-index-best-practice\">composite indexes<\/a>, <a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/explain-overview\">range queries<\/a>, \uadf8\ub9ac\uace0 <a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/dev-guide-join-tables\">multi-hop queries<\/a>, essential for graph use cases.<\/li>\n\n\n\n<li><strong>Operational Efficiency<\/strong>: By replacing the outdated infrastructure with TiDB, Pinterest expected to reduce maintenance overhead and cut costs.<\/li>\n\n\n\n<li><strong>Open Source<\/strong>: TiDB\u2019s <a href=\"https:\/\/ask.pingcap.com\/?_gl=1*imk80k*_gcl_au*NTM2MTEwNDU4LjE3Mjk1MTg2OTg.*_ga*MTQ3NTgwODU0Ni4xNzIxNjUzNjcz*_ga_CPG2VW1Y41*MTczMzUwMTMwOS40NjguMS4xNzMzNTAzMDYxLjAuMC4w\">active community<\/a> and open-source nature aligned with Pinterest\u2019s values, offering a collaborative ecosystem for innovation.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Inside_PinGraphs_Graph_Service_Architecture\"><\/span>Inside PinGraph\u2019s Graph Service Architecture<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Chen walked through how PinGraph was designed to meet Pinterest\u2019s diverse use cases while simplifying operations and improving performance. Built on top of Pinterest\u2019s Structured Data Store (SDS) framework, PinGraph integrated seamlessly with TiDB.<\/p>\n\n\n\n<p>PinGraph&#8217;s architecture consisted of the following components:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfk9dHwxVud5ncuGXG-WjFMPNGKPlBQSe2V3i747ZHTshnYQQqdCmtTqSwQyVXJ131nfjYGgoMXY6y18UCK5S0Rwf92_LKGFpssWoxcte8uAJYBSdsUkUsfclP2lTskOsc01WGAlQ?key=zRUZ5S4qyQx7cYCUwsijCVGe\" alt=\"An architectural representation of the PinGraph graph service built on top of TiDB.\"\/><figcaption class=\"wp-element-caption\"><em>An architectural diagram of the PinGraph graph service built on top of TiDB.<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Frontend and Backend<\/strong>: The PinGraph frontend handled graph-related logic and queries, while the SDS backend executed operations using TiDB\u2019s SQL capabilities.<\/li>\n\n\n\n<li><strong>Universal Query Language<\/strong>: A layer of abstraction over SQL simplified communication between PinGraph and TiDB.<\/li>\n\n\n\n<li><strong>Type Schema<\/strong>: A metadata management component defined nodes and edges using a YAML-based schema, automating table creation and schema updates in TiDB.<\/li>\n\n\n\n<li><strong>Caching Layer<\/strong>: Built into SDS, the caching layer reduced load on TiDB by handling read-heavy workloads efficiently.<\/li>\n<\/ol>\n\n\n\n<p>Chen said PinGraph\u2019s modular architecture enabled Pinterest to centralize graph operations, enhance query capabilities, and streamline infrastructure management.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Advanced_Query_Capabilities_with_TiDB\"><\/span>Advanced Query Capabilities with TiDB<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>PinGraph addressed the limitations of Zen, its original graph service, by introducing robust query features with TiDB:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Composite Indexes<\/strong>: Queries could now filter on multiple properties simultaneously, improving flexibility and efficiency.<\/li>\n\n\n\n<li><strong>Range Queries and Pagination<\/strong>: Support for range-based filtering allowed more granular data retrieval.<\/li>\n\n\n\n<li><strong>Multi-Hop Queries<\/strong>: Although limited to three hops for performance reasons, this feature opened new possibilities for exploring relationships across nodes.<\/li>\n\n\n\n<li><strong>Efficient Edge Counting<\/strong>: PinGraph optimized common queries like counting incoming or outgoing edges, reducing the strain on TiDB.<\/li>\n<\/ul>\n\n\n\n<p>Chen mentioned these enhancements now allow Pinterest\u2019s product teams to model complex relationships, such as user connections or content recommendations, more effectively.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Pinterests_Results_Performance_Gains_and_Cost_Savings\"><\/span>Pinterest&#8217;s Results: Performance Gains and Cost Savings<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Since adopting TiDB, Pinterest has seen significant improvements in query latency, infrastructure costs, and operational efficiency. <\/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=\"PingCAP | How TiDB Helped Pinterest Ease Its Data Workload\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/XIls6Cnzc2g?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<p>The migration to PinGraph delivered transformative results including:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Improved Latency<\/strong>: Compared to Zen, PinGraph <strong>reduced P99 latency by up to 10x<\/strong>, ensuring faster query responses and a more reliable user experience.<\/li>\n\n\n\n<li><strong>Cost Reduction<\/strong>: By consolidating infrastructure and leveraging TiDB\u2019s <a href=\"\/ko\/horizontal-scaling-vs-vertical-scaling\/\">\uc218\ud3c9\uc801 \ud655\uc7a5\uc131<\/a>, Pinterest <strong>achieved over 50% savings in infrastructure costs<\/strong>.<\/li>\n\n\n\n<li><strong>Simplified Operations<\/strong>: PinGraph\u2019s unified architecture reduced technical debt and operational complexity, freeing engineering resources for innovation.<\/li>\n\n\n\n<li><strong>Future-Ready Platform<\/strong>: With advanced query support and a modular design, PinGraph provides a strong foundation for evolving business needs.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Future_Plans_Evolving_with_Industry_Standards\"><\/span>Future Plans: Evolving with Industry Standards<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>In the coming months, Chen said Pinterest has ambitious plans to further enhance PinGraph through:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>GQL Support<\/strong>: Implementing the Graph Query Language (GQL) will make queries more expressive and user-friendly, reducing reliance on Thrift APIs.<\/li>\n\n\n\n<li><strong>Customer-Focused Features<\/strong>: Developing a streamlined interface for product teams will boost productivity and enable faster data exploration.<\/li>\n\n\n\n<li><strong>Graph-Native Enhancements<\/strong>: Pinterest aims to introduce more graph-specific functionalities to unlock new use cases and improve performance.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Pinterest\u2019s migration from Zen to PinGraph, powered by TiDB, highlights the transformative potential of distributed SQL databases for modern graph services. By addressing long-standing challenges, PinGraph improved scalability, performance, and operational efficiency, enabling Pinterest to support its massive user base with confidence.<\/p>\n\n\n\n<p>For organizations facing similar challenges, Pinterest\u2019s journey offers a compelling blueprint for leveraging distributed SQL to <a href=\"https:\/\/www.pingcap.com\/ko\/solutions\/modernize-mysql-workloads\/\">modernize infrastructure<\/a>, streamline operations, and unlock new opportunities. As PinGraph continues to evolve, it sets a benchmark for scalable and feature-rich graph services in data-intensive environments.<\/p>\n\n\n\n<p>Want to take the first steps in modernizing your legacy data infrastructure with distributed SQL? <a href=\"https:\/\/www.pingcap.com\/ko\/htap-summit\/\">Register to watch<\/a> this entire session from the event for additional insights. Happy viewing!<\/p>","protected":false},"excerpt":{"rendered":"<p>Pinterest, one of the world&#8217;s leading visual search and discovery platforms, recently undertook a significant overhaul of its graph storage service. At the HTAP Summit 2024, Pinterest Senior Software Engineer Ke Chen discussed the company\u2019s transition from its legacy Zen system to a new architecture built on top of TiDB, an advanced distributed SQL database.&nbsp; [&hellip;]<\/p>\n","protected":false},"author":218,"featured_media":23900,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ub_ctt_via":"","footnotes":""},"categories":[199],"tags":[147,340,341,270,245,111],"class_list":["post-23877","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-customer-stories","tag-distributed-sql","tag-graph-service","tag-hbase","tag-htap-summit","tag-query-performance","tag-tidb"],"acf":[],"featured_image_src":"https:\/\/static.pingcap.com\/files\/2024\/12\/06124244\/tidb_feature_1800x600-1-1.png","author_info":{"display_name":"Brian Foster","author_link":"https:\/\/www.pingcap.com\/ko\/blog\/author\/brian-james-foster\/"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Graph Service: Why Pinterest Modernized with Distributed SQL<\/title>\n<meta name=\"description\" content=\"Discover why Pinterest transitioned from its legacy data storage system to a distributed SQL database to power its new graph service.\" \/>\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\/why-pinterest-modernized-graph-service-distributed-sql\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Graph Service: Why Pinterest Modernized with Distributed SQL\" \/>\n<meta property=\"og:description\" content=\"Discover why Pinterest transitioned from its legacy data storage system to a distributed SQL database to power its new graph service.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pingcap.com\/ko\/blog\/why-pinterest-modernized-graph-service-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-06T20:50:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-14T14:33:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/static.pingcap.com\/files\/2024\/12\/06124318\/tidb_1200x627-1.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=\"Brian Foster\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/static.pingcap.com\/files\/2024\/12\/06124354\/tidb_twitter_1600x900-1.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=\"Brian Foster\" \/>\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\/why-pinterest-modernized-graph-service-distributed-sql\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/\"},\"author\":{\"name\":\"Brian Foster\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/person\/e2c94b706bf3eaeebbd9a511005c41f2\"},\"headline\":\"Why Pinterest Modernized Its Graph Service with Distributed SQL\",\"datePublished\":\"2024-12-06T20:50:21+00:00\",\"dateModified\":\"2025-11-14T14:33:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/\"},\"wordCount\":1046,\"publisher\":{\"@id\":\"https:\/\/www.pingcap.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/static.pingcap.com\/files\/2024\/12\/06124244\/tidb_feature_1800x600-1-1.png\",\"keywords\":[\"Distributed SQL\",\"Graph Service\",\"HBase\",\"HTAP Summit\",\"Query Performance\",\"TiDB\"],\"articleSection\":[\"Customer Story\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/\",\"url\":\"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/\",\"name\":\"Graph Service: Why Pinterest Modernized with Distributed SQL\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/static.pingcap.com\/files\/2024\/12\/06124244\/tidb_feature_1800x600-1-1.png\",\"datePublished\":\"2024-12-06T20:50:21+00:00\",\"dateModified\":\"2025-11-14T14:33:47+00:00\",\"description\":\"Discover why Pinterest transitioned from its legacy data storage system to a distributed SQL database to power its new graph service.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/#primaryimage\",\"url\":\"https:\/\/static.pingcap.com\/files\/2024\/12\/06124244\/tidb_feature_1800x600-1-1.png\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2024\/12\/06124244\/tidb_feature_1800x600-1-1.png\",\"width\":3600,\"height\":1200},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.pingcap.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Why Pinterest Modernized Its Graph Service with 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\/e2c94b706bf3eaeebbd9a511005c41f2\",\"name\":\"Brian Foster\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/static.pingcap.com\/files\/2023\/07\/06161300\/brian-foster-150x150.jpeg\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2023\/07\/06161300\/brian-foster-150x150.jpeg\",\"caption\":\"Brian Foster\"},\"description\":\"Global Content Director\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/brian-foster-33453a6\/\"],\"url\":\"https:\/\/www.pingcap.com\/ko\/blog\/author\/brian-james-foster\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Graph Service: Why Pinterest Modernized with Distributed SQL","description":"Discover why Pinterest transitioned from its legacy data storage system to a distributed SQL database to power its new graph service.","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\/why-pinterest-modernized-graph-service-distributed-sql\/","og_locale":"ko_KR","og_type":"article","og_title":"Graph Service: Why Pinterest Modernized with Distributed SQL","og_description":"Discover why Pinterest transitioned from its legacy data storage system to a distributed SQL database to power its new graph service.","og_url":"https:\/\/www.pingcap.com\/ko\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/","og_site_name":"TiDB","article_publisher":"https:\/\/facebook.com\/pingcap2015","article_published_time":"2024-12-06T20:50:21+00:00","article_modified_time":"2025-11-14T14:33:47+00:00","og_image":[{"width":2400,"height":1254,"url":"https:\/\/static.pingcap.com\/files\/2024\/12\/06124318\/tidb_1200x627-1.png","type":"image\/png"}],"author":"Brian Foster","twitter_card":"summary_large_image","twitter_image":"https:\/\/static.pingcap.com\/files\/2024\/12\/06124354\/tidb_twitter_1600x900-1.png","twitter_creator":"@PingCAP","twitter_site":"@PingCAP","twitter_misc":{"Written by":"Brian Foster","Est. reading time":"5\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/#article","isPartOf":{"@id":"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/"},"author":{"name":"Brian Foster","@id":"https:\/\/www.pingcap.com\/#\/schema\/person\/e2c94b706bf3eaeebbd9a511005c41f2"},"headline":"Why Pinterest Modernized Its Graph Service with Distributed SQL","datePublished":"2024-12-06T20:50:21+00:00","dateModified":"2025-11-14T14:33:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/"},"wordCount":1046,"publisher":{"@id":"https:\/\/www.pingcap.com\/#organization"},"image":{"@id":"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/#primaryimage"},"thumbnailUrl":"https:\/\/static.pingcap.com\/files\/2024\/12\/06124244\/tidb_feature_1800x600-1-1.png","keywords":["Distributed SQL","Graph Service","HBase","HTAP Summit","Query Performance","TiDB"],"articleSection":["Customer Story"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/","url":"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/","name":"Graph Service: Why Pinterest Modernized with Distributed SQL","isPartOf":{"@id":"https:\/\/www.pingcap.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/#primaryimage"},"image":{"@id":"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/#primaryimage"},"thumbnailUrl":"https:\/\/static.pingcap.com\/files\/2024\/12\/06124244\/tidb_feature_1800x600-1-1.png","datePublished":"2024-12-06T20:50:21+00:00","dateModified":"2025-11-14T14:33:47+00:00","description":"Discover why Pinterest transitioned from its legacy data storage system to a distributed SQL database to power its new graph service.","breadcrumb":{"@id":"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/#primaryimage","url":"https:\/\/static.pingcap.com\/files\/2024\/12\/06124244\/tidb_feature_1800x600-1-1.png","contentUrl":"https:\/\/static.pingcap.com\/files\/2024\/12\/06124244\/tidb_feature_1800x600-1-1.png","width":3600,"height":1200},{"@type":"BreadcrumbList","@id":"https:\/\/www.pingcap.com\/blog\/why-pinterest-modernized-graph-service-distributed-sql\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pingcap.com\/"},{"@type":"ListItem","position":2,"name":"Why Pinterest Modernized Its Graph Service with 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\/e2c94b706bf3eaeebbd9a511005c41f2","name":"Brian Foster","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/#\/schema\/person\/image\/","url":"https:\/\/static.pingcap.com\/files\/2023\/07\/06161300\/brian-foster-150x150.jpeg","contentUrl":"https:\/\/static.pingcap.com\/files\/2023\/07\/06161300\/brian-foster-150x150.jpeg","caption":"Brian Foster"},"description":"Global Content Director","sameAs":["https:\/\/www.linkedin.com\/in\/brian-foster-33453a6\/"],"url":"https:\/\/www.pingcap.com\/ko\/blog\/author\/brian-james-foster\/"}]}},"grav_blocks":false,"card_markup":"<a class=\"card-resource bg-white\" href=\"https:\/\/www.pingcap.com\/ko\/blog\/why-pinterest-modernized-graph-service-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\/06124244\/tidb_feature_1800x600-1-1.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\">Why Pinterest Modernized Its Graph Service with Distributed SQL<\/h5><\/div><\/a>","_links":{"self":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/23877","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\/218"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/comments?post=23877"}],"version-history":[{"count":28,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/23877\/revisions"}],"predecessor-version":[{"id":30514,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/23877\/revisions\/30514"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media\/23900"}],"wp:attachment":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media?parent=23877"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/categories?post=23877"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/tags?post=23877"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}