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