Подходит ли couchdb для большого количества документов с вложенными файлами на нескольких серверах? - PullRequest
1 голос
/ 29 июля 2011

Я хотел бы услышать ваши мысли о couchdb, и будет ли он обрабатывать мой сценарий использования.

Что я буду делать, у меня будет база данных, где я храню документы размером около 20 КБ с вложением 1-10 МБдля каждого.

  1. будет ли обрабатывать базу данных 10 ТБ или больше для каждого сервера с моей схемой? (в 4u случае, если вы можете поместить 24 диска по 2 ТБ, это слишком много для каждого узла кушетки ?, будеточень мало читает, , поэтому мне нужна скорость )

  2. сможет копировать все документы с вложениями

  3. како разделении всех данных на несколько серверов (например, на 4 узла)?Будет ли он обрабатывать столько вложений?

Какие проблемы вы видите здесь?

нужна дополнительная информация, пожалуйста, спрашивайте:)

1 Ответ

3 голосов
/ 30 июля 2011

Я не думаю, что вы столкнетесь с физическим ограничением с файлом размером 10 ТБ, то есть я не думаю, что у couch есть какие-то встроенные файлы "не может использовать файлы больше X", где X меньше 10 ТБ.

Тем не менее.

Самая большая проблема - это сжатие файлов. Чтобы освободить место, Couch хочет сжать файл. Это фактически означает копирование файла. Поэтому, по крайней мере, для некоторой точки, 10 ТБ должны быть 20 ТБ, поскольку они дублируют текущие данные в новой копии.

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

Для Couch существует решение шардинга "третьей стороны", Lounge популярно.

Когда я подхожу к кушетке, первое, что нужно учитывать, - это критерии вашего запроса. Кушетка - все о взглядах, действительно. На какие виды вы смотрите? Если вы просто храните данные по какому-то простому ключу (имя файла, дата или что-то еще), вам может быть лучше просто использовать файловую систему и, если честно, соответствующую структуру каталогов.

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

Addenda:

Вы еще не упомянули, какие запросы вы ищете. По сути, запросы являются компонентом дизайна THE, особенно для Couch DB, поскольку становится все сложнее добавлять новые запросы в большие наборы данных.

Когда вы произносили вложения, я предполагал, что вы имеете в виду вложения в полезную нагрузку Couch DB (поскольку она может обрабатывать вложения).

Итак, все это говорит о том, что вы можете легко создать документ метаданных, содержащий всю информацию, которую вы хотите захватить, и в качестве части этого документа добавить путь к реальному файлу, хранящемуся в файловой системе. Это значительно уменьшит общий размер файла Couch, что сделает обслуживание более быстрым и эффективным. Конечно, вы теряете часть «Самодостаточной» части, когда все это содержится в одном документе.

...