Ответ 1
Он работает по назначению, вы просто не смотрите на нужные файлы.
Каждая база данных имеет соответствующие файлы с тем же именем.
Например:
curl -X PUT http://admin:[email protected]:5984/testdb
curl -X PUT http://admin:[email protected]:5984/emaildb
- Поскольку у вас есть файл _dbs.couch, вы, вероятно, используете CouchDB 2.X.X с функцией sharding. Он создаст несколько файлов в подпапках папки "осколки".
data/
+-- shards/
| +-- 00000000-7fffffff/
| | -- emaildb.124456678.couch
| | -- testdb.647948447.couch
| +-- 80000000-ffffffff/
| | -- emaildb.124456678.couch
|___|____-- testdb.647948447.couch
Дополнительная информация: http://docs.couchdb.org/en/latest/cluster/sharding.html
-
Вкратце, функции осколков и кластеров позволяют иметь распределенную базу данных с распределенным вычислением карты/уменьшения. В приведенном выше примере каждый dbs имеет 2 осколка, что означает, что каждая база данных охватывает более двух файлов. Каждый новый созданный документ может оказаться в одном из этих двух. Однако использование диска не будет равномерно распределено. Например, если каждый документ является небольшим документом json, но один из них получает вложение 1 ГБ (http://docs.couchdb.org/en/latest/intro/api.html#attachments), получается только один осколок 1 ГБ удар. Осколок основан на документах. У вас может быть 2 осколка, у вас может быть 20, и они не все должны быть на одном сервере (http://docs.couchdb.org/en/latest/cluster/theory.html). Если вы знаете, что на одном сервере не будет достаточно места на диске для хранения всех ваших данных, вы можете настроить 20 серверов couchdb, каждый из которых будет содержать 1 осколок (около 1/20 всех документов). Является ли это единственным node в подвале или кластере серверов couchdb по всему миру для клиентского приложения (curl, pouchdb, firefox и т.д.), Это тот же api.
-
База данных _dbs (
_dbs.couch
) записывает информацию для каждого dbs для управления кластерами и осколками. Его размер увеличивается, потому что каждый раз, когда вы создаете и удаляете базу данных, она обновляется (Copy-On-Write). Из CouchDB 2.1.0 и далее он будет автоматически уплотняться. Вы можете проверить параметры автоматического уплотнения в конфигурации вашего сервера (в браузере: http://localhost:5984/_utils/#/_config/,compactions
разделы). Панель администратора находится на другом порту: http://localhost: 5986/_utils -
Размер, указанный в Fauxton, является "активным размером". Не учитывает удаленные документы на диске, которые будут удалены после уплотнения.
curl http://localhost:5984/testdb
предоставит дополнительную информацию, например размер на диске (http://docs.couchdb.org/en/latest/api/database/common.html#get--db).