# SingleStore

## Supported Capabilities

{% tabs %}
{% tab title="Supported Capabilities" %}
**General**

* **Metadata** — metadata extraction and display of asset information (tables, columns, schemas). Types collected: Schema, Table, Column
* **Profiling** — data profiling on the Profiler tab
* **Preview** — sample data preview
* **Data Quality** — data quality monitoring and observability

**Data Quality Monitors**

* Freshness
* Volume
* Field Health
* Custom SQL
* Schema Drift

**Lineage**

* **Foreign Key Lineage** — tracks relationships between tables via primary and foreign keys
  {% endtab %}

{% tab title="Not Supported" %}
**General**

* Configurable Collection
* External Table
* View Table
* Stored Procedure

**Data Quality Monitors**

* Job Failure

**Lineage**

* View Table Lineage
* External Table Lineage
* SQL Query Lineage
* Stored Procedure Lineage
  {% endtab %}
  {% endtabs %}

## Connection Requirements

Connecting to decube is as easy as providing us with credentials to your SingleStore database. At a minimum, we require

* `Username`
* `Password`
* `Host Address`
* `Host Port`
* `Database`

<figure><img src="https://1779874722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTw0qpCVzfrIXqS4FEg4T%2Fuploads%2Fgit-blob-efbcb01c093dd2ce556a8707117d847fdfc58982%2Fimage.png?alt=media" alt=""><figcaption><p>SingleStore</p></figcaption></figure>

The `source name` will be for you to differentiate and recognize particular sources within the decube application.

We strongly encourage you to create a decube **read-only** user for this credential purpose, which you can follow [here](#custom-user-for-decube).

### **Security Concerns**

You may need to configure your SingleStore database to [whitelist our IP](https://docs.decube.io/how-to-connect-data-sources/enabling-vpc-access/ip-whitelisting). You can do so under the Workspace > Firewall

### **Custom User for decube**

A custom user would allow for a granular configuration of the user on your database and your connection to decube.

1. Create the user, and change `host` and `password` accordingly.

```bash
CREATE USER 'decube' IDENTIFIED BY '<password>';
```

1. Grant access to the decube user.

```bash
GRANT SELECT ON <database>.* TO 'decube'@'%';
```
