Вопросы | sqlite

Вероятность повреждения аппаратного диска или памяти?

Вопрос

twk | 969 просмотров | рейтинг: 2

У меня есть несколько сотен компьютеров с приложением. На одном компьютере я видел два случая неправильной установки одного бита для некоторых строк, которые я извлекаю из SQLite. Если бы это был мой компьютер разработчика, я бы предположил, что у меня где-то есть ошибка, но, безусловно, есть определенное количество установок, после чего я начну видеть редкие аппаратные ошибки. Это, конечно, зависит от того, сколько IO я делаю, но есть ли какие-то правила, когда есть хороший шанс увидеть подобные вещи? Например, для пакетов TCP в этом документе определено, что молчащее, необнаруженное повреждение произойдет примерно в 1 на 16–10 миллиардов пакетов. К сожалению, запуск проверки mem / disk на этой машине вряд ли произойдет.



Ответы

Steve Baker

+ 4 -
Когда я замечаю странные вещи, моя стратегия такова: проверьте, есть ли ошибка в коде проверьте, есть ли ошибка в используемой библиотеке / инструменте (SQLite, здесь) проверьте, есть ли ошибка в компиляторе тогда, и только тогда, проверьте аппаратные неисправности За мою 10-летнюю карьеру 99,99% ошибок были связаны с программным обеспечением. Надеюсь это поможет.  


gbjbaanb

+ 0 -
с тонкими ошибками, это может произойти в любое время и из нескольких источников, даже самых невероятных. Поскольку вы видите ошибки, возникающие на одном компьютере, лучше всего обрабатывать ущерб, а не полагаться на статистику, чтобы сообщать, когда что-то может пойти не так. Хотя ошибки могут быть связаны с внешними факторами, если вы видели более одного, было бы целесообразно, чтобы этот memchecker работал на машине, чтобы проверить, не является ли она неисправным оборудованием. Альтернатива - верить в удачу, что вы не увидите полного провала.  


Gabriele D'Antona

+ 2 -
Битовые ошибки будут. Подумайте о защите ваших данных с помощью CRC или какого-либо другого механизма обнаружения / исправления ошибок. Вероятность того, что это произойдет, зависит от того, какое у вас оборудование. Если у вас есть память с ECC, то она будет менее вероятной, чем, например, если у вас ее нет, но даже память ECC выходит из строя и может не исправить ошибки. Я бы сказал, что с несколькими сотнями компьютеров странная аппаратная ошибка, вероятно, будет происходить ежедневно.


Теги

sqlite | hardware | corruption | rules-of-thumb