> For the complete documentation index, see [llms.txt](https://docs.bdb.ai/data-pipeline/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bdb.ai/data-pipeline/~/changes/hPXwcPgG9oW1n2fHDeOk/components/readers/db-reader.md).

# DB Reader

The DB reader is a spark-based reader which gives you capability to read data from multiple database sources.

All component configurations are classified broadly into the following sections:

* ​[Basic ](https://docs.bdb.ai/7.6/data-pipeline/components/component-base-configuration)​
* Metadata
* ​[Resource Configuration](https://docs.bdb.ai/7.6/data-pipeline/components/resource-configuration)​
* ​[Connection Validation](https://docs.bdb.ai/7.6/data-pipeline/components/connection-validation)​

{% hint style="info" %}
Please follow the steps given in the demonstration to configure the RDBMS Reader component.
{% endhint %}

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuq3RSHHup7fjHYaspk7y%2Fuploads%2Fx5kj37RvptkEFR2f0jp9%2Fdb_reader_AdobeExpress.mp4?alt=media&token=b5a7e2c9-ca15-4e0b-b0c3-6134e3d69d01>" %}
DB Reader Configuration in a Pipeline Workflow
{% endembed %}

**Drivers Available:**

* MySQL
* Oracle
* PostgreSQL
* MS-SQL
* ClickHouse
* Snowflake

{% hint style="info" %}
*<mark style="color:green;">Please Note:</mark>*&#x20;

* *The ClickHouse driver in the Spark components will use HTTP Port and not the TCP port.*

* In the case of data from multiple tables (join queries), one can write the join query directly without specifying multiple tables, as only one among table and query fields is required.
  {% endhint %}

* **Fetch Size:** Provide the maximum number of records to be processed in one execution cycle.

* **Create Partition**: This is used for performance enhancement. It's going to create the sequence of indexing.
  * **Auto Increment**: The number of partitions will be incremented automatically.
  * **Index**: The number of partitions will be incremented based on the specified Partition column.

* **Partition Column**: specify a unique column name, whose value is a number.​

{% hint style="success" %}
*Check out the given demonstration of the DB Reader component with the Snowflake driver.*&#x20;
{% endhint %}

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuq3RSHHup7fjHYaspk7y%2Fuploads%2Fo1WMJb253Ln4GIazcE5v%2FsnowflakeUpdated.mp4?alt=media&token=3d7cee63-6537-4caa-8efd-335fb50d4a7d>" %}
