Я сейчас думаю о написании собственной простой базы данных. Теперь я столкнулся с проблемой, как узнать, что что-то не удалось при следующем запуске моего сервера. Многие высокопроизводительные базы данных NoSQL используют дерево структурированного слияния или аналогичный механизм. Поэтому, если я всегда пишу последнюю транзакцию на диске и i. е. происходит силовое затемнение, откуда я знаю, сколько моих данных было написано, когда я перезапускаю его? Я видел еще один поток на Stackoverflow, которого я, к сожалению, не могу найти в данный момент, когда автор сказал, он считает, что в этом случае всегда есть запас энергии, который гарантирует, что весь блок будет записан. Правильно ли это? Как обращаться с такими ситуациями? Должен ли он быть частью моего асинхронного * nix-API, который я использую для сообщения об ошибке чтения?Простой жесткий диск и SSD гарантируют полный сектор для записи?
0
A
ответ
1
Когда вы используете синхронный IO, команда записи не вернется, пока не завершит запись блока/файла на ваш диск. Это может занять некоторое время, но ваше приложение гарантирует, что запись будет завершена и сброшена на диск.
Для лучшей производительности обычно выбран асинхронный IO, который позволяет вашей ОС и аппаратным средствам хранения кэшировать записи для оптимизации производительности ввода-вывода.
Когда ваши записи кэшируются где-то в OS/аппаратного обеспечения, необходимо принимать специальные меры, чтобы не потерять их сбоев питания, как this Q&A и this one объяснить.
Смежные вопросы
- 1. Утилизация данных с SSD на жесткий диск
- 2. System.Xml.Linq.XDocument.Save() вызывает полный жесткий диск
- 3. Время записи на жесткий диск
- 4. Почему мой SSD на скорости передачи HDD быстрее, чем жесткий диск на SSD на моем ноутбуке?
- 5. Как выбрать жесткий диск SSD в Google Container engine?
- 6. Как отправить команды ATA на жесткий диск/SSD-диск с C++
- 7. Твердотельный жесткий диск для Websphere
- 8. Буферизация на жесткий диск
- 9. C# Thread для записи файла на жесткий диск с ThreadPool
- 10. Рассматривайте жесткий жесткий диск NFS как софт
- 11. Bootstrap Жесткий диск доступа
- 12. Эмулировать жесткий диск в .NET
- 13. Использует ли Memcached для хранения PHP-переменных любые записи на жесткий диск?
- 14. Отдельный жесткий диск или отдельный раздел для индексации Solr
- 15. Ubuntu и windows 2 жесткий диск
- 16. Сохранить изображение на жесткий диск
- 17. Ускорение записи изображений на жесткий диск в OpenCV
- 18. Сохранение массивов на жесткий диск
- 19. косяк файл записи на жесткий диск в vb.net
- 20. Как полностью форматировать жесткий диск?
- 21. Внешний жесткий диск - уникальный идентификатор
- 22. Установите Android Studio и SDK на SSD или механический диск.
- 23. сохранить фотографии на жесткий диск
- 24. tar заполняет мой жесткий диск
- 25. nginx-файл потребляет жесткий диск
- 26. Как безопасно переименовать мой жесткий диск Mac "Macintosh HD"?
- 27. Прямой и эффективный сектор записи и записи жесткого диска
- 28. NP-полный или NP-жесткий?
- 29. Профиль чтения/записи диска для SSD
- 30. Заполните жесткий диск с помощью charcter 0