выключениеустойчивый mysql

yroslavasako

У меня есть mysql на ноуте. Ничего особенного, не продашн, не энтерпрайз. И весьма поверхностные знания SQL, так что я юзаю только базовые конструкции. Беда заключается в том, что от внезапного отключения mysql ломает свои базы и требует чекера. Выдаёт ошибки, которые интернет идентифицирует как наиболее типичные симптомы внезапного отробания mysql.
Соответственно, я ищу
1) настройку mysql, которая включает синхронную запись, выключает кэш, etc, делает его работу более надёжной за счём ухудшения производительности (которая мне не нужна)
2) другой mysql или *SQL, который умеет работать в условиях внезапного отключения питания

Dasar

на embedded железках обычно sqlite используют, у него по идее должно быть лучше с этим.

elenangel

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

vall

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

Dasar

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

Marinavo_0507

Innodb

PooH

на embedded железках обычно sqlite используют, у него по идее должно быть лучше с этим.
вообще сломать базу sqlite при включенных "транзакциях" очень сложно - рядом с базой лежит файл журнала, куда пишутся всякие незаконченные транзакции и откуда, если что, восстанавливаются
если тс не нужны всякие OVER PARTITION и RIGHT OUTER JOIN, то sqlite очень даже неплох
тем более, что сама база - это просто файл и не нужны никакие сервера поднимать
нужные библиотеки есть под все распространенные ЯП

fufa58

В sqlite'е меня всегда радовала фраза из фака :D
Threads are evil. Avoid them.

AlexV769

Написана, видимо, как оправдание deadlock'ам в threaded режиме. Транзакции не помогают :)

Maurog

настройку mysql, которая включает синхронную запись, выключает кэш, etc, делает его работу более надёжной за счём ухудшения производительности (которая мне не нужна)
InnoDB вместо MyISAM
http://dev.mysql.com/doc/refman/5.5/en/innodb-default-se.htm...
In our experience, most users never changed the default settings. With MySQL 5.5, InnoDB becomes the default storage engine. Again, we expect most users will not change the default settings. But, because of InnoDB, the default settings deliver the benefits users expect from their RDBMS: ACID Transactions, Referential Integrity, and Crash Recovery.
Оставить комментарий
Имя или ник:
Комментарий: