LINUX.ORG.RU

ORM или СУБД с ревизиями, отговорите от CouchDB

 , , ,


1

3

Для проекта понадобятся ревизии в БД. Сам я пока вообще не представляю как обычно их делают, но не хочется работать с ревизиями вручную (или там все просто?). Хочу ORM или СУБД, в которой ревизии уже придуманы и не надо ничего изобретать.

База будет не маленькая: одна сущность примерно на 220000 записей, две другие будут увеличиваться на 1000 записей в неделю, ну и плюс несколько маленьких сущностей.

Мечусь между PostrgreSQL и CouchDB. Раньше работал только с MySQL и PouchDB (что-то типа CouchDB для браузера). В принципе мне все равно какую СУБД использовать, но NoSQL (CouchDB) какой-то слишком хипстерский, все таки хочется проверенных решений. В CouchDB ревизии из коробки, да и в принципе с ней удобно работать. Но может есть что-то для PostgreSQL?

Проект на Node.js или можно на PHP (Yii, Zend), потом определюсь.

Что посоветуете? Или может ревизии очень просто делаются? Если там все просто, то поделитесь мануалом, пожалуйста.

P.S. Простите за сумбур. Если в двух словах: нужны ревизии для записей в БД. Проект на Node.js. CouchDB устраивает, но хочется проверенных инструментов.

На PostgreSQL можно написать триггеры, которые будут делать тебе ревизии так, как тебе нужно. В зависимости от задачи можешь получить выигрыш производительности.

Y ★★
()
Ответ на: комментарий от Y

Бытует такое мнение что хранимки и триггеры это плохо :) Или не стоит бояться? Под PostgreSQL я даже где-то находил решение на триггерах.

Black_Roland ★★★★
() автор топика
Последнее исправление: Black_Roland (всего исправлений: 1)
Ответ на: комментарий от anonymous

(пассы руками) «ты не хо-о-очешь CouchDB»

В том то и дело, что хочу. Но боюсь возможных проблем в будущем.

Black_Roland ★★★★
() автор топика
Ответ на: комментарий от anonymous

Боюсь :) В принципе меня же никто не заставляет использовать триггеры, я могу и хуки в ORM использовать. В общем еще вариант добавился.

Black_Roland ★★★★
() автор топика
Ответ на: комментарий от Black_Roland

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

Ко всему надо подходить без фанатизма.

Другое дело, что съехать с PSQL потом будет тяжелее, чем если бы логика ревизий была бы сосредоточена в приложении.

А так я делал прекрасные ревизии в MongoDB (в самом приложении отдельный метод, который следует использовать для сохранения сущностей). У них там даже expire-индексы есть, что позволяет легко организовать удаление старой истории.

Y ★★
()
Последнее исправление: Y (всего исправлений: 2)
Ответ на: комментарий от Y

А так я делал прекрасные ревизии в MongoDB (в самом приложении отдельный метод, который следует использовать для сохранения сущностей).

Монга в этом случае не очень подходит. CouchDB я хочу только из-за искоробочных ревизий, а так NoSQL не хотелось бы, почему-то побаиваюсь. Хотя PouchDB нормально у меня работает, даже с репликацией. Не знаю, монету надо бросить.

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

С этим понятно, спасибо.

Black_Roland ★★★★
() автор топика
Последнее исправление: Black_Roland (всего исправлений: 1)

CouchDB используют в CERN, в системе управления коллайдером. так что это не такая уж и хипстота. Про ревизии ничего не скажу, но на чтение CouchDB должна вести себя ок, а на запись у тебя нагрузки считай что и нет.

shimshimshim
()

Это хорошо, что народ интересуется ORM. Рынок bloatware имеет устойчивый тренд к росту. Работы не початый край...

Couchdb прикольный, но особо не развивается. Couchbase вышел недавно - пока экзотика.

Мне кажется имеет смысл пощупать самому на практике с учетом требований на ближайшее - многое прояснится.

anonymous
()
17 ноября 2014 г.
Ответ на: комментарий от shimshimshim

CouchDB используют в CERN, в системе управления коллайдером

мы все умремм?

EnterpriseMobility
()

Забыл про тред. В общем взял PostgreSQL. Ревизии пока не делал, сделаю ручками. ORM — Sequelize. Спасибо всем.

Black_Roland ★★★★
() автор топика
Последнее исправление: Black_Roland (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.