Какой объем памяти требуется при использовании CouchDB по сравнению с RDBMS? - PullRequest
1 голос
/ 15 августа 2010

Мне нужно знать факторинг, который необходимо учитывать при реализации решения с использованием CouchDB.Я понимаю, что CouchDB не требует нормализации, и что стандартные методы, которые я использую при разработке RDBMS, в основном отбрасываются.

Но каковы именно затраты?Я прекрасно понимаю преимущества, но затраты на хранение заставляют меня немного нервничать, так как кажется, что CouchDB потребуется очень много реплицированных данных, некоторые из которых устареют и устареют задолго до их использования.Как можно управлять устаревшими данными?

Я знаю, что мог бы реализовать некую ужасную модель отношений с документами, используя Couchdb, и снизить затраты на хранение, но не противоречит ли это целям Couchdb и производительности, которую я могуусиление?

Примером, о котором я думаю, является система заявок, заказов и проведения торгов.В настоящее время в системе происходит что-то одно, и многие могут обновляться чаще, чем тот.

Любая помощь будет очень полезна, так как я - специалист по СУРБД старой школы со всеми учениями CJ Date,Э. Ф. Кодд и Р. Ф. Бойс, которые в настоящее время борются с радикальным представлением о хранении документов.

Есть ли у Couchdb что-то внутреннее для управления распознаванием и сокращением дублирующихся данных?

1 Ответ

1 голос
/ 15 августа 2010

Только вы знаете, сколько копий данных вы будете использовать, поэтому, к сожалению, единственный хороший ответ будет состоять в том, чтобы создать смоделированные наборы данных и измерить использование диска.

Кроме того, аналогично файловой системе, CouchDB требует дополнительного хранилища для метаданных. Эта стоимость зависит от двух факторов:

  1. Как часто вы обновляете или создаете документ
  2. Как часто вы компактны

Наихудший случай мгновенное использование диска будет представлять собой общий объем данных , умноженный на два , плюс все старые версии документа (# 1), существующие во время сжатия (# 2) , Это связано с тем, что при сжатии создается новый файл базы данных только с текущими версиями документа. Следовательно, будут использоваться две копии текущих данных (из старого файла и нового файла), а также все «потраченные впустую» старые ревизии, ожидающие удаления после завершения уплотнения. После сжатия старый файл удаляется, поэтому вы получите более половины этого значения в худшем случае.

Постоянное выполнение сжатия - не проблема для уменьшения использования данных , однако это имеет значение для дискового ввода-вывода.

...