| <!doctype html> |
| <html lang="en" dir="ltr" class="plugin-pages plugin-id-default" data-has-hydrated="false"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="generator" content="Docusaurus v3.9.2"> |
| <title data-rh="true">Schema Evolution Without Downtime - Apache Ignite</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:image" content="https://ignite.apache.org/img/og-pic.png"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="twitter:site" content="@ApacheIgnite"><meta data-rh="true" name="description" content="Apache Ignite enables schema changes without cluster restarts. Catalog-driven schema management provides atomic versioning. Add columns, modify indexes, and change distributions while applications continue running."><meta data-rh="true" property="og:title" content="Schema Evolution Without Downtime - Apache Ignite"><meta data-rh="true" property="og:type" content="article"><meta data-rh="true" property="og:url" content="https://ignite.apache.org/features/schema-evolution"><meta data-rh="true" property="og:image" content="/img/og-pic.png"><meta data-rh="true" property="og:description" content="Apache Ignite enables schema changes without cluster restarts. Catalog-driven schema management provides atomic versioning. Add columns, modify indexes, and change distributions while applications continue running."><link data-rh="true" rel="icon" href="/img/favicon.png"><link data-rh="true" rel="alternate" href="https://ignite.apache.org/features/schema-evolution" hreflang="en"><link data-rh="true" rel="alternate" href="https://ignite.apache.org/features/schema-evolution" hreflang="x-default"><link data-rh="true" rel="canonical" href="https://ignite.apache.org/features/schema-evolution"><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Apache Ignite Blog RSS Feed"> |
| <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Ignite Blog Atom Feed"> |
| <link rel="alternate" type="application/json" href="/blog/feed.json" title="Apache Ignite Blog JSON Feed"><link rel="stylesheet" href="/assets/css/styles.95589e4b.css"> |
| <script src="/assets/js/runtime~main.17b85ad2.js" defer="defer"></script> |
| <script src="/assets/js/main.5fa90125.js" defer="defer"></script> |
| </head> |
| <body class="navigation-with-keyboard"> |
| <svg style="display: none;"><defs> |
| <symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol> |
| </defs></svg> |
| <script>document.documentElement.setAttribute("data-theme","light"),document.documentElement.setAttribute("data-theme-choice","light"),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/img/menu.svg"><link rel="preload" as="image" href="/img/logo-white.svg"><link rel="preload" as="image" href="/img/logo.svg"><link rel="preload" as="image" href="/img/menu/icon-red-rocket.svg"><link rel="preload" as="image" href="/img/menu/icon-db.svg"><link rel="preload" as="image" href="/img/menu/icon-cube.svg"><link rel="preload" as="image" href="/img/menu/icon-folder.svg"><link rel="preload" as="image" href="/img/menu/icon-clip.svg"><link rel="preload" as="image" href="/img/menu/icon-comment.svg"><link rel="preload" as="image" href="/img/menu/icon-puzzle.svg"><link rel="preload" as="image" href="/img/menu/icon-question.svg"><link rel="preload" as="image" href="/img/menu/icon-calendar.svg"><link rel="preload" as="image" href="/img/menu/icon-blog.svg"><link rel="preload" as="image" href="/img/features/hero-bg.svg"><link rel="preload" as="image" href="/img/features/06-compute-APIs.svg"><link rel="preload" as="image" href="/img/features/03-distributed-SQL.svg"><link rel="preload" as="image" href="/img/features/09-streaming.svg"><link rel="preload" as="image" href="/img/features/08-services.svg"><link rel="preload" as="image" href="/img/features/04-ACID-transactions.svg"><link rel="preload" as="image" href="/img/features/native-rocket.svg"><link rel="preload" as="image" href="/img/features/native-docs.svg"><link rel="preload" as="image" href="/img/icon-github.svg"><link rel="preload" as="image" href="/img/icon-linkedin.svg"><link rel="preload" as="image" href="/img/icon-twitter.svg"><link rel="preload" as="image" href="/img/icon-meetup-black.png"><link rel="preload" as="image" href="/img/asf-logo-mark.svg"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><header class="hdr_PRsQ hdrWhite_ohIP jsHdrBase"><div class="jsHdrLine"><div class="hdrWrap_QdiD flexi"><button class="hdrBurger_KXBq" aria-label="Toggle mobile menu"><img src="/img/menu.svg" alt=""></button><a href="/" class="hdrLogo_TYDr"><img src="/img/logo-white.svg" alt="Apache Ignite" class="hdrLogoImg_XJLu hdrLogoWhite_U77N"><img src="/img/logo.svg" alt="Apache Ignite" class="hdrLogoImg_XJLu hdrLogoBlack_I8_P"></a><a href="/download" class="button hdrButton_UajW">Download Ignite</a><nav class="hdrmenu_ge0j"><ul class="flexi"><li class="js-hasdrop"><a href="/" class="hdrmenuExpanded_vwJD" data-panel="getStarted">Get Started</a></li><li class="js-hasdrop"><a href="/features/" class="hdrmenuExpanded_vwJD" data-panel="features">Features</a></li><li class="js-hasdrop"><a href="/use-cases" class="hdrmenuExpanded_vwJD" data-panel="useCases">Use Cases</a></li><li class="js-hasdrop"><a href="/community" class="hdrmenuExpanded_vwJD" data-panel="community">Community</a></li><li class="js-hasdrop"><a href="/resources" class="hdrmenuExpanded_vwJD" data-panel="resources">Resources</a></li><li><a href="/blog/" class="">Blog</a></li><li><a href="/docs/" class="">Docs</a></li></ul></nav><div class="dropmenu_DC5b"><div class="dropmenuPanel_jdIV" data-menupanel="getStarted"><div class="container dropmenu1Grid_w4jT"><div class="dropmenu1Buttonwrap_diJw"> </div><div class="dropmenuBox_xgfI dropmenuBoxButtonin_esgj"><a href="/docs/ignite3/3.1.0/getting-started/quick-start" class="dropmenuRedbutton_e7rf dropmenu__redbutton"><img src="/img/menu/icon-red-rocket.svg" alt=""><span>Quick Start Guide</span></a><ul class="dropmenuMenu_zkY2"><li><a href="/resources" class="dropmenuIconitem_qfHe"><span>Developer Resources</span></a></li><li><a href="/resources#training" class="dropmenuIconitem_qfHe"><span>Training and Courses</span></a></li><li><a href="/faq" class="dropmenuIconitem_qfHe"><span>FAQ</span></a></li></ul></div></div></div><div class="dropmenuPanel_jdIV" data-menupanel="features"><div class="container dropmenu2Grid_cvsM"><div class="dropmenuBox_xgfI"><p class="capstext">ARCHITECTURAL BACKBONE</p><ul class="dropmenuMenu_zkY2"><li><a href="/features/architectural-foundation" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-db.svg" alt=""><span>Memory-First + MVCC + Distributed Replication</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext">CORE FEATURES</p><ul class="dropmenuMenu_zkY2"><li><a href="/features/storage" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Memory-First Storage</span></a></li><li><a href="/features/acid-transactions" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>ACID Transactions</span></a></li><li><a href="/features/sql" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Access Patterns</span></a></li><li><a href="/features/schema-evolution" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Schema Evolution</span></a></li><li><a href="/features/streaming" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Backpressured Streaming</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext">DATA PLACEMENT & PROCESSING</p><ul class="dropmenuMenu_zkY2"><li><a href="/features/data-placement" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Schema-Driven Data Placement</span></a></li><li><a href="/features/compute-apis" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Processing Where Data Lives</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext">OPERATIONAL EXCELLENCE</p><ul class="dropmenuMenu_zkY2"><li><a href="/features/coordination" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Coordination That Scales</span></a></li><li><a href="/features/tooling" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Operations Built In</span></a></li><li><a href="/features/multilanguage" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Multi-Language Support</span></a></li></ul></div></div><div class="panelmorelinkwrap_xvmJ container"><a href="/features/" class="panellink_AjDQ">View all</a></div></div><div class="dropmenuPanel_jdIV" data-menupanel="useCases"><div class="container dropmenu2Grid_cvsM"><div class="dropmenuBox_xgfI"><p class="capstext"><a href="/use-cases" class="dropmenuCapslink_xQ5z">PRIMARY USE CASES</a></p><ul class="dropmenuMenu_zkY2"><li><a href="/use-cases/event-stream-processing" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Event Stream Processing</span></a></li><li><a href="/use-cases/microservices-state" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Microservices State Management</span></a></li><li><a href="/use-cases/session-management" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Session Management</span></a></li><li><a href="/use-cases/ai-ml-feature-stores" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>AI/ML Feature Stores</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext">ADDITIONAL USE CASES</p><ul class="dropmenuMenu_zkY2"><li><a href="/use-cases/operational-analytics" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Operational Analytics</span></a></li><li><a href="/use-cases/fast-data-marts" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Fast Data Marts</span></a></li><li><a href="/use-cases/iot-time-series" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>IoT and Time-Series Data</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext">SUPPORTING PATTERNS</p><ul class="dropmenuMenu_zkY2"><li><a href="/use-cases/digital-integration-hub" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Digital Integration Hub</span></a></li><li><a href="/use-cases/high-performance-computing" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>High-Performance Computing</span></a></li><li><a href="/use-cases/key-value-store" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Key-Value Store</span></a></li><li><a href="/use-cases/in-memory-database" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Database with Memory-First Storage</span></a></li></ul></div></div><div class="panelmorelinkwrap_xvmJ container"><a href="/use-cases" class="panellink_AjDQ">View all</a></div></div><div class="dropmenuPanel_jdIV" data-menupanel="community"><div class="container dropmenu3Grid_VqYa"><div class="dropmenuBox_xgfI"><p class="capstext"><a href="/community" class="dropmenuCapslink_xQ5z">Project Info</a></p><ul class="dropmenuMenu_zkY2"><li><a href="/community#story" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-clip.svg" alt=""><span>Apache Ignite Story</span></a></li><li><a href="/community#community" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-comment.svg" alt=""><span>Meet The Community</span></a></li><li><a href="/community#governance" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-clip.svg" alt=""><span>Project Governance</span></a></li></ul></div><div class="dropmenuBox_xgfI noBorder_FXnb"><ul class="dropmenuMenu_zkY2"><li><a href="/community#contributing" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-puzzle.svg" alt=""><span>Start Contributing</span></a></li><li><a href="/community#channels" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-question.svg" alt=""><span>Get In Touch</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext"><a href="/events" class="dropmenuCapslink_xQ5z">Events</a></p><ul class="dropmenuMenu_zkY2"><li><a href="/events#summit" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-calendar.svg" alt=""><span>Apache Ignite Summit</span></a></li><li><a href="/events#meetups" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-calendar.svg" alt=""><span>Meetups</span></a></li></ul></div><div class="dropmenuBox_xgfI noBorder_FXnb"><ul class="dropmenuMenu_zkY2"><li><a href="/events#upcoming" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-calendar.svg" alt=""><span>Upcoming Events</span></a></li><li><a href="/events#past" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-calendar.svg" alt=""><span>Past Events</span></a></li></ul></div></div></div><div class="dropmenuPanel_jdIV" data-menupanel="resources"><div class="container dropmenu1Grid_w4jT"><div class="dropmenu1Buttonwrap_diJw"> </div><div class="dropmenuBox_xgfI dropmenuBoxButtonin_esgj"><a href="/blog/" class="dropmenuRedbutton_e7rf dropmenu__redbutton blog"><img src="/img/menu/icon-blog.svg" alt=""><span>Blog</span></a><ul class="dropmenuMenu_zkY2"><li><a href="/resources#get-started" class="dropmenuIconitem_qfHe"><span>Get Started</span></a></li><li><a href="/resources#documentation" class="dropmenuIconitem_qfHe"><span>Documentation</span></a></li><li><a href="/resources#source-code" class="dropmenuIconitem_qfHe"><span>Source Code</span></a></li></ul></div><div class="dropmenuBox_xgfI blog"><ul class="dropmenuMenu_zkY2"><li><a href="/resources#training" class="dropmenuIconitem_qfHe"><span>Training and Courses</span></a></li><li><a href="/resources#community" class="dropmenuIconitem_qfHe"><span>Community</span></a></li><li><a href="/faq" class="dropmenuIconitem_qfHe"><span>FAQ</span></a></li></ul></div></div></div></div></div></div></header><div class="dropmenuBack_J_6a"></div><header class="hdrfloat_w9y8 hdrWhite_ohIP jsHdrFloatBase"><div class="jsHdrLine"><div class="hdrWrap_QdiD flexi"><button class="hdrBurger_KXBq" aria-label="Toggle mobile menu"><img src="/img/menu.svg" alt=""></button><a href="/" class="hdrLogo_TYDr"><img src="/img/logo.svg" alt="Apache Ignite" class="hdrLogoImg_XJLu"></a><a href="/download" class="button hdrButton_UajW">Download Ignite</a><nav class="hdrmenu_ge0j"><ul class="flexi"><li class="js-hasdrop"><a href="/" class="hdrmenuExpanded_vwJD" data-panel="getStarted">Get Started</a></li><li class="js-hasdrop"><a href="/features/" class="hdrmenuExpanded_vwJD" data-panel="features">Features</a></li><li class="js-hasdrop"><a href="/use-cases" class="hdrmenuExpanded_vwJD" data-panel="useCases">Use Cases</a></li><li class="js-hasdrop"><a href="/community" class="hdrmenuExpanded_vwJD" data-panel="community">Community</a></li><li class="js-hasdrop"><a href="/resources" class="hdrmenuExpanded_vwJD" data-panel="resources">Resources</a></li><li><a href="/blog/" class="">Blog</a></li><li><a href="/docs/" class="">Docs</a></li></ul></nav><div class="dropmenu_DC5b"><div class="dropmenuPanel_jdIV" data-menupanel="getStarted"><div class="container dropmenu1Grid_w4jT"><div class="dropmenu1Buttonwrap_diJw"> </div><div class="dropmenuBox_xgfI dropmenuBoxButtonin_esgj"><a href="/docs/ignite3/3.1.0/getting-started/quick-start" class="dropmenuRedbutton_e7rf dropmenu__redbutton"><img src="/img/menu/icon-red-rocket.svg" alt=""><span>Quick Start Guide</span></a><ul class="dropmenuMenu_zkY2"><li><a href="/resources" class="dropmenuIconitem_qfHe"><span>Developer Resources</span></a></li><li><a href="/resources#training" class="dropmenuIconitem_qfHe"><span>Training and Courses</span></a></li><li><a href="/faq" class="dropmenuIconitem_qfHe"><span>FAQ</span></a></li></ul></div></div></div><div class="dropmenuPanel_jdIV" data-menupanel="features"><div class="container dropmenu2Grid_cvsM"><div class="dropmenuBox_xgfI"><p class="capstext">ARCHITECTURAL BACKBONE</p><ul class="dropmenuMenu_zkY2"><li><a href="/features/architectural-foundation" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-db.svg" alt=""><span>Memory-First + MVCC + Distributed Replication</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext">CORE FEATURES</p><ul class="dropmenuMenu_zkY2"><li><a href="/features/storage" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Memory-First Storage</span></a></li><li><a href="/features/acid-transactions" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>ACID Transactions</span></a></li><li><a href="/features/sql" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Access Patterns</span></a></li><li><a href="/features/schema-evolution" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Schema Evolution</span></a></li><li><a href="/features/streaming" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Backpressured Streaming</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext">DATA PLACEMENT & PROCESSING</p><ul class="dropmenuMenu_zkY2"><li><a href="/features/data-placement" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Schema-Driven Data Placement</span></a></li><li><a href="/features/compute-apis" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Processing Where Data Lives</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext">OPERATIONAL EXCELLENCE</p><ul class="dropmenuMenu_zkY2"><li><a href="/features/coordination" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Coordination That Scales</span></a></li><li><a href="/features/tooling" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Operations Built In</span></a></li><li><a href="/features/multilanguage" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Multi-Language Support</span></a></li></ul></div></div><div class="panelmorelinkwrap_xvmJ container"><a href="/features/" class="panellink_AjDQ">View all</a></div></div><div class="dropmenuPanel_jdIV" data-menupanel="useCases"><div class="container dropmenu2Grid_cvsM"><div class="dropmenuBox_xgfI"><p class="capstext"><a href="/use-cases" class="dropmenuCapslink_xQ5z">PRIMARY USE CASES</a></p><ul class="dropmenuMenu_zkY2"><li><a href="/use-cases/event-stream-processing" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Event Stream Processing</span></a></li><li><a href="/use-cases/microservices-state" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Microservices State Management</span></a></li><li><a href="/use-cases/session-management" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Session Management</span></a></li><li><a href="/use-cases/ai-ml-feature-stores" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>AI/ML Feature Stores</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext">ADDITIONAL USE CASES</p><ul class="dropmenuMenu_zkY2"><li><a href="/use-cases/operational-analytics" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Operational Analytics</span></a></li><li><a href="/use-cases/fast-data-marts" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Fast Data Marts</span></a></li><li><a href="/use-cases/iot-time-series" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>IoT and Time-Series Data</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext">SUPPORTING PATTERNS</p><ul class="dropmenuMenu_zkY2"><li><a href="/use-cases/digital-integration-hub" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Digital Integration Hub</span></a></li><li><a href="/use-cases/high-performance-computing" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>High-Performance Computing</span></a></li><li><a href="/use-cases/key-value-store" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Key-Value Store</span></a></li><li><a href="/use-cases/in-memory-database" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Database with Memory-First Storage</span></a></li></ul></div></div><div class="panelmorelinkwrap_xvmJ container"><a href="/use-cases" class="panellink_AjDQ">View all</a></div></div><div class="dropmenuPanel_jdIV" data-menupanel="community"><div class="container dropmenu3Grid_VqYa"><div class="dropmenuBox_xgfI"><p class="capstext"><a href="/community" class="dropmenuCapslink_xQ5z">Project Info</a></p><ul class="dropmenuMenu_zkY2"><li><a href="/community#story" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-clip.svg" alt=""><span>Apache Ignite Story</span></a></li><li><a href="/community#community" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-comment.svg" alt=""><span>Meet The Community</span></a></li><li><a href="/community#governance" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-clip.svg" alt=""><span>Project Governance</span></a></li></ul></div><div class="dropmenuBox_xgfI noBorder_FXnb"><ul class="dropmenuMenu_zkY2"><li><a href="/community#contributing" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-puzzle.svg" alt=""><span>Start Contributing</span></a></li><li><a href="/community#channels" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-question.svg" alt=""><span>Get In Touch</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext"><a href="/events" class="dropmenuCapslink_xQ5z">Events</a></p><ul class="dropmenuMenu_zkY2"><li><a href="/events#summit" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-calendar.svg" alt=""><span>Apache Ignite Summit</span></a></li><li><a href="/events#meetups" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-calendar.svg" alt=""><span>Meetups</span></a></li></ul></div><div class="dropmenuBox_xgfI noBorder_FXnb"><ul class="dropmenuMenu_zkY2"><li><a href="/events#upcoming" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-calendar.svg" alt=""><span>Upcoming Events</span></a></li><li><a href="/events#past" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-calendar.svg" alt=""><span>Past Events</span></a></li></ul></div></div></div><div class="dropmenuPanel_jdIV" data-menupanel="resources"><div class="container dropmenu1Grid_w4jT"><div class="dropmenu1Buttonwrap_diJw"> </div><div class="dropmenuBox_xgfI dropmenuBoxButtonin_esgj"><a href="/blog/" class="dropmenuRedbutton_e7rf dropmenu__redbutton blog"><img src="/img/menu/icon-blog.svg" alt=""><span>Blog</span></a><ul class="dropmenuMenu_zkY2"><li><a href="/resources#get-started" class="dropmenuIconitem_qfHe"><span>Get Started</span></a></li><li><a href="/resources#documentation" class="dropmenuIconitem_qfHe"><span>Documentation</span></a></li><li><a href="/resources#source-code" class="dropmenuIconitem_qfHe"><span>Source Code</span></a></li></ul></div><div class="dropmenuBox_xgfI blog"><ul class="dropmenuMenu_zkY2"><li><a href="/resources#training" class="dropmenuIconitem_qfHe"><span>Training and Courses</span></a></li><li><a href="/resources#community" class="dropmenuIconitem_qfHe"><span>Community</span></a></li><li><a href="/faq" class="dropmenuIconitem_qfHe"><span>FAQ</span></a></li></ul></div></div></div></div></div></div></header><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><section class="innerhero"><div class="container innerhero__cont"><div class="innerhero__main innerhero__main--long"><div class="innerhero__pre pb-3">Apache Ignite</div><h1 class="h1 innerhero__h1">Evolve Without Downtime</h1><div class="innerhero__descr pt-2 h5">Add columns, modify indexes, change distributions. Applications keep running.</div></div><img class="innerhero__pic innerhero__pic--native" src="/img/features/hero-bg.svg" alt="Schema Evolution"></div></section><section class="container pt-5 pb-5"><div class="pt-3 pb-3"><p class="fz20">Apache Ignite enables schema changes without cluster restarts. Catalog-driven schema management provides atomic versioning. Add columns, modify indexes, and change distributions while applications continue running. Deploy features continuously without maintenance windows.</p></div></section><section class="nativepersistence3 container"><h2 class="h4 pb-3">Catalog-Driven Schema Management</h2><div class="nativepersistence3__block flexi"><div class="nativepersistence3__left"><h3 class="h5">Atomic Schema Versioning</h3><p>The catalog stores schema definitions with version numbers. Schema changes create new versions atomically. All nodes see schema changes simultaneously. No partial updates. No synchronization windows. This eliminates inconsistent schema states during changes.</p></div><div class="nativepersistence3__right"><h3 class="h5">Zero-Downtime Changes</h3><p>Schema changes execute while the cluster processes requests. Add columns to existing tables. Create new indexes on populated tables. Modify distribution zones for existing data. Applications continue reading and writing during changes.</p></div></div><div class="nativepersistence3__block flexi pt-4"><div class="nativepersistence3__left"><h3 class="h5">Backward Compatibility</h3><p>New schema versions maintain compatibility with existing data. Nullable columns default to NULL for existing rows. Applications running older schema versions continue functioning. This enables gradual application rollouts without coordinated deployments.</p></div><div class="nativepersistence3__right"><h3 class="h5">Transaction Safety</h3><p>Ongoing transactions complete under their starting schema version. New transactions use the latest schema. No transaction failures from schema changes. MVCC ensures transactions see consistent schema states throughout execution.</p></div></div></section><section class="nativepersistence3 container pt-5 pb-5"><h2 class="h4 pb-3">Schema Operations</h2><div class="nativepersistence3__block flexi"><div class="nativepersistence3__left"><h3 class="h5">Column Operations</h3><p>Add columns with default values. Drop unused columns. Modify column types when safe. All operations execute without blocking reads or writes. The system handles data migration transparently for storage engines.</p></div><div class="nativepersistence3__right"><h3 class="h5">Index Management</h3><p>Create indexes on existing tables without downtime. The system builds indexes in the background while serving queries. Drop unused indexes immediately. Index changes become visible atomically across the cluster.</p></div></div><div class="nativepersistence3__block flexi pt-4"><div class="nativepersistence3__left"><h3 class="h5">Distribution Changes</h3><p>Modify distribution zones for existing tables. Change replica counts. Adjust node filters. The system rebalances data automatically. Applications continue operating during rebalancing with no impact on consistency.</p></div><div class="nativepersistence3__right"><h3 class="h5">Colocation Changes</h3><p>Modify colocation keys requires table recreation. The catalog enforces this constraint to prevent incorrect query results. Plan colocation carefully during initial schema design. This trade-off ensures correctness for colocated joins.</p></div></div></section><section class="nativepersistence3 container pt-5 pb-5"><h2 class="h4 pb-3">Multiple API Views</h2><div class="nativepersistence3__block flexi"><div class="nativepersistence3__left"><h3 class="h5">Single Schema, Multiple APIs</h3><p>One catalog schema serves SQL, RecordView, and KeyValueView. Schema changes apply to all access patterns simultaneously. No need to update cache configurations separately. This simplifies operations and prevents API inconsistencies.</p></div><div class="nativepersistence3__right"><h3 class="h5">API Compatibility</h3><p>SQL sees new columns immediately after schema changes. RecordView and KeyValueView reflect updated schemas through type-safe interfaces. Applications check schema versions to handle new columns gracefully. This enables progressive rollouts.</p></div></div><div class="nativepersistence3__block flexi pt-4"><div class="nativepersistence3__left"><h3 class="h5">Client Schema Awareness</h3><p>Clients fetch current schema versions automatically. Type-safe APIs validate against current schemas. The protocol includes schema metadata for correct serialization. This prevents version mismatches between clients and cluster.</p></div><div class="nativepersistence3__right"><h3 class="h5">Development Workflow</h3><p>Define schemas using DDL statements or Table API. Test schema changes in development environments. Apply identical changes to production clusters. The catalog ensures deterministic behavior across environments.</p></div></div></section><section class="container pt-5 pb-5"><h2 class="h4 pb-4">Use Cases</h2><div class="cardswrap"><div class="usecasecard cardsimple"><div class="cardsimple__icon"><img src="/img/features/06-compute-APIs.svg" alt=""></div><h3 class="cardsimple__title">Continuous Deployment</h3><div class="cardsimple__text">Deploy application features without maintenance windows. Add columns for new functionality. Create indexes to optimize new query patterns. Roll out changes gradually across application tiers. Zero-downtime evolution enables continuous delivery.</div><div class="cardsimple__bottom"><a class="cardsimple__button button button--shadow" href="/use-cases/microservices-state">View Use Case</a></div></div><div class="usecasecard cardsimple"><div class="cardsimple__icon"><img src="/img/features/03-distributed-SQL.svg" alt=""></div><h3 class="cardsimple__title">A/B Testing</h3><div class="cardsimple__text">Add columns for experimental features. New application versions write to new columns. Old versions ignore them gracefully. Collect metrics on both approaches. Remove unsuccessful experiments by dropping columns.</div><div class="cardsimple__bottom"><a class="cardsimple__button button button--shadow" href="/use-cases/operational-analytics">View Use Case</a></div></div><div class="usecasecard cardsimple"><div class="cardsimple__icon"><img src="/img/features/09-streaming.svg" alt=""></div><h3 class="cardsimple__title">Evolving Data Models</h3><div class="cardsimple__text">Adapt schemas as requirements change. Add columns for new attributes. Create indexes as query patterns evolve. Modify distributions as data growth patterns change. Schema evolution supports changing business needs.</div><div class="cardsimple__bottom"><a class="cardsimple__button button button--shadow" href="/use-cases/event-stream-processing">View Use Case</a></div></div></div></section><section class="container pt-5 pb-5"><h2 class="h4 pb-4">How Schema Evolution Connects to the Foundation</h2><div class="cardswrap"><div class="usecasecard cardsimple"><div class="cardsimple__icon"><img src="/img/features/08-services.svg" alt=""></div><h3 class="cardsimple__title">Catalog Provides Consistency</h3><div class="cardsimple__text">The catalog uses distributed consensus for schema changes. All nodes see schema updates atomically. Version numbers ensure consistent views. This coordination enables zero-downtime schema evolution at scale.</div><div class="cardsimple__bottom"><a class="cardsimple__button button button--shadow" href="/features/architectural-foundation">Learn About Distributed Replication</a></div></div><div class="usecasecard cardsimple"><div class="cardsimple__icon"><img src="/img/features/04-ACID-transactions.svg" alt=""></div><h3 class="cardsimple__title">MVCC Enables Safe Evolution</h3><div class="cardsimple__text">MVCC allows ongoing transactions to complete under old schema versions. New transactions use updated schemas. No transaction failures from schema changes. Version chains support multiple schema versions simultaneously.</div><div class="cardsimple__bottom"><a class="cardsimple__button button button--shadow" href="/features/architectural-foundation">Learn About MVCC</a></div></div><div class="usecasecard cardsimple"><div class="cardsimple__icon"><img src="/img/features/03-distributed-SQL.svg" alt=""></div><h3 class="cardsimple__title">Unified Schema for All APIs</h3><div class="cardsimple__text">SQL, RecordView, and KeyValueView share the same catalog schema. Schema changes apply to all access patterns simultaneously. This unified approach simplifies operations and prevents inconsistencies.</div><div class="cardsimple__bottom"><a class="cardsimple__button button button--shadow" href="/features/sql">Learn About Access Patterns</a></div></div></div></section><section class="native-bottom container"><div class="native-bottom__grid"><article class="nativebotblock"><div class="h4 nativebotblock__title"><img src="/img/features/native-rocket.svg" alt="" class="nativebotblock__icon"><span>Ready to Start?</span></div><p class="nativebotblock__text">Discover our quick start guide and build your first application in 5-10 minutes</p><a class="nativebotblock__link arrowlink" href="/docs/ignite3/3.1.0/getting-started/quick-start" target="_blank" rel="noreferrer">Quick Start Guide</a></article><article class="nativebotblock nativebotblock--learn"><div class="h4 nativebotblock__title"><img src="/img/features/native-docs.svg" alt="" class="nativebotblock__icon"><span>Read Documentation</span></div><p class="nativebotblock__text">Learn about table creation, schema modifications, and catalog operations</p><a class="nativebotblock__link arrowlink" href="/docs/ignite3/3.1.0/develop/work-with-data/table-api" target="_blank" rel="noreferrer">Tables Documentation</a></article></div></section></div><footer class="footer_zvxk"><div class="container footerTop_kHoL"><section class="footer1_gXBV"><a href="/features/" class="footerTitle_QNZB">Features</a><ul class="footerMenu_aBb9"><li><a href="/features/architectural-foundation">Architectural Foundation</a></li><li><a href="/features/storage">Memory-First Storage</a></li><li><a href="/features/acid-transactions">ACID Transactions</a></li><li><a href="/features/sql">Access Patterns</a></li><li><a href="/features/schema-evolution">Schema Evolution</a></li><li><a href="/features/streaming">Backpressured Streaming</a></li><li><a href="/features/data-placement">Schema-Driven Data Placement</a></li><li><a href="/features/compute-apis">Processing Where Data Lives</a></li><li><a href="/features/coordination">Coordination That Scales</a></li><li><a href="/features/tooling">Operations Built In</a></li><li><a href="/features/multilanguage">Multi-Language Support</a></li></ul></section><section class="footer2_UUSM"><a href="/use-cases/" class="footerTitle_QNZB">Use Cases</a><ul class="footerMenu_aBb9"><li><a href="/use-cases/event-stream-processing">Event Stream Processing</a></li><li><a href="/use-cases/microservices-state">Microservices State Management</a></li><li><a href="/use-cases/ai-ml-feature-stores">AI/ML Feature Stores</a></li><li><a href="/use-cases/session-management">Session Management</a></li><li><a href="/use-cases/operational-analytics">Operational Analytics</a></li><li><a href="/use-cases/fast-data-marts">Fast Data Marts</a></li><li><a href="/use-cases/iot-time-series">IoT and Time-Series Data</a></li><li><a href="/use-cases/digital-integration-hub">Digital Integration Hub</a></li><li><a href="/use-cases/high-performance-computing">High-Performance Computing</a></li><li><a href="/use-cases/key-value-store">Key-Value Store</a></li><li><a href="/use-cases/in-memory-database">Database with Memory-First Storage</a></li></ul></section><section class="footer3_JvPG"><a href="/community" class="footerTitle_QNZB">Community</a><a href="/resources" class="footerTitle_QNZB">Resources</a><a href="/events" class="footerTitle_QNZB">Events</a><a href="/blog/" class="footerTitle_QNZB">Blog</a></section><section class="footer4_UOsi"><div class="footer4Item_THtF">Join Our<!-- --> <a href="mailto:dev@ignite.apache.org">Dev Mailing List</a></div><div class="footer4Item_THtF pt-2">Or email the<!-- --> <a href="mailto:user@ignite.apache.org">User Mailing List</a></div><div class="footer4Item_THtF pt-5">Follow Us:</div><div class="footer4Socwrap_gPM5 pt-2"><a href="https://github.com/apache/ignite" target="_blank" rel="noopener noreferrer" class="footer4Soc_Ors5" aria-label="GitHub"><img src="/img/icon-github.svg" alt="GitHub"></a><a href="https://www.linkedin.com/showcase/apache-ignite/" target="_blank" rel="noopener noreferrer" class="footer4Soc_Ors5" aria-label="LinkedIn"><img src="/img/icon-linkedin.svg" alt="LinkedIn"></a><a href="https://twitter.com/apacheignite" target="_blank" rel="noopener noreferrer" class="footer4Soc_Ors5" aria-label="Twitter"><img src="/img/icon-twitter.svg" alt="Twitter"></a><a href="https://www.meetup.com/Apache-Ignite-Virtual-Meetup/" target="_blank" rel="noopener noreferrer" class="footer4Soc_Ors5" aria-label="Meetup"><img src="/img/icon-meetup-black.png" alt="Meetup"></a></div><a href="/docs/ignite3/3.1.0/getting-started/quick-start" class="button footer4Button_aiU8">Start Using Apache Ignite</a></section></div><div class="container footerBot_cgmu"><div style="display:flex;align-items:center;gap:12px"><img src="/img/asf-logo-mark.svg" alt="Apache Software Foundation" style="height:40px;width:auto"><p style="margin:0">© <!-- -->2015<!-- --> - <!-- -->2026<!-- --> <a href="http://www.apache.org/">The Apache Software Foundation</a></p></div><p class="pt1x_QCIC">Apache, Apache Ignite, the Apache oak leaf and the Apache Ignite logo are either registered trademarks or trademarks of The Apache Software Foundation</p><p class="pt1x_QCIC"><a href="http://apache.org/foundation/policies/privacy.html">Privacy Policy</a></p></div></footer><a class="scrollTop" href="#" aria-label="Scroll to top"><svg class="feather feather-chevron-up" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="18 15 12 9 6 15"></polyline></svg></a></div> |
| </body> |
| </html> |