Frequently Asked Questions

Product Overview & Purpose

What is FalkorDB and how does it work with Snowflake?

FalkorDB is a high-performance, open-source graph database that can be deployed as a Native App within your Snowflake account. It transforms relational tables into queryable knowledge graphs, enabling advanced relationship analysis and pattern matching directly on Snowflake data—without data movement or new security boundaries. The engine runs inside Snowflake Container Services (SPCS), processes Cypher queries, and manages in-memory graph storage for real-time analytics. [Source]

Why use a graph database for Snowflake data instead of SQL JOINs?

Graph databases like FalkorDB handle relationship traversal and pattern matching natively. Multi-hop queries (e.g., fraud rings, supply chain paths) that require complex recursive CTEs or multiple self-joins in SQL become simple, readable pattern matches in Cypher. This makes relationship-heavy analysis faster, more maintainable, and more expressive. [Source]

What is the primary purpose of FalkorDB?

The primary purpose of FalkorDB is to provide an accurate, multi-tenant graph platform optimized for advanced AI applications, such as GraphRAG for enterprise GenAI. It enables organizations to manage complex, interconnected data in real-time, supporting use cases like fraud detection, identity resolution, and infrastructure dependency mapping. [Source]

Who should use FalkorDB on Snowflake?

FalkorDB on Snowflake is ideal for data engineers, data scientists, analysts, and platform evaluation teams who need to perform relationship-heavy queries, build knowledge graphs, or enable graph-driven features without moving data out of Snowflake or managing separate clusters. [Source]

Features & Capabilities

What are the key features of FalkorDB on Snowflake?

Key features include: native graph engine deployment inside Snowflake via SPCS, secure reference binding for table access, Cypher query support for graph traversal and pattern matching, cost-aware compute pool management, and incremental graph updates with MERGE. Data never leaves your Snowflake account, ensuring compliance and security. [Source]

Does FalkorDB support Cypher queries?

Yes, FalkorDB supports openCypher, allowing users to write expressive graph queries for traversals, pattern matching, and relationship analysis. The syntax is the same as other Cypher-based systems, so no new query language is required. [Source]

How does FalkorDB handle updates to source data?

FalkorDB supports incremental updates using the MERGE command in Cypher, with ON CREATE and ON MATCH directives. This allows you to upsert nodes and relationships without duplicating data or requiring full graph rebuilds. [Source]

What service functions and wrapper procedures are available in FalkorDB on Snowflake?

Core service functions include load_csv_raw() for graph loading, graph_query_raw() for Cypher execution, graph_list_raw() for enumerating graphs, and graph_delete_raw() for removal. Wrapper procedures like load_csv() and graph_query() provide safer ingestion and querying with automatic cleanup and error handling. [Source]

How does FalkorDB manage cost and compute pool lifecycle in Snowflake?

SPCS compute pools, which host FalkorDB, do not auto-suspend when idle—unlike Snowflake warehouses. You must explicitly suspend pools to stop billing. Use ALTER COMPUTE POOL ... SUSPEND after query work and RESUME when needed. For predictable environments, automate suspension with Snowflake Tasks. [Source]

Is FalkorDB open source?

Yes, FalkorDB is open source. The core engine is available on GitHub, and the Snowflake Native App packages this engine for deployment within your Snowflake account. [Source]

What integrations does FalkorDB support?

FalkorDB integrates with frameworks such as Graphiti (by ZEP) for AI agent memory, g.v() for knowledge graph visualization, Cognee for mapping knowledge graphs, LangChain and LlamaIndex for LLM integration, and more. For details, see the integrations page.

Does FalkorDB provide an API and technical documentation?

Yes, FalkorDB provides a comprehensive API and technical documentation, including setup guides, advanced configurations, and API references. Access these resources at docs.falkordb.com.

Use Cases & Benefits

What are the main use cases for FalkorDB on Snowflake?

Main use cases include fraud detection (uncovering multi-hop fraud rings), identity resolution (linking fragmented records by shared attributes), infrastructure and network dependency mapping, and Customer 360 analytics. These scenarios benefit from graph traversal and pattern matching that are difficult or impractical in SQL. [Source]

How does FalkorDB help with fraud detection in Snowflake?

FalkorDB enables direct Cypher queries on Snowflake data to expose hidden fraud networks, such as accounts sharing devices and cycling funds through shell merchants. Multi-hop relationship patterns, which are invisible to SQL, become easily discoverable with graph queries. [Source]

How does FalkorDB support identity resolution and Customer 360 analytics?

FalkorDB allows you to link fragmented records across systems by shared attributes (email, phone, address) using graph traversal. This enables accurate identity resolution and a unified customer view, which is challenging to achieve with SQL joins alone. [Source]

What business impact can customers expect from using FalkorDB?

Customers can expect improved scalability, enhanced trust and reliability, reduced alert fatigue in cybersecurity, faster time-to-market, and support for advanced AI applications. FalkorDB enables organizations to unlock actionable insights from complex data and achieve strategic goals efficiently. [Source]

Can you share specific case studies or customer success stories?

Yes. For example, AdaptX uses FalkorDB to analyze high-dimensional medical data, XR.Voyage overcame scalability challenges in immersive media, and Virtuous AI built a high-performance, multi-modal data store for ethical AI development. See FalkorDB case studies for details.

Which industries are represented in FalkorDB's case studies?

Industries include healthcare (AdaptX), media and entertainment (XR.Voyage), and artificial intelligence/ethical AI development (Virtuous AI). [Source]

Technical Setup & Operations

How do I install and start FalkorDB on Snowflake?

Navigate to the Snowflake Marketplace, search for "FalkorDB," and click Get. The installation creates the app with necessary permissions and roles. Start the service using CALL app_public.start_app() and check status with CALL app_public.get_service_status(). [Source]

How do I bind my Snowflake data to FalkorDB?

Go to Data Products > Apps > FalkorDB, then Security > References. Click + Add next to "Consumer Data Table," select your database, schema, and table, and click Save. This grants FalkorDB scoped read access to your data via Snowflake's permission model. [Source]

How do I load data into a graph in FalkorDB?

Use the CALL app_public.load_csv() procedure to export the bound table to CSV staging, load it into the FalkorDB engine, and clean up temporary files. Use MERGE for safe, duplicate-free upserts, or CREATE for one-time bulk loads. [Source]

How do I run Cypher queries on Snowflake data with FalkorDB?

Use the CALL app_public.graph_query() procedure to execute Cypher queries on your graph. Results are returned as structured data, ready for further processing with standard SQL in Snowflake. [Source]

How do I manage compute pool billing for FalkorDB in Snowflake?

Check pool status with SHOW COMPUTE POOLS. Suspend the pool after query work with ALTER COMPUTE POOL ... SUSPEND to stop charges, and resume with ALTER COMPUTE POOL ... RESUME when needed. Automate suspension with Snowflake Tasks for predictable environments. [Source]

What privileges are required to manage compute pools?

Managing compute pools (SUSPEND, RESUME) requires the OPERATE privilege on the specific pool or the ACCOUNTADMIN role. Application procedures run with app roles (app_admin, app_user) that have limited privileges by design. [Source]

How do I verify which version of FalkorDB is served from the Snowflake Marketplace?

Use SHOW RELEASE DIRECTIVES IN APPLICATION PACKAGE falkordb_app_pkg; to see which version is marked DEFAULT. The marketplace automatically serves the DEFAULT directive, so you don't need to recreate listings for new patches. [Source]

Security & Compliance

How does FalkorDB ensure data security within Snowflake?

FalkorDB runs entirely within your Snowflake account using Snowflake Container Services. Data never leaves your Snowflake environment, and access is controlled via Snowflake's permission model and reference binding system. [Source]

Is FalkorDB SOC 2 Type II compliant?

Yes, FalkorDB is SOC 2 Type II compliant, ensuring rigorous standards for security, availability, processing integrity, confidentiality, and privacy. [Source]

How does FalkorDB handle compliance and regulatory requirements?

FalkorDB's GraphRAG-SDK helps organizations stay ahead of financial regulations by mapping regulations to workflows, identifying compliance gaps, and providing actionable recommendations. This supports adherence to regulatory standards in industries like finance and healthcare. [Source]

Pricing & Plans

What pricing plans are available for FalkorDB?

FalkorDB offers several plans: FREE (for MVPs with community support), STARTUP (from /1GB/month, includes TLS and automated backups), PRO (from 0/8GB/month, includes cluster deployment and high availability), and ENTERPRISE (custom pricing with VPC, custom backups, and 24/7 support). [Source]

What features are included in the PRO plan?

The PRO plan starts at 0/8GB/month and includes advanced features such as cluster deployment, high availability, and enhanced support. [Source]

Is there a free trial or demo available for FalkorDB?

Yes, you can try FalkorDB for free by launching a cloud instance or running it locally via Docker. You can also schedule a demo with the FalkorDB team for a personalized walkthrough. [Source]

Competition & Comparison

How does FalkorDB compare to Neo4j?

FalkorDB offers up to 496x faster latency and 6x better memory efficiency than Neo4j, includes multi-tenancy in all plans, and supports flexible horizontal scaling. It is open source and supports full on-prem deployment. [Source]

How does FalkorDB compare to AWS Neptune?

FalkorDB is open source, supports multi-tenancy, and provides better latency and memory efficiency compared to AWS Neptune. It also supports the Cypher query language and offers highly efficient vector search. [Source]

How does FalkorDB compare to TigerGraph and ArangoDB?

FalkorDB delivers faster latency, more efficient memory usage, and flexible horizontal scaling compared to TigerGraph and ArangoDB. It is rated as fast, supports multi-tenancy, and is open source. [Source]

What are the main competitive advantages of FalkorDB?

FalkorDB's main advantages include exceptional performance (up to 496x faster latency), 6x better memory efficiency, built-in multi-tenancy, advanced AI integration, open-source licensing, and proven success in demanding industries. [Source]

Support & Community

What support and training options are available for FalkorDB?

FalkorDB offers comprehensive documentation, community support via Discord and GitHub Discussions, access to solution architects, and a variety of tutorials and blog posts for onboarding and advanced use. [Source]

How easy is it to start using FalkorDB?

FalkorDB is designed for rapid deployment, allowing teams to go from concept to enterprise-grade solutions in weeks. Users can sign up for FalkorDB Cloud, try it for free, or run it locally via Docker. Extensive documentation and community resources are available for support. [Source]

What feedback have customers given about FalkorDB's ease of use?

Customers like AdaptX and 2Arrows have praised FalkorDB for its rapid access to insights, ease of running complex queries, and user-friendly dashboards. These testimonials highlight its frictionless user experience and high-speed capabilities. [Source]

FalkorDB on Snowflake: Native Graph Database for Snowflake’s AI Data Cloud

FalkorDB on Snowflake Native Graph Database for Cloud Data Warehouses

Highlights

Snowflake-FalkorDB-architectural-diagram

FalkorDB brings graph database capabilities to Snowflake through a Native App that turns relational tables into queryable knowledge graphs while ensuring that data remains managed under Snowflake’s security protocols, subject to the usual operational constraints. This post covers the architecture, how to get running, and the operational details you need for production workloads.

The Underlying Problem

Relational tables store data in rows. But many real queries are about *relationships between* rows: transaction chains, dependency paths, shared attributes across entities, circular references.

SQL handles this with recursive CTEs and self-joins. That works at shallow depth, but becomes unreadable and slow as traversal depth increases. A three-hop relationship query might require a recursive CTE with multiple joins. A six-hop query becomes a maintenance burden that runs for minutes.

Consider a fraud investigation: “Find all accounts within 3 hops of this suspicious transaction, including shared addresses and phone numbers.”

In SQL, this requires a recursive CTE, multiple self-joins across tables, and manual deduplication. The query grows linearly with each relationship type you add. In Cypher:

				
					MATCH (t:Transaction {id: 'TXN-001'})-[:INVOLVES*1..3]-(a:Account)
OPTIONAL MATCH (a)-[:HAS_PHONE|HAS_ADDRESS]-(shared)<-[:HAS_PHONE|HAS_ADDRESS]-(linked:Account)
RETURN DISTINCT a.name, a.phone, linked.name, linked.phone

				
			

This is not a stylistic preference. Graph query languages represent traversals directly. The query structure matches the question structure. That matters when analysts need to iterate on relationship queries daily.

Who This Is For

This fits teams that keep their data platform centered on Snowflake but run into relationship-heavy problems that SQL handles awkwardly.

Operational Querying

Data engineers

For teams maintaining Snowflake pipelines who keep getting asked for relationship queries that turn into brittle recursive CTEs, join explosions, or custom post-processing.

Multi-hop traversals Path analysis Connected components
Exploration & Modeling

Data scientists and analysts

For people exploring network structure, building knowledge graphs for GenAI and RAG, or engineering graph-driven features without spinning up another database or workflow stack.

Network exploration Knowledge graphs Graph features
Platform Evaluation

Teams evaluating graph databases

For organizations that want graph capabilities but do not want a separate cluster, another ETL pipeline moving data out of Snowflake, or a new security boundary to govern.

No separate cluster No extra ETL Same security boundary

Architecture

How It Works

FalkorDB runs inside your Snowflake account through three mechanisms:

Snowflake Container Services (SPCS)

Hosts the FalkorDB engine in an isolated compute pool. The engine processes Cypher queries and manages in-memory graph storage. It does not share compute resources with your warehouse workloads.

Reference Binding

Provides secure access to your tables. The Native App cannot see your data by default. You explicitly bind specific tables through the Snowflake UI, granting scoped read access without manual GRANT statements.

Service Functions

Bridge SQL and Cypher. Wrapper procedures handle CSV staging, data loading, query execution, and resource cleanup.

Data stays within your Snowflake account throughout this flow. No external network calls, no data exports.

Use Cases

These are the problem categories where graph queries provide a structural advantage over SQL:

Use Case: Fraud Detection

Uncover Fraud Rings Inside Snowflake

Your transaction data already lives in Snowflake. With FalkorDB, you can run Cypher graph queries directly on that data - no ETL, no data movement - to expose hidden fraud networks that SQL alone cannot see.

The Scenario: Data Already in Snowflake

A fintech company stores millions of transactions in Snowflake. Their compliance team suspects a fraud ring: multiple accounts sharing devices, funneling money through shell merchants, and cycling funds back to the same beneficiary. Traditional SQL queries with self-joins can catch simple cases, but multi-hop relationship patterns are invisible to relational queries.

TRANSACTIONS
ACCOUNTS
DEVICES
MERCHANTS

The Hidden Fraud Ring

Once loaded into FalkorDB, relationships between accounts, devices, and merchants reveal a cluster of accounts connected through shared devices and circular money flows. Click a node to see its connections highlighted, or drag a node to explore the graph layout.

Money flow
Shared device
Circular flow (fraud signal)

The Investigation: SQL vs. Cypher

Walk through three investigation steps. Each one shows why graph queries inside Snowflake find what SQL cannot.

"Which accounts are using the same physical device?"

Shared devices between unrelated accounts are a classic indicator of synthetic identity fraud or account takeover.

SQL Possible but fragile
SELECT a1.account_id, a2.account_id,
       d.device_fingerprint
FROM devices d
JOIN account_devices ad1
  ON d.device_id = ad1.device_id
JOIN account_devices ad2
  ON d.device_id = ad2.device_id
  AND ad1.account_id < ad2.account_id
JOIN accounts a1
  ON ad1.account_id = a1.account_id
JOIN accounts a2
  ON ad2.account_id = a2.account_id;

4 JOINs, 3 tables, and this only finds direct device sharing (1 hop).

Cypher Natural & readable
MATCH (a1:Account)
      -[:USES]->(d:Device)
      <-[:USES]-(a2:Account)
WHERE a1 <> a2
RETURN a1.name, a2.name,
       d.fingerprint

The query reads like the question. No JOINs, no bridging tables.

Account 1 Account 2 Device
Alice Bob iPhone-7X92
Charlie Dave Android-3K41

Insight: Two pairs of supposedly unrelated accounts share devices. But are they connected to each other? Step 2 reveals the money trail.

Graph Queries, Where Your Data Already Lives

FalkorDB brings Cypher, the most expressive graph query language, directly into Snowflake. No data movement, no external infrastructure. Your compliance team gets answers in seconds instead of days of SQL engineering.

Identity Resolution and Customer 360

Linking fragmented records across systems by shared attributes (email, phone, address) is a graph traversal problem:
				
					MATCH (c1:Customer)-[:HAS_EMAIL]->(e:Email)<-[:HAS_EMAIL]-(c2:Customer)
WHERE c1 <> c2
MERGE (c1)-[:SAME_AS]->(c2)
RETURN c1.source_system, c2.source_system, e.address

				
			

Infrastructure and Network Dependency Mapping

Impact analysis (“what breaks if this service goes down?”) is a directed traversal:

				
					MATCH (s:Service {name: 'auth-service'})<-[:DEPENDS_ON*1..5]-(downstream)
RETURN downstream.name, downstream.criticality
ORDER BY downstream.criticality DESC

				
			

Navigate to the Snowflake Marketplace, search for “FalkorDB,” and click **Get**. The installation creates the app with necessary permissions and roles.

Start the Service

-- Start service (creates compute pool and warehouse) CALL app_public.start_app('falkordb_pool', 'falkordb_wh'); -- Check service status CALL app_public.get_service_status();

Wait for status READY (typically 2–3 minutes).

Bind Your Data

  1. Navigate to Data Products > Apps > FalkorDB
  2. Go to Security > References
  3. Click + Add next to "Consumer Data Table"
  4. Select your database, schema, and table
  5. Click Save

FalkorDB can now access the bound table through Snowflake's permission model.

Load Data into a Graph

-- Load customer data (MERGE prevents duplicates on reload) CALL app_public.load_csv( 'customer_graph', 'LOAD CSV FROM ''file://consumer_data.csv'' AS row MERGE (c:Customer {id: row[0]}) ON CREATE SET c.name = row[1], c.email = row[2], c.city = row[3] ON MATCH SET c.name = row[1], c.email = row[2], c.city = row[3]' );

The procedure exports the bound table to CSV staging, passes it to the FalkorDB engine via service function, and cleans up temporary files. Access columns by index: row[0], row[1], etc. (0-indexed).

MERGE vs CREATE

Use MERGE to safely reload data without duplicates. MERGE matches existing nodes by key property (e.g., id) and updates them, or creates new ones if they don't exist. Use CREATE only for one-time bulk loads where duplicates are not a concern.

The procedure exports the bound table to CSV staging, passes it to the FalkorDB engine via service function, and cleans up temporary files. Access columns by index: `row[0]`, `row[1]`, etc. (0-indexed).

**MERGE vs CREATE:** Use `MERGE` to safely reload data without duplicates. MERGE matches existing nodes by key property (e.g., `id`) and updates them, or creates new ones if they don’t exist. Use `CREATE` only for one-time bulk loads where duplicates are not a concern.

Querying and Updates

Query the Graph

Run Cypher through Snowflake wrapper procedures, return structured result sets, and keep the graph current with incremental MERGE updates instead of full rebuilds.

Read Path

Run a Cypher query from SQL

graph_query
CALL app_public.graph_query('customer_graph',
  'MATCH (c:Customer {city: ''New York''})' ||
  ' RETURN c.name, c.email'
);

Graph queries return structured data that you can process further in Snowflake using standard SQL.

Structured output ready for joins, filters, and downstream SQL

Write Path

Apply incremental updates with MERGE

load_csv
CALL app_public.load_csv(
  'customer_graph',
  'LOAD CSV FROM ''file://consumer_data.csv'' AS row
   MERGE (c:Customer {id: row[0]})
   ON CREATE SET c.name = row[1], c.city = row[2], c.created = timestamp()
   ON MATCH SET c.name = row[1], c.city = row[2], c.updated = timestamp()'
);
Key

MERGE matches nodes by key property, id in this example.

Exists

If the node already exists, ON MATCH updates the changed fields.

Missing

If not, ON CREATE inserts a new node without duplicating prior graph state.

This supports continuous data pipelines without duplicates or full graph rebuilds.

Operations

Compute Pool Lifecycle and Cost Management

SPCS compute pools charge differently than warehouses. This becomes operationally important in production because idle pools keep billing until you suspend them explicitly.

The Key Difference

Warehouses auto-suspend. Compute pools do not.

Billing behavior
Behavior differences between Snowflake warehouses and SPCS compute pools
Behavior Snowflake Warehouse SPCS Compute Pool
Auto-suspend on idle Yes, configurable No
Billing when idle Stops after auto-suspend Continues until explicitly suspended
Resume Automatic on query Manual or via start_app
Operational takeaway

A warehouse naturally stops costing money after inactivity. A compute pool stays ACTIVE until you suspend it, even if nobody is querying FalkorDB.

Managing Pool Lifecycle

Check status, suspend to stop charges, resume when needed

SQL commands
-- Check current pool status
SHOW COMPUTE POOLS;

-- Suspend when not in use (stops charges)
ALTER COMPUTE POOL falkordb_pool SUSPEND;

-- Resume when needed
ALTER COMPUTE POOL falkordb_pool RESUME;
1

Use SHOW COMPUTE POOLS to confirm whether the pool is still active.

2

Suspend the pool after query work is finished so billing stops immediately.

3

Resume manually before use, or let your app workflow invoke start_app.

Technical Reference

Service Functions & Wrapper Procedures

Core endpoints for raw graph operations plus the wrappers that make ingestion and querying safer inside Snowflake.

Functions

Service Functions

Function Purpose
load_csv_raw() Graph loading endpoint
graph_query_raw() Cypher query execution
graph_list_raw() Enumerate graphs
graph_delete_raw() Graph removal
load_csv_raw()

Graph loading endpoint

graph_query_raw()

Cypher query execution

graph_list_raw()

Enumerate graphs

graph_delete_raw()

Graph removal

Procedures

Wrapper Procedures

Procedure Purpose
load_csv() JavaScript wrapper handling CSV export/import with automatic cleanup
graph_query() SQL wrapper for Cypher queries with error handling
load_csv()

JavaScript wrapper handling CSV export/import with automatic cleanup

graph_query()

SQL wrapper for Cypher queries with error handling

Why FalkorDB

FalkorDB’s engine is built on GraphBLAS, a linear algebra framework that represents graph operations as sparse matrix computations. This architectural choice matters because it maps graph traversals to optimized matrix operations rather than pointer-chasing, which improves cache behavior and computational throughput on modern hardware.

FalkorDB uses openCypher. If you have written Cypher queries before, the syntax is the same. No new query language to learn.

FalkorDB is open source. The core engine is on GitHub. The Snowflake Native App packages this engine for deployment within your Snowflake account.

Knowledge Base

Frequently Asked Questions