Couchbase
Note: This driver is available in Lite, Enterprise, Ultimate and Team editions only.
Table of contents
Overview
This guide provides instructions on how to set up and use Couchbase with DBeaver.
Before you start, you must create a connection in DBeaver and select Couchbase
. If you have not done this, please refer to
our Database Connection article.
DBeaver interacts with the Couchbase server using a specific driver. It supports all versions of Couchbase, but the correct
driver must be selected: use Couchbase
for versions 4.x and earlier, and Couchbase 5+
for version 5
and later.
Couchbase specialty
Couchbase is a NoSQL database that diverges from traditional relational databases by storing data in JSON documents instead of tables. It employs N1QL, an SQL-like language specifically designed for querying JSON. In Couchbase, the concept typically known as databases in traditional systems is represented as Buckets. Unlike relational databases, Couchbase does not support some common features, such as triggers, stored procedures, views, complex joins, and the constructs of primary and foreign keys. For a more comprehensive understanding of Couchbase, please refer to the official documentation.
DBeaver that are compatible with Couchbase.
Setting Up
This section provides an overview of DBeaver's settings for establishing a direct connection and the configuration of secure connections using SSH, SSL, proxies, and Kubernetes.
Couchbase connection configuration
Couchbase version 4 and below
In this subsection, we will outline the settings for establishing a direct connection to a Couchbase version 4 and below database using DBeaver.
The page of the connection settings requires you to fill in specific fields to establish the initial connection.
Field | Description |
---|---|
Node | Specify the node in the Couchbase cluster to connect to. |
Bucket | Enter the name of the specific bucket within the Couchbase database to access. |
Port | Enter the port number for your Couchbase database. The default Couchbase port is 8091 . |
Authentication | Choose the type of authentication you want to use for the connection. For detailed guides on authentication types, please refer to the following articles: - Native Database Authentication - DBeaver Profile Authentication You can also read about security in DBeaver PRO. |
Connection Details | Provide additional connection details if necessary. |
Driver Name | This field will be auto-filled based on your selected driver type. |
Driver Settings | Specify additional driver settings, such as Timeouts and SSL properties. |
Couchbase version 5 and above
The connection settings for these versions are similar to those for version 4 and below, with the notable exception that the Bucket setting is not used.
Connection details
The Connection Details section in DBeaver allows you to customize your experience while working with Couchbase database. This includes options for adjusting the Navigator View, setting up Security measures, applying Filters, configuring Connection Initialization settings, and setting up Shell Commands. Each of these settings can significantly impact your database operations and workflow. For detailed guides on these settings, please refer to the following articles:
- Connection Details Configuration
- Database Navigator
- Security Settings Guide
- Filters Settings Guide
- Connection Initialization Settings Guide
- Shell Commands Guide
Couchbase driver properties
Couchbase is a NoSQL database system integrated into DBeaver through its API. While configuring connections to Couchbase in DBeaver, there are specific custom properties available, such as Timeouts and SSL settings.
Property | Description |
---|---|
Analytics Timeout | The maximum time to wait for an analytics query before timing out. |
Connection Timeout | The time to wait for a connection to be established before timing out. |
KV Timeout | Default timeout for key-value operations. |
Management Timeout | Time to wait for management operations to complete. |
Query Timeout | The maximum time a query can run before it times out. |
Search Timeout | Time to wait for a search query to complete before timing out. |
View Timeout | Time to wait for a view query to complete before timing out. |
Keystore file | Path to the keystore file used for SSL connections. |
Keystore password | Password for the keystore file. |
couchbase.sslEnabled | A Boolean property to enable or disable SSL. Set to true to enable SSL. |
Tip: All timeout settings are specified in milliseconds.
Secure Connection Configurations
DBeaver supports secure connections to your Couchbase database. Guidance on configuring such connections, specifically SSH, Proxy, Kubernetes, AWS SSM and SSL connections, can be found in various referenced articles. For a comprehensive understanding, please refer to these articles:
Note: For SSL configuration, the required properties are set within the DBeaver Driver settings.
Powering Couchbase with DBeaver
DBeaver provides a host of features designed for Couchbase databases. Couchbase uses a document-oriented approach, which means each piece of data, or "document" can have a unique structure.
In DBeaver, you have the flexibility to view and edit the data within Couchbase buckets. This can be done similarly to how you would interact with tables in a traditional database, either through a grid view or as plain text. You can also work directly with JSON documents, making it easier to handle the different data formats that Couchbase supports.
Couchbase database objects
DBeaver lets you view and manipulate a few Couchbase database objects. DBeaver has extensive support for various Couchbase metadata types, allowing you to interact with:
- Buckets
- Indexes
Cluster
- Users
Couchbase features in DBeaver
DBeaver also includes additional features compatible with Couchbase, but not exclusive to it:
Category | Feature |
---|---|
Data Transfer | Data Export |
Data Visualization | ERD Guide |
Data Management | Working with JSON |
Executing Couchbase queries
Couchbase uses N1QL (Non-First Normal Form Query Language), a query language similar to SQL, it lets you search through JSON documents with complex queries. For further details on N1QL, refer to the official documentation.