Братья по разуму,
какой ДатаБейс под никсы(debian) посоветуете для круглогодичной, ежесекундной записи медленно текущих процессов(~ 20-50 таблиц с двумя полями float(3,1) и datetime(возможно что то будет меняться быстрей и в нескольких таблицах, скорость записи будет побольше раз в пять, придётся завести третье поле, куда будет записываться миллисекундная разница между соседними измерениями). Обращаюсь к БД из Си(серверная, пишущая часть) и PHP( в дальнейшем Python клиентская, читающая часть).
Выборки из БД будут двух видов, постоянное тягание текущих данных за последние 12 часов из половины таблиц(~10-25)(по ходу эта инфа всегда будет в кеше, сколько мне понадобится RAM?), и иногда(налётами технологов на мою вебморду для разбора очередного косяка на производстве) выборки за 1-12 часов в рандомный день, из рандомных таблиц, тут уже подключится вся мощь БД, индексы, партиционирование и другие плюшки. Соответственно RRD не предлагать.
Сколько записи будут весить, я примерно могу прикинуть, сейчас за 12 часов разные таблицы занимают от 100кб, до полутора метров, соответственно за год, набежит при 50 таблицах от 73 мегабайт до гига, как мне бекапить это хозяйство лучше по соображениям рациональности? Дампить и складывать дампы на другую машину(есть такая возможность, раз в месяц мы останавливаемся на день(ремонт) и я могу сделать дамп и слить его на другой диск/машину) или использовать рейд(надо будет, сделаем)?
Большого опыта работы с БД у меня нет(да пожалуй вообще никакого опыта на момент начала работ не было, кроме умения установить и настроить(минимальный админский навык работы с БД). По началу решил, что для моих нужд (для начала) сойдёт любая БД, и поставил MySQL(куча инфы в интернете, огромная распространённость, опыт установки и настройки для хостинговых машин). Но сейчас стал задумываться об оптимизации и производительности своего детища, ведь рано или поздно, наступит такой момент, когда проект вырастет(будет много строчек кода), когда он перестанет быть сырой поделкой любознательного Ромашки и полностью уйдёт в «продакшн» (есть отдельные личности желающие видеть его там уже сейчас) :-) и возможности перепилить всё с нуля уже не будет. Я задумался о правильности выбора БД.
В кратце, о том, что это вообще такое и с чем я это употребляю: Существует некий контроллер ОВЕН ПЛК-100(скоро их возможно будет несколько) который выполняет свой код обрабатывает приходящие на него аналоговые и цифровые сигналы, и шлёт сигналы на аналоговые и цифровые выходы, параллельно я озадачил его, через ethernet по протоколу Modbus рассказывать мне о происходящем, всё, что происходит(в основном только изменяющиеся данные) я записываю в БД, для дальнейших разборов полётов.
Что скажете, кроме того, что я коряво написал и слишком много «букавок», буду ещё какие то предложения?
PS Заранее извиняюсь за авторскую пунктуацию и сленг(не всем это по нраву), за ужасное форматирование текста(некогда мне теги «ЛОР-овские» изучать, у меня дома - дети, а на работе - работа, но со временем осилю конечно, второе сообщение всего) за возможное присутствие орфографических ошибок головой отвечает гугль-хром.
PPS SCADA не предлагать, задача просто реализуется и теми средствами, что я использую, плюс не люблю подстраиваться(пилить) кем то написанную вещь, лучше напишу свою, пусть даже велосипед, мне опыт нужен, да и просто интересно, почему бы не заняться интересной тебе работой, если за неё ещё и платят?