You are viewing the documentation for a prerelease version.

View Latest

Query: Fundamentals

The Query Service supports the querying of data by means of the N1QL query language.

As its primary function, the Query service enables you to issue queries to extract data from Couchbase server. You can also issue queries for data definition (defining indexes) and data manipulation (adding or deleting data). The Query Service depends on both the Index Service and the Data Service.

To issue queries, you can use a Couchbase SDK, the REST API, or the tools provided by the Query service: the cbq shell or the Query workbench.

When to Use Queries

Use the Query service for operational queries — for example, the front-end queries behind every page display or navigation.

Use the Analytics service when you don’t know every aspect of the query in advance — for example, if the data access patterns change frequently, or you want to avoid creating an index for each data access pattern, or you want to run ad hoc queries for data exploration or visualization.

Use the Full Text Search service when you want to take advantage of natural-language querying.

N1QL for Query

Couchbase Server can be queried using N1QL (pronounced "nickel"), the Couchbase Server query language. N1QL derives its name from the non-first normal form of the data model, which is a superset and generalization of the relational first normal form (1NF).

N1QL is an expressive, powerful, and complete SQL dialect for querying, transforming, and manipulating JSON data. Based on SQL, it’s immediately familiar to developers who can quickly start developing rich applications.

What’s Next

  • Refer to Running Queries for information on running, configuring, and monitoring queries.

  • Refer to Tutorials to learn how to write queries.

  • Refer to Query Tools for a description of the tools provided by the Query service.

  • Refer to Settings and Parameters to configure Service-level query settings and Request-level parameters.

  • Refer to N1QL Language Reference for a complete description of N1QL for Query.

  • Refer to Query Service for a description of the Query service architecture.

  • Refer to Data for an overview of the N1QL data model.