crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> [СИ] Длина сектора диска
oleg_2
  опции профиля:
сообщение 10.5.2010, 2:50
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 25.7.2009
Пользователь №: 943

Спасибо сказали: 1 раз(а)




Репутация:   0  


[СИ] Длина сектора диска

Язык СИ
ОС UNIX

База данных и транзакция.
Два вопроса.

Имеется файл строк, каждая строка это отдельная запись БД.
Нужно сделать транзакцию - изменить одну из этих строк.
При этом длина строки не меняется.
Должно выдерживать мягкий сбой (выключение питания).
Винт плохой и при сбое портит весь сектор (или иную минимальную порцию данных).
Значит я должен в журнале сохранить всё то, что может быть испорчено,
т. е. сектор (или секторы) содержащий эту строку.


Вопрос 1.

О длине сектора.
Как узнать длину сектора или иной порции данных,
которая может быть испорчена?

Вопрос 2.

Что если я буду для верности сохранять заведомо
большую порцию, а именнно 8 Кбайт, начало порции
кратно ей самой от начала файла.

Сработает ли такой подход?

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 10.5.2010, 6:56
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(oleg_2 @ 10.5.2010, 9:26) *
Не знаю как найти эту книгу.
Если можно приведите название книги,
хотя бы приблизительно .
тыц

Цитата(oleg_2 @ 10.5.2010, 9:26) *
А вопрос 2 в начале темы не решит ли эту проблему?
Не знаю. Я не вникал в устройство реальных БД/ФС.
Цитата(oleg_2 @ 10.5.2010, 6:50) *
Значит я должен в журнале сохранить всё то, что может быть испорчено,
т. е. сектор (или секторы) содержащий эту строку.
факт: испорчено может быть любое кол-во данных в любых местах. Если действительно нужна надёжность, то нужно избыточное хранение данных.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 17.4.2024, 1:02