2016-10-23 3 views
1

Я новичок в Python. Я пытаюсь реализовать управление двумя воздуходувками, для охлаждения замкнутого пространства, в малине Pi, работающей на Python 2.7 и MySQLdb. Я хочу хранить 21 столбец данных в 1 строке каждые 5 минут в течение 48 часов. По истечении 48 часов каждый раз, когда добавляется новая строка, удаляется самая старая строка, устанавливая конечный предел размера базы данных. Целью базы данных является возможность взглянуть на производительность системы за последние два дня и использовать данные для мониторинга и оптимизации системы. Поскольку, я надеюсь, что эта система работает в течение многих лет, я обеспокоен тем, что энергонезависимое хранилище SD-карт Raspberry Pi начнет терпеть неудачу из-за большого количества перезаписи. Меня не интересует безопасность данных. Я ищу решение, в котором таблица данных хранится в ram, чтобы предотвратить преждевременную сбой SD-карты, и поскольку, если данные теряются, что-то вроде отключения электроэнергии при перезагрузке системы, база данных будет заполнена новыми данными за следующий два дня. Я надеюсь, кто-то может указать мне в правильном направлении для написания базы данных с таблицей, хранящейся в баране.mysqldb хранилище базы данных в ram

+0

Добро пожаловать в Stackoverflow. Вы получите больше ответов, если вы покажете нам, что вы уже сделали. Чем конкретнее ваши вопросы, тем лучше. –

ответ

1

Вместо MySQL вы должны использовать sqlite, который поставляется с Python, и имеет возможность создать in-memory database.

Или, если это просто пары с ключом, которые вы храните, Redis будет еще лучше.

Вообще, если вы беспокоитесь о сбое SD-карты, почему бы не купить небольшой внешний HD и подключить его к пи?

0

Если вы действительно хотите использовать таблицы памяти с MySQL, вы должны смотреть на How do I make a MySQL database run completely in memory?

Другим решением было бы создать файловую систему в памяти. Я нашел там an article you could study. По сути, он рекомендует использовать tmpfs, а затем найти на нем таблицу.

Есть ли какая-то особая причина, по которой хотелось бы идти по жесткому маршруту, вместо использования простой структуры Python или базы данных SQLite в памяти, как предложил Даниэль?

Смежные вопросы