<!-- CANARY: REQ=REQ-DOCS-001; FEATURE="Docs"; ASPECT=Documentation; STATUS=TESTED; OWNER=docs; UPDATED=2026-01-15 --> <h2 id="geode-guides" class="position-relative d-flex align-items-center group"> <span>Geode Guides</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="geode-guides" aria-haspopup="dialog" aria-label="Share link: Geode Guides"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h2><div id="headingShareModal" class="heading-share-modal" role="dialog" aria-modal="true" aria-labelledby="headingShareTitle" hidden> <div class="hsm-dialog" role="document"> <div class="hsm-header"> <h2 id="headingShareTitle" class="h6 mb-0 fw-bold">Share this section</h2> <button type="button" class="hsm-close" aria-label="Close"> <i class="fa-solid fa-xmark"></i> </button> </div> <div class="hsm-body"> <label for="headingShareInput" class="form-label small text-muted mb-1 text-uppercase fw-bold" style="font-size: 0.7rem; letter-spacing: 0.5px;">Permalink</label> <div class="input-group mb-4 hsm-url-group"> <input id="headingShareInput" type="text" class="form-control font-monospace" readonly aria-readonly="true" style="font-size: 0.85rem;" /> <button class="btn btn-primary hsm-copy" type="button" aria-label="Copy" title="Copy"> <i class="fa-duotone fa-clipboard" aria-hidden="true"></i> </button> </div> <div class="small fw-bold mb-2 text-muted text-uppercase" style="font-size: 0.7rem; letter-spacing: 0.5px;">Share via</div> <div class="hsm-share-grid"> <a id="share-twitter" class="btn btn-outline-secondary w-100" target="_blank" rel="noopener noreferrer"> <i class="fa-brands fa-twitter me-2"></i>Twitter </a> <a id="share-linkedin" class="btn btn-outline-secondary w-100" target="_blank" rel="noopener noreferrer"> <i class="fa-brands fa-linkedin me-2"></i>LinkedIn </a> <a id="share-facebook" class="btn btn-outline-secondary w-100" target="_blank" rel="noopener noreferrer"> <i class="fa-brands fa-facebook me-2"></i>Facebook </a> </div> </div> </div> </div> <style> .heading-share-modal { position: fixed; inset: 0; display: flex; justify-content: center; align-items: center; background: rgba(0, 0, 0, 0.6); z-index: 1050; padding: 1rem; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); } .heading-share-modal[hidden] { display: none !important; } .hsm-dialog { max-width: 420px; width: 100%; background: var(--bs-body-bg, #fff); color: var(--bs-body-color, #212529); border: 1px solid var(--bs-border-color, rgba(0,0,0,0.1)); border-radius: 1rem; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); overflow: hidden; animation: hsm-fade-in 0.2s ease-out; } @keyframes hsm-fade-in { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } } [data-bs-theme="dark"] .hsm-dialog { background: #1e293b; border-color: rgba(255,255,255,0.1); color: #f8f9fa; } .hsm-header { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.5rem; border-bottom: 1px solid var(--bs-border-color, rgba(0,0,0,0.1)); background: rgba(0,0,0,0.02); } [data-bs-theme="dark"] .hsm-header { background: rgba(255,255,255,0.02); border-color: rgba(255,255,255,0.1); } .hsm-close { background: transparent; border: none; color: inherit; opacity: 0.5; padding: 0.25rem 0.5rem; border-radius: 0.25rem; font-size: 1.2rem; line-height: 1; transition: opacity 0.2s; } .hsm-close:hover { opacity: 1; } .hsm-body { padding: 1.5rem; } .hsm-url-group { display: flex !important; align-items: stretch; } .hsm-url-group .form-control { flex: 1; min-width: 0; margin: 0; background: var(--bs-secondary-bg, #f8f9fa); border-color: var(--bs-border-color, #dee2e6); border-top-right-radius: 0; border-bottom-right-radius: 0; height: 42px; } .hsm-url-group .btn { flex: 0 0 auto; margin: 0; margin-left: -1px; border-top-left-radius: 0; border-bottom-left-radius: 0; height: 42px; display: flex; align-items: center; justify-content: center; padding: 0 1.25rem; z-index: 2; } [data-bs-theme="dark"] .hsm-url-group .form-control { background: #0f172a; border-color: #334155; color: #e2e8f0; } .hsm-share-grid { display: flex; flex-direction: column; gap: 0.5rem; } .hsm-share-grid .btn { display: flex; align-items: center; justify-content: center; font-size: 0.9rem; padding: 0.6rem; border-color: var(--bs-border-color); width: 100%; } [data-bs-theme="dark"] .hsm-share-grid .btn { color: #e2e8f0; border-color: #475569; } [data-bs-theme="dark"] .hsm-share-grid .btn:hover { background: #334155; border-color: #cbd5e1; } </style> <script> (function(){ const modal = document.getElementById('headingShareModal'); if(!modal) return; const input = modal.querySelector('#headingShareInput'); const copyBtn = modal.querySelector('.hsm-copy'); const twitter = modal.querySelector('#share-twitter'); const linkedin = modal.querySelector('#share-linkedin'); const facebook = modal.querySelector('#share-facebook'); const closeBtn = modal.querySelector('.hsm-close'); let lastFocus=null; let trapBound=false; function buildUrl(id){ return window.location.origin + window.location.pathname + '#' + id; } function isOpen(){ return !modal.hasAttribute('hidden'); } function hydrate(id){ const url=buildUrl(id); input.value=url; const enc=encodeURIComponent(url); const text=encodeURIComponent(document.title); if(twitter) twitter.href=`https://twitter.com/intent/tweet?url=${enc}&text=${text}`; if(linkedin) linkedin.href=`https://www.linkedin.com/sharing/share-offsite/?url=${enc}`; if(facebook) facebook.href=`https://www.facebook.com/sharer/sharer.php?u=${enc}`; } function openModal(id){ lastFocus=document.activeElement; hydrate(id); if(!isOpen()){ modal.removeAttribute('hidden'); } requestAnimationFrame(()=>{ input.focus(); }); trapFocus(); } function closeModal(){ if(!isOpen()) return; modal.setAttribute('hidden',''); if(lastFocus && typeof lastFocus.focus==='function') lastFocus.focus(); } function copyCurrent(){ try{ navigator.clipboard.writeText(input.value).then(()=>feedback(true),()=>fallback()); } catch(e){ fallback(); } } function fallback(){ input.select(); try{ document.execCommand('copy'); feedback(true);}catch(e){ feedback(false);} } function feedback(ok){ if(!copyBtn) return; const icon=copyBtn.querySelector('i'); if(!icon) return; const prev=copyBtn.getAttribute('data-prev')||icon.className; if(!copyBtn.getAttribute('data-prev')) copyBtn.setAttribute('data-prev',prev); icon.className= ok ? 'fa-duotone fa-clipboard-check':'fa-duotone fa-circle-exclamation'; setTimeout(()=>{ icon.className=prev; },1800); } function handleShareClick(e){ e.preventDefault(); const btn=e.currentTarget; const id=btn.getAttribute('data-share-target'); if(id) openModal(id); } function bindShareButtons(){ document.querySelectorAll('.h-share').forEach(btn=>{ if(!btn.dataset.hShareBound){ btn.addEventListener('click', handleShareClick); btn.dataset.hShareBound='1'; } }); } bindShareButtons(); if(document.readyState==='loading'){ document.addEventListener('DOMContentLoaded', bindShareButtons); } else { requestAnimationFrame(bindShareButtons); } document.addEventListener('click', function(e){ const shareBtn=e.target.closest && e.target.closest('.h-share'); if(shareBtn && !shareBtn.dataset.hShareBound){ handleShareClick.call(shareBtn, e); } }, true); document.addEventListener('click', e=>{ if(e.target===modal) closeModal(); if(e.target.closest && e.target.closest('.hsm-close')){ e.preventDefault(); closeModal(); } if(copyBtn && (e.target===copyBtn || (e.target.closest && e.target.closest('.hsm-copy')))) { e.preventDefault(); copyCurrent(); } }); document.addEventListener('keydown', e=>{ if(e.key==='Escape' && isOpen()) closeModal(); }); function trapFocus(){ if(trapBound) return; trapBound=true; modal.addEventListener('keydown', f=>{ if(f.key==='Tab' && isOpen()){ const focusable=[...modal.querySelectorAll('a[href],button,input,textarea,select,[tabindex]:not([tabindex="-1"])')].filter(el=>!el.hasAttribute('disabled')); if(!focusable.length) return; const first=focusable[0]; const last=focusable[focusable.length-1]; if(f.shiftKey && document.activeElement===first){ f.preventDefault(); last.focus(); } else if(!f.shiftKey && document.activeElement===last){ f.preventDefault(); first.focus(); } } }); } if(closeBtn) closeBtn.addEventListener('click', e=>{ e.preventDefault(); closeModal(); }); })(); </script><p>Comprehensive guides to help you get the most out of Geode. Learn best practices, design patterns, and real-world solutions.</p> <h3 id="getting-started" class="position-relative d-flex align-items-center group"> <span>Getting Started</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="getting-started" aria-haspopup="dialog" aria-label="Share link: Getting Started"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><ul> <li><a href="/guides/quick-start/" >Quick Start Guide</a> - Get up and running in 5 minutes</li> <li><a href="/guides/installation/" >Installation Guide</a> - Detailed installation instructions</li> <li><a href="/guides/first-application/" >First Application</a> - Build your first Geode application</li> </ul> <h3 id="schema-design" class="position-relative d-flex align-items-center group"> <span>Schema Design</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="schema-design" aria-haspopup="dialog" aria-label="Share link: Schema Design"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><ul> <li><a href="/guides/graph-modeling/" >Graph Modeling</a> - Design effective graph schemas</li> <li><a href="/guides/constraints-indexes/" >Constraints and Indexes</a> - Optimize query performance</li> <li><a href="/guides/schema-migration/" >Schema Migration</a> - Evolve your schema over time</li> </ul> <h3 id="query-optimization" class="position-relative d-flex align-items-center group"> <span>Query Optimization</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="query-optimization" aria-haspopup="dialog" aria-label="Share link: Query Optimization"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><ul> <li><a href="/guides/query-performance/" >Query Performance</a> - Write efficient queries</li> <li><a href="/guides/index-strategy/" >Index Strategy</a> - Choose the right indexes</li> <li><a href="/guides/query-profiling/" >Query Profiling</a> - Analyze and optimize queries</li> </ul> <h3 id="data-management" class="position-relative d-flex align-items-center group"> <span>Data Management</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="data-management" aria-haspopup="dialog" aria-label="Share link: Data Management"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><ul> <li><a href="/guides/data-import/" >Data Import</a> - Import data from CSV, JSON, SQL</li> <li><a href="/guides/data-export/" >Data Export</a> - Export data to various formats</li> <li><a href="/guides/backup-restore/" >Backup and Restore</a> - Protect your data</li> </ul> <h3 id="development" class="position-relative d-flex align-items-center group"> <span>Development</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="development" aria-haspopup="dialog" aria-label="Share link: Development"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><ul> <li><a href="/guides/testing/" >Testing Strategies</a> - Test your Geode applications</li> <li><a href="/guides/error-handling/" >Error Handling</a> - Handle errors gracefully</li> <li><a href="/guides/transactions/" >Transaction Management</a> - Use transactions effectively</li> </ul> <h3 id="deployment" class="position-relative d-flex align-items-center group"> <span>Deployment</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="deployment" aria-haspopup="dialog" aria-label="Share link: Deployment"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><ul> <li><a href="/guides/production-deployment/" >Production Deployment</a> - Deploy to production</li> <li><a href="/guides/high-availability/" >High Availability</a> - Set up HA clusters</li> <li><a href="/guides/monitoring/" >Monitoring</a> - Monitor your Geode instances</li> </ul> <h3 id="use-cases" class="position-relative d-flex align-items-center group"> <span>Use Cases</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="use-cases" aria-haspopup="dialog" aria-label="Share link: Use Cases"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><ul> <li><a href="/guides/social-network/" >Social Network</a> - Build a social network graph</li> <li><a href="/guides/recommendations/" >Recommendation Engine</a> - Create personalized recommendations</li> <li><a href="/guides/knowledge-graph/" >Knowledge Graph</a> - Build a knowledge graph</li> <li><a href="/guides/fraud-detection/" >Fraud Detection</a> - Detect fraudulent patterns</li> </ul> <h3 id="migration" class="position-relative d-flex align-items-center group"> <span>Migration</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="migration" aria-haspopup="dialog" aria-label="Share link: Migration"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><ul> <li><a href="/guides/migration-neo4j/" >From Neo4j</a> - Migrate from Neo4j to Geode</li> <li><a href="/guides/migration-postgresql/" >From PostgreSQL</a> - Migrate from relational databases</li> <li><a href="/guides/migration-mongodb/" >From MongoDB</a> - Migrate from document databases</li> </ul>

Available Guides

Quick Start Guide

Get started with Geode in 5 minutes

11 min read

Installation Guide

Complete guide for installing Geode and client libraries on all platforms

10 min read

Building Your First Application

Step-by-step guide to building your first Geode graph database application

41 min read

Graph Modeling Guide

Best practices for designing effective graph schemas in Geode

7 min read

Constraints and Indexes Guide

Create and manage constraints and indexes for data integrity and query performance in Geode

17 min read

Schema Migration Guide

Plan and execute schema migrations in Geode with zero downtime strategies

20 min read

Query Performance Guide

Optimize your GQL queries for maximum performance in Geode

9 min read

Index Strategy Guide

Design effective indexing strategies for optimal Geode query performance

10 min read

Query Profiling Guide

Analyze and optimize GQL queries using EXPLAIN and PROFILE in Geode

12 min read

Data Import Guide

Comprehensive guide to importing data into Geode from various sources

20 min read

Data Export Guide

Comprehensive guide to exporting data from Geode to various formats

18 min read

Backup and Restore Guide

Comprehensive guide to backing up and restoring Geode databases

18 min read

Testing Strategies Guide

Comprehensive guide to testing Geode applications with unit tests, integration tests, and performance testing

37 min read

Error Handling Guide

Comprehensive guide to handling errors in Geode applications including error codes, retry strategies, and best practices

31 min read

Transaction Management Guide

Comprehensive guide to managing transactions in Geode including ACID guarantees, isolation levels, savepoints, and concurrency control

42 min read

Production Deployment Guide

Complete guide to deploying Geode in production environments

13 min read

High Availability Guide

Configure Geode for high availability with replication, failover, and disaster recovery

12 min read

Monitoring Guide

Monitor Geode with built-in metrics, Prometheus, Grafana, and alerting

16 min read

Social Network Guide

Build a scalable social network with Geode - users, posts, comments, likes, and friend recommendations

27 min read

Recommendation Engine Guide

Build powerful recommendation systems with Geode using collaborative filtering, content-based, and graph-based approaches

19 min read

Knowledge Graph Guide

Build and query knowledge graphs with Geode - ontology design, entity modeling, inference, and NLP integration

20 min read

Fraud Detection Guide

Detect fraudulent patterns and anomalies using Geode's graph analysis capabilities

23 min read

Migrating from Neo4j to Geode

Complete guide to migrating from Neo4j to Geode, including Cypher to GQL translation, data export, and driver migration

14 min read

Migrating from PostgreSQL to Geode

Complete guide to migrating from PostgreSQL to Geode, including relational to graph model conversion, ETL pipelines, and incremental migration strategies

19 min read

Migrating from MongoDB to Geode

Complete guide to migrating from MongoDB to Geode, including document to graph conversion, embedded documents to relationships, and query translation

19 min read