Небольшой финт ушами, при конвертировании в кэш Беркли, который может на порядок ускорить процесс. Всё на свой страх и риск и только для продвинутых пользователей! Если что - я вас предупреждал
Финт заключает в том, чтобы убрать папку env с HDD и положить её в RAM. Поскольку, при записи данных в БД они вначале пишутся в журнал (в папке env), а только потом, собственно, попадают в БД, то происходит двойная нагрузка на винт (сделано это не просто так, а ввиду обеспечения т.н. свойства
ACID). Если в обычном режиме использования САСа (просмотр руками/загрузка региона) это не сильно страшно, то вот в режиме конвертирования кэша, когда мы в
короткий промежуток времени записываем десятки, а то и сотни Гб данных, это создаёт серьёзную нагрузку на винт. Поэтому, в угоду производительности, в отдельные моменты, хотелось бы пожертвовать
супер-неубиваемостью кэша... но как? И тут нам на помощь приходит виртуальный жёсткий диск в оперативке. Этот диск покупать не надо, а надо взять программку
DataRam RAMDisk (бесплатная, при создании дисков до 4Гб) и создать этот самый диск.
По шагам:
1. Устанавливаем программу RAMDisk и перезагружаем винду
2. Создаём виртуальный диск в 256Мб, при создании указываем не форматировать диск и в конфигах указываем сохранение/восстановление диска при перезагрузках винды
3. Идём в дебри настроек винды: Панель управления - Администрирование - Управление компьютером - Управление дисками
4. Находим там наш диск, форматируем его в
NTFS с размером кластера 4k. При форматировании указываем, что диск монтировать в систему и назначать ему букву не нужно
5. Закрываем САС
6. Если в кэше САСа для данной карты уже есть данные, то при помощи утилиты sdb_util выполняем Auto-Recover (после чего папка env должна будет удалиться)
7. Опять возвращаемся в Управление дисками и монтируем наш диск в папку sas\cache_db\you_map\env\ Вот
тут справка от Microsoft, если кто заблудится в настройках
8. Вот, в общем-то и всё, в кэше у выбранной карты должна появиться папка env, но физически она будет у нас в оперативке - можно приступать к конвертированию кэша
9. После того, как конвертирование завершится, нужно будет опять выполнить п.6 для данной карты, чтобы подчистить хвосты в БД и отвязать её от папки env. После этого можно удалять RAM диск и работать с кэшем как и раньше
После этого финта, мы можем потерять данные только если упадёт винда или RAMDisk вдруг заглючит, другими словами, мы нарочно, временно, нарушаем свойство Durability (Долговечность) у БД.
P. S. Всё вышесказанное протестировано на текущей ночнушке. За релиз - гарантий не дам.