Страница 1 из 1

Новылизаие упоры в системе хранения карт?

СообщениеДобавлено: 07 июл 2016, 23:54
sergbrother
Доброго.
После успешного перехода лет 5 назад (была проблема с 50 миллионами файлов) на систему хранения карт в формате BerkelyDB недавно начал нащупывать новые упоры.
Спутниковые карты ЦФО России, до 19-20 уровней.
Файлов в этом формате сейчас у меня свыше 1 млн, папок около 5580, общий размер файлов в папках свыше 500 ГБайт.
Периодически Windows XP при работе Sasplanet перегружается.
Попытки проверить структуру БД с помощью sdb_util всегда приводят к перезагрузке.
К сожалению, при этом лог файл SDB_UTIL пустой, что делает невозможным продолжать проверку с последней проблемной точки в базе.
Очень большая просьба (готов отблагодарить за ее реализацию) осуществлять сброс (flush) лог файл на диск после проверки каждого файла в системе Berkely.
Что скажет zed про данное предложение?

Re: Новылизаие упоры в системе хранения карт?

СообщениеДобавлено: 08 июл 2016, 00:39
Gma
sergbrother писал(а):Файлов в этом формате сейчас у меня свыше 1 млн, папок около 5580, общий размер файлов в папках свыше 500 ГБайт.
... осуществлять сброс (flush) лог файл на диск после проверки каждого файла в системе Berkely.
Вы не боитесь, что после пары-тройки таких проверок ресурс вашего винта кончится? И, подозреваю, времени на эти перезаписи будет уходить немерено... Может, проще будет добавить памяти и поставить Wх64?

Re: Новылизаие упоры в системе хранения карт?

СообщениеДобавлено: 08 июл 2016, 15:42
zed
Новылизаие упоры

Можно перевести на русский, а то что-то я вас не понимаю.
sergbrother писал(а):Очень большая просьба (готов отблагодарить за ее реализацию) осуществлять сброс (flush) лог файл на диск после проверки каждого файла в системе Berkely.
Что скажет zed про данное предложение?

Могу сделать.

Re: Новылизаие упоры в системе хранения карт?

СообщениеДобавлено: 08 июл 2016, 16:49
zed
Сделал настраиваемый режим логирования, через параметры командной строки:
Код: Выделить всё
L0 - вообще не писать лог на диск
L1 - писать лог на диск, по окончании задания (поведение по-умолчанию)
L2 - писать лог как можно чаще

Пример командной строки для запуска в режиме L2:
Код: Выделить всё
C:\>sdb_util.exe L2

В режиме L2, помимо прочего, ограничен размер лога выводимый в окошко, размером 1 Мб, чтобы программа не пухла при большом количестве записей в лог.
Если задан режим логирования отличный от L1, то в заголовке окна дополнительно выводится хинт, с режимом лога.

Re: Новылизаие упоры в системе хранения карт?

СообщениеДобавлено: 09 июл 2016, 07:17
sergbrother
Спасибо огромное.
Под "Новлизаие" я имел ввиду "Новые".
Запустил новую версию, работает, на диск все отписывает сразу с параметром L2.
Zed, каким образом Вас можно отблагодарить?
Карточка Сбербанка может? поможет?

Re: Новылизаие упоры в системе хранения карт?

СообщениеДобавлено: 09 июл 2016, 08:48
zed
sergbrother писал(а):Zed, каким образом Вас можно отблагодарить?
Карточка Сбербанка может? поможет?

Ответил в ЛС.

Re: Новылизаие упоры в системе хранения карт?

СообщениеДобавлено: 09 июл 2016, 10:44
Tolik
sergbrother писал(а):Под "Новлизаие" я имел ввиду "Новые".

А мне так понравилось нечитабельное слово, что редактировать заголовок не буду :D

Re: Новылизаие упоры в системе хранения карт?

СообщениеДобавлено: 09 июл 2016, 10:46
Tolik
Интересно, в SQLite те же упоры новылизали?

Re: Новылизаие упоры в системе хранения карт?

СообщениеДобавлено: 09 июл 2016, 12:17
zed
Tolik писал(а):Интересно, в SQLite те же упоры новылизали?

Понемногу вылезают и там: http://www.sasgis.org/mantis/view.php?id=3101 но это, видимо, баг SAS. Надеюсь с самой БД будет меньше проблем и не придётся заводить топик "Восстановление убитого SQLite3 кэша" :oops: