Является ли запуск postgresql в памяти хорошей идеей? - PullRequest
0 голосов
/ 21 января 2010

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

Мой коллега настаивает на том, что, поскольку DOM может поддерживать только около 1 миллиона операций записи, мы должны полностью запустить нашу базу данных на диске RAM и создать резервную копию базы данных на DOM.

Существует 3 способа запуска резервного копирования:

  1. Пользовательский триггер

  2. Каждые 30 минут

  3. Каждый раз, когда в базе данных выполняется операция добавления / обновления / удаления

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

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

Что вы думаете об этом?

Ответы [ 2 ]

1 голос
/ 21 января 2010

Проблема износа SSD может быть решена с помощью любой прошивки SSD. Иногда эти чипсеты делают это не очень хорошо, или оставляют ответственность за кого-то еще. В этом случае вы можете использовать файловую систему, предназначенную для выравнивания износа. UBIFS или LogFS являются подходящими файловыми системами.

1 голос
/ 21 января 2010

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

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

В качестве альтернативы используется либо более встроенная СУБД, подобная SQLite, либо система хранения, которая может обрабатывать PostgreSQL, например, недавние твердотельные накопители, хотя некоторые твердотельные накопители имеют фиктивные настройки кэша, которые могут сделать их непригодными для PostgreSQL. 1007 *

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