Секционированные базы данных
Секционированные базы данных позволяют размещать данные совместно в кластере, что значительно повышает производительность запросов, ограниченных одним разделом.
См. руководство по началу работы с секционированными базами данных
/{db}/_partition/{partition_id}
-
GET/{db}/_partition/{partition_id} -
Эта конечная точка возвращает сведения об указанном разделе. Они включают количество документов и удалённых документов, а также размеры внешних и активных данных.
- Параметры:
-
db – Имя базы данных
partition_id – Имя раздела для запроса
- Коды состояния:
-
200 OK – Запрос успешно выполнен
401 Unauthorized – Несанкционированный запрос к защищённому API
403 Forbidden – Недостаточно прав / Слишком много запросов с недействительными учётными данными
Запрос:
GET /db/_partition/sensor-260 HTTP/1.1 Accept: application/json Host: localhost:5984
Ответ:
HTTP/1.1 200 OK Cache-Control: must-revalidate Content-Length: 119 Content-Type: application/json Date: Thu, 24 Jan 2019 17:19:59 GMT Server: CouchDB/2.3.0-a1e11cea9 (Erlang OTP/21) { "db_name": "my_new_db", "doc_count": 1, "doc_del_count": 0, "partition": "sensor-260", "sizes": { "active": 244, "external": 347 } }
/{db}/_partition/{partition_id}/_all_docs
-
GET/{db}/_partition/{partition_id}/_all_docs -
Эта конечная точка упрощает автоматическую установку границ для указанного диапазона раздела. Аналогичные результаты можно получить, используя глобальную конечную точку
/db/_all_docsс соответствующим образом настроенными значениямиstart_keyиend_key.Полное описание доступных параметров запроса и формата возвращаемых данных см. в документации по конечной точке представления.
- Параметры:
-
db – Имя базы данных
partition_id – Имя раздела
- Коды состояния:
-
200 OK – Запрос успешно выполнен
401 Unauthorized – Несанкционированный запрос к защищённому API
403 Forbidden – Недостаточно прав / Слишком много запросов с недействительными учётными данными
Запрос:
GET /db/_partition/sensor-260/_all_docs HTTP/1.1 Accept: application/json Host: localhost:5984
Ответ:
HTTP/1.1 200 OK Cache-Control: must-revalidate Content-Type: application/json Date: Sat, 10 Aug 2013 16:22:56 GMT ETag: "1W2DJUZFZSZD9K78UFA3GZWB4" Server: CouchDB (Erlang/OTP) Transfer-Encoding: chunked { "offset": 0, "rows": [ { "id": "sensor-260:sensor-reading-ca33c748-2d2c-4ed1-8abf-1bca4d9d03cf", "key": "sensor-260:sensor-reading-ca33c748-2d2c-4ed1-8abf-1bca4d9d03cf", "value": { "rev": "1-05ed6f7abf84250e213fcb847387f6f5" } } ], "total_rows": 1 }
/{db}/_partition/{partition_id}/_design/{ddoc}/_view/{view}
-
GET/{db}/_partition/{partition_id}/_design/{ddoc}/_view/{view} -
Эта конечная точка выполняет секционированный запрос. Возвращаемый результат представления содержит только строки с указанным именем раздела.
Полное описание доступных параметров запроса и формата возвращаемых данных см. в документации по конечной точке представления.
- Параметры:
-
db – Имя базы данных
partition_id – Имя раздела
ddoc – Идентификатор документа дизайна
view – Имя представления
- Коды состояния:
-
200 OK – Запрос успешно выполнен
401 Unauthorized – Несанкционированный запрос к защищённому API
403 Forbidden – Недостаточно прав / Слишком много запросов с недействительными учётными данными
GET /db/_partition/sensor-260/_design/sensor-readings/_view/by_sensor HTTP/1.1 Accept: application/json Host: localhost:5984
Ответ:
HTTP/1.1 200 OK Cache-Control: must-revalidate Content-Type: application/json Date: Wed, 21 Aug 2013 09:12:06 GMT ETag: "2FOLSBSW4O6WB798XU4AQYA9B" Server: CouchDB (Erlang/OTP) Transfer-Encoding: chunked { "offset": 0, "rows": [ { "id": "sensor-260:sensor-reading-ca33c748-2d2c-4ed1-8abf-1bca4d9d03cf", "key": [ "sensor-260", "0" ], "value": null }, { "id": "sensor-260:sensor-reading-ca33c748-2d2c-4ed1-8abf-1bca4d9d03cf", "key": [ "sensor-260", "1" ], "value": null }, { "id": "sensor-260:sensor-reading-ca33c748-2d2c-4ed1-8abf-1bca4d9d03cf", "key": [ "sensor-260", "2" ], "value": null }, { "id": "sensor-260:sensor-reading-ca33c748-2d2c-4ed1-8abf-1bca4d9d03cf", "key": [ "sensor-260", "3" ], "value": null } ], "total_rows": 4 }
/{db}/_partition/{partition_id}/_find
-
POST/{db}/_partition/{partition_id}/_find -
Эта конечная точка выполняет поиск по секционированному запросу с использованием его идентификатора. Возвращаемый результат представления содержит только строки с указанным идентификатором раздела.
Полное описание доступных параметров и формата возвращаемых данных см. в документации по конечной точке find.
- Параметры:
-
db – Имя базы данных
partition_id – Имя раздела для запроса
- Коды состояния:
-
200 OK – Запрос успешно выполнен
401 Unauthorized – Несанкционированный запрос к защищённому API
403 Forbidden – Недостаточно прав / Слишком много запросов с недействительными учётными данными
/{db}/_partition/{partition_id}/_explain
-
POST/{db}/_partition/{partition_id}/_explain -
Эта конечная точка показывает, какой индекс используется запросом.
Полное описание доступных параметров и формата возвращаемых данных см. в документации по конечной точке explain.
- Параметры:
-
db – Имя базы данных
partition_id – Имя раздела для запроса
- Коды состояния:
-
200 OK – Запрос успешно выполнен
401 Unauthorized – Несанкционированный запрос к защищённому API
403 Forbidden – Недостаточно прав / Слишком много запросов с недействительными учётными данными
Copyright © 2025 The Apache Software Foundation — Licensed under the Apache License 2.0
https://docs.couchdb.org/en/3.5.1/api/partitioned-dbs.html