FlexFAQ

Активный раздел: Где лучше хранить данные - в SQL или в ZODB?

Вопрос: Где лучше хранить данные - в SQL или в ZODB?

Ответ:

Это большой и сложный вопрос, на который нет простого однозначного ответа. Нет нужды ограничиваться только этими двумя способами хранения данных - есть еще BerkeleyDB, DBM и другие. Что именно выбрать зависит от того, что это за данные и какой к ним нужно иметь доступ.

Как Вы ответите на следующие вопросы:

Как часто меняются данные?
Часто меняющиеся данные не следует хранить в ZODB. На самом деле это не есть ограничение ZODB, а только хранилища FileStorage. Альтернативные хранилища - например, BerkeleyStorage - не имеют этого ограничения.
Нужен ли доступ к данным другими средствами?
Данные, хранящиеся в ZODB, доступны только для Zope. Для доступа к ним извне придется писать специальные компоненты, обращаться к ним через ZClient или XML-RPC...
Как велики ваши объекты?
Для очень больших объектов ZODB подходит лучше, чем SQL.
Укладываюся ли ваши данные в модель SQL?
ZODB - очень гибкий механизм, однако...
Нужны ли вам индексы для полнотекстового поиска?
SQL не очень для этого приспособлен, а в ZODB имеется ZCatalog!