blob: 885154bc7254464ed0c50bc4134309904ac7c53d [file]
<!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">Access Patterns - 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 offers multiple access patterns for the same data: SQL with JDBC drivers, Table API with RecordView and KeyValueView, or native language APIs. All benefit from memory-first architecture and partition-aware routing."><meta data-rh="true" property="og:title" content="Access Patterns - Apache Ignite"><meta data-rh="true" property="og:type" content="article"><meta data-rh="true" property="og:url" content="https://ignite.apache.org/features/sql"><meta data-rh="true" property="og:image" content="/img/og-pic.png"><meta data-rh="true" property="og:description" content="Apache Ignite offers multiple access patterns for the same data: SQL with JDBC drivers, Table API with RecordView and KeyValueView, or native language APIs. All benefit from memory-first architecture and partition-aware routing."><link data-rh="true" rel="icon" href="/img/favicon.png"><link data-rh="true" rel="alternate" href="https://ignite.apache.org/features/sql" hreflang="en"><link data-rh="true" rel="alternate" href="https://ignite.apache.org/features/sql" hreflang="x-default"><link data-rh="true" rel="canonical" href="https://ignite.apache.org/features/sql"><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/03-distributed-SQL.svg"><link rel="preload" as="image" href="/img/features/05-key-value-APIs.svg"><link rel="preload" as="image" href="/img/features/06-compute-APIs.svg"><link rel="preload" as="image" href="/img/features/02-native-persistence.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 &amp; 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 &amp; 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">Your Choice of Access Pattern</h1><div class="innerhero__descr pt-2 h5">SQL, Table API, or native language APIs. All access the same data.</div></div><img class="innerhero__pic innerhero__pic--native" src="/img/features/hero-bg.svg" alt="Access Patterns"></div></section><section class="container pt-5 pb-5"><div class="pt-3 pb-3"><p class="fz20">Apache Ignite provides multiple ways to access data. Use SQL with standard JDBC drivers. Use the Table API with typed RecordView or efficient KeyValueView. Use native language-specific APIs. All approaches access the same underlying data and benefit from memory-first architecture with partition-aware routing.</p></div></section><section class="nativepersistence3 container"><h2 class="h4 pb-3">SQL with Distributed Execution</h2><div class="nativepersistence3__block flexi"><div class="nativepersistence3__left"><h3 class="h5">ANSI SQL Support</h3><p>Apache Ignite implements ANSI SQL with support for DDL (CREATE, ALTER, DROP), DML (SELECT, INSERT, UPDATE, DELETE, MERGE), and complex queries with joins, aggregations, and subqueries. The query planner generates distributed execution plans.</p></div><div class="nativepersistence3__right"><h3 class="h5">Distributed Query Execution</h3><p>Queries execute across cluster nodes in parallel. The planner routes operations to nodes holding relevant partitions. Results stream back through the coordinator. This enables queries against datasets larger than any single node&#x27;s memory.</p></div></div><div class="nativepersistence3__block flexi pt-4"><div class="nativepersistence3__left"><h3 class="h5">Colocated Joins</h3><p>When tables share colocation keys, joins execute locally without data movement. The colocateBy annotation in schema definitions enables this optimization. Colocated joins deliver join performance comparable to single-node databases at distributed scale.</p></div><div class="nativepersistence3__right"><h3 class="h5">JDBC Access</h3><p>Apache Ignite provides standard JDBC drivers. Applications connect using familiar JDBC patterns. The driver implements automatic failover and connection pooling. This enables integration with existing tools and frameworks expecting JDBC connectivity.</p></div></div></section><section class="nativepersistence3 container pt-5 pb-5"><h2 class="h4 pb-3">Table API: Type-Safe Access</h2><div class="nativepersistence3__block flexi"><div class="nativepersistence3__left"><h3 class="h5">RecordView</h3><p>RecordView provides typed access to complete table rows. Methods accept and return objects matching the table schema. The API handles serialization automatically. Use RecordView when working with full records or when type safety matters.</p></div><div class="nativepersistence3__right"><h3 class="h5">KeyValueView</h3><p>KeyValueView separates key and value types for efficient partial updates. Operations specify only the columns involved. This reduces network traffic and serialization overhead. Use KeyValueView for high-throughput scenarios or targeted column updates.</p></div></div><div class="nativepersistence3__block flexi pt-4"><div class="nativepersistence3__left"><h3 class="h5">Partition-Aware Routing</h3><p>The Table API calculates partition ownership from keys. Operations route directly to nodes holding the data. No coordinator overhead. This single-hop access delivers minimal latency for point lookups and targeted updates.</p></div><div class="nativepersistence3__right"><h3 class="h5">Bulk Operations</h3><p>Both RecordView and KeyValueView support batch operations. Methods like getAll, putAll, and deleteAll process multiple keys efficiently. The API groups operations by partition and executes them in parallel across relevant nodes.</p></div></div></section><section class="nativepersistence3 container pt-5 pb-5"><h2 class="h4 pb-3">Native Language APIs</h2><div class="nativepersistence3__block flexi"><div class="nativepersistence3__left"><h3 class="h5">Multi-Language Support</h3><p>Apache Ignite provides native clients for Java, .NET, C++, Python, and other languages. Each client implements the same core APIs with language-specific patterns. Consistent functionality across languages enables polyglot architectures.</p></div><div class="nativepersistence3__right"><h3 class="h5">Protocol Efficiency</h3><p>All clients communicate via an efficient binary protocol. The protocol minimizes serialization overhead and supports request pipelining. Partition awareness works identically across languages. This delivers consistent performance characteristics regardless of client language.</p></div></div><div class="nativepersistence3__block flexi pt-4"><div class="nativepersistence3__left"><h3 class="h5">Transaction Support</h3><p>SQL queries and Table API operations both support transactions. Begin transactions explicitly or use single-statement transactions. Choose isolation levels (REPEATABLE_READ or READ_COMMITTED). All access patterns provide the same transactional guarantees.</p></div><div class="nativepersistence3__right"><h3 class="h5">Async and Reactive APIs</h3><p>The Table API offers asynchronous methods returning CompletableFuture. This enables non-blocking operations for high-concurrency scenarios. Reactive streams support backpressure for controlled data ingestion. Choose synchronous or asynchronous based on application requirements.</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/03-distributed-SQL.svg" alt=""></div><h3 class="cardsimple__title">Operational Analytics</h3><div class="cardsimple__text">Run analytical SQL queries against operational data. Complex aggregations execute in parallel across cluster nodes. MVCC enables analytical queries while transactional updates proceed at full speed. No ETL to separate analytical systems.</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/05-key-value-APIs.svg" alt=""></div><h3 class="cardsimple__title">High-Throughput Applications</h3><div class="cardsimple__text">Use KeyValueView for maximum throughput. Partition-aware routing delivers single-hop access. Batch operations process thousands of keys efficiently. Memory-first architecture provides microsecond-level latency for point operations.</div><div class="cardsimple__bottom"><a class="cardsimple__button button button--shadow" href="/use-cases/high-performance-computing">View Use Case</a></div></div><div class="usecasecard cardsimple"><div class="cardsimple__icon"><img src="/img/features/06-compute-APIs.svg" alt=""></div><h3 class="cardsimple__title">Polyglot Architectures</h3><div class="cardsimple__text">Build systems with multiple languages accessing the same data. Java services use RecordView. Python analytics use SQL. .NET applications use KeyValueView. Consistent APIs and performance across all languages.</div><div class="cardsimple__bottom"><a class="cardsimple__button button button--shadow" href="/use-cases/microservices-state">View Use Case</a></div></div></div></section><section class="container pt-5 pb-5"><h2 class="h4 pb-4">How Access Patterns Connect to the Foundation</h2><div class="cardswrap"><div class="usecasecard cardsimple"><div class="cardsimple__icon"><img src="/img/features/02-native-persistence.svg" alt=""></div><h3 class="cardsimple__title">Memory-First Operations</h3><div class="cardsimple__text">All access patterns execute against in-memory data. SQL queries, Table API operations, and native calls all benefit from memory-resident processing. No cache-miss penalties. No cache-warming strategies needed.</div><div class="cardsimple__bottom"><a class="cardsimple__button button button--shadow" href="/features/storage">Learn About Storage</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 Concurrent Access</h3><div class="cardsimple__text">MVCC allows SQL analytical queries and Table API updates to run simultaneously. Long-running aggregations work on stable snapshots. Transactional updates proceed at full throughput. Readers never block writers.</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/05-key-value-APIs.svg" alt=""></div><h3 class="cardsimple__title">Partition-Aware Routing</h3><div class="cardsimple__text">Table API and SQL both leverage partition awareness. Operations route directly to data owners. Colocated joins execute locally. This delivers minimal latency through single-hop access patterns.</div><div class="cardsimple__bottom"><a href="/docs/ignite3/3.1.0/configure-and-operate/operations/colocation" class="cardsimple__button button button--shadow" target="_blank" rel="noreferrer">Learn About Colocation</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 SQL syntax, Table API methods, and client configuration</p><a class="nativebotblock__link arrowlink" href="/docs/ignite3/3.1.0/api-reference/sql-only-apis/jdbc" target="_blank" rel="noreferrer">SQL and JDBC 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>