Spec-Zone.ru › CouchDB 3.5

Секционированные базы данных

Секционированные базы данных позволяют размещать данные совместно в кластере, что значительно повышает производительность запросов, ограниченных одним разделом.

См. руководство по началу работы с секционированными базами данных

/{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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API