> For the complete documentation index, see [llms.txt](https://docs.qyrus.com/data-testing/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.qyrus.com/data-testing/nosql-databases/index.md).

# NoSQL Connectors

> Work with modern, flexible NoSQL databases for document-oriented and multi-model data validation.

## Overview

NoSQL databases provide flexible schemas and distributed architectures ideal for modern applications. Data Testing supports leading NoSQL platforms for comprehensive data validation and comparison workflows.

{% hint style="info" %}
NoSQL connectors support native query languages, document filtering, and advanced aggregation capabilities for flexible validation.
{% endhint %}

***

## Available NoSQL Connectors

{% tabs %}
{% tab title="⭐ Multi-Model Databases (Official)" %}
**Unified multi-model data platforms with official Qyrus support:**

{% hint style="success" %}
**✅ Official Integration** - SurrealDB is the officially supported multi-model database connector for Qyrus Data Testing, providing comprehensive features for complex data validation workflows.
{% endhint %}

| Connector     | Type        | Best For                            |
| ------------- | ----------- | ----------------------------------- |
| **SurrealDB** | Multi-Model | Complex, multi-type data validation |

Perfect for:

* ✅ Document, graph, and relational data
* ✅ Real-time applications
* ✅ Time-series and geospatial data
* ✅ Full-text and vector search validation

[SurrealDB Connector →](/data-testing/nosql-databases/index/surreal.md)
{% endtab %}

{% tab title="Document Databases" %}
**Document-oriented database platforms:**

| Connector   | Type              | Best For                      |
| ----------- | ----------------- | ----------------------------- |
| **MongoDB** | Document Database | JSON/BSON document validation |

Perfect for:

* ✅ Document-based data structures
* ✅ Flexible schema validation
* ✅ Complex nested document comparisons

[MongoDB Connector →](/data-testing/nosql-databases/index/mongodb.md)
{% endtab %}
{% endtabs %}

***

## Common NoSQL Configuration

### Connection Parameters

| Parameter          | Description                                  | Required    |
| ------------------ | -------------------------------------------- | ----------- |
| **Host**           | Database server address or connection string | ✅ Yes       |
| **Port**           | Database service port                        | ✅ Yes       |
| **Database Name**  | Specific database/catalog                    | ✅ Yes       |
| **Authentication** | Username/Password or connection credentials  | ⚠️ Optional |

### Query Configuration

NoSQL databases use their native query languages:

* **MongoDB**: Uses MongoDB Query Language (MQL)
* **SurrealDB**: Uses SurrealQL
* **Aggregation Pipelines**: Supported for complex transformations

***

## MongoDB Guide

Document-based database with BSON format:

{% hint style="info" %}
MongoDB is ideal for:

* Semi-structured data
* Document comparisons
* Array and object validation
* Flexible schema evolution
  {% endhint %}

[**View MongoDB Connector Documentation →**](/data-testing/nosql-databases/index/mongodb.md)

***

## SurrealDB Guide

**⭐ Official Integration** - Multi-model database with SQL-like querying:

{% hint style="success" %}
SurrealDB is Qyrus Data Testing's officially supported multi-model connector, ideal for:

* Multiple data types in one system
* Graph relationships
* Time-series data
* Real-time applications
* Complex multi-type data validation workflows
  {% endhint %}

[**View SurrealDB Connector Documentation →**](/data-testing/nosql-databases/index/surreal.md)

***

## 🔐 Security Best Practices

{% hint style="warning" %}
**Security Recommendations:**

1. ✅ Use authentication on all instances
2. ✅ Implement network access controls
3. ✅ Use TLS/SSL for all connections
4. ✅ Create dedicated read-only validation users
5. ✅ Rotate credentials regularly
6. ✅ Enable audit logging
7. ✅ Restrict access by IP/network
   {% endhint %}

***

## Performance Optimization

| Optimization                         | Benefit                    | Impact |
| ------------------------------------ | -------------------------- | ------ |
| **Create indexes** on queried fields | Faster query execution     | High   |
| **Use aggregation pipelines**        | Filter data early          | High   |
| **Limit result sets**                | Reduce memory usage        | High   |
| **Batch processing**                 | Enable parallel validation | Medium |
| **Connection pooling**               | Efficient resource usage   | Medium |

***

## Choosing Between MongoDB and SurrealDB

| Aspect                     | MongoDB             | **⭐ SurrealDB (Official)** |
| -------------------------- | ------------------- | -------------------------- |
| **Data Model**             | Document-oriented   | Multi-model                |
| **Query Language**         | MQL/Aggregation     | SurrealQL/SQL              |
| **Schema Flexibility**     | Semi-structured     | Highly flexible            |
| **Relationships**          | Embedded/References | Native graph support       |
| **Time-Series**            | ⚠️ Limited          | ✅ Native support           |
| **Geospatial**             | ✅ Advanced          | ✅ Advanced                 |
| **Real-time**              | WebSocket support   | Built-in real-time         |
| **Qyrus Official Support** | ℹ️ Community        | ✅ **Officially Supported** |

***

## 🚀 Quick Start

1. **Choose your NoSQL platform** (MongoDB or SurrealDB)
2. **Gather connection details** from your database administrator
3. **Configure the connector** in your Data Testing job
4. **Write a query** using the platform's query language
5. **Test the connection** before creating validation jobs
6. **Create Compare or Evaluate jobs** for data validation

***

## Related Documentation

* [MongoDB Connector](/data-testing/nosql-databases/index/mongodb.md)
* [SurrealDB Connector](/data-testing/nosql-databases/index/surreal.md)
* [Data Source Overview](/data-testing/data-sources/index.md)
* [Create Compare Job](/data-testing/jobs-and-workflows/index/compare-job.md)
* [Create Evaluate Job](/data-testing/jobs-and-workflows/index/evaluate-job.md)
