SASGIS

Веб-картография и навигация

Использование в Sas.Планета кеша в формате Berkeley

программа для загрузки и просмотра спутниковых снимков Земли, Луны, Марса предоставленных сервисами Google Maps и Космоснимки. Возможность работы с GPS приёмником.

Модератор: Tolik

Re: Использование в Sas.Планета кеша в формате Berkeley

Сообщение zed » 21 авг 2014, 17:15

Значит это баг.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Использование в Sas.Планета кеша в формате Berkeley

Сообщение zed » 21 авг 2014, 19:24

zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Использование в Sas.Планета кеша в формате Berkeley

Сообщение xromeo » 24 окт 2014, 19:00

У меня возник вопрос, который обсуждался в багтрекере и был, как утверждается, решён: http://sasgis.org/mantis/view.php?id=1874

Попробовал организовать ReadOnly-кэш Berkeley. Сделал всё как там написано. В папку cache_db\sat пробовал класть файл StorageConfig.ini, в который вписано либо это -
Код: Выделить всё
[BerkeleyDB]
IsReadOnly=1

либо это:
Код: Выделить всё
[Common]
IsReadOnly=1

В итоге эффекта нет в обоих случаях. Как проявляется: перезапускаю программу, смотрю карту, потом программу закрываю и вижу, что в подпапке sat\env файл log.* обновился, дата и время стали на момент закрытия программы. То есть открыт он был на запись. А если папке cache_db средствами Windows назначить доступ только для чтения, то программа вообще не отображает карту, вместо неё ошибку "Error #1: Operation not permitted".

Пробовал на официальном релизе 140505 и на текущем ночном билде 141023.8255.

ВОПРОС: что и где я делаю не так?
Аватара пользователя
xromeo
Постигающий Дао
 
Сообщения: 189
Зарегистрирован: 21 июл 2009, 20:42
Благодарил (а): 36 раз.
Поблагодарили: 10 раз.

Re: Использование в Sas.Планета кеша в формате Berkeley

Сообщение zed » 24 окт 2014, 21:03

xromeo писал(а):В итоге эффекта нет в обоих случаях.

Писать надо в секцию Common, о чём чётко сказано в тикете: http://sasgis.org/mantis/view.php?id=1874#c13839
xromeo писал(а):В итоге эффекта нет в обоих случаях. Как проявляется: перезапускаю программу, смотрю карту, потом программу закрываю и вижу, что в подпапке sat\env файл log.* обновился

Анализ содержимого лога показал, что там совсем незначительное изменение записывается, хотя, в общем-то и от этого наверное можно избавиться.
xromeo писал(а):То есть открыт он был на запись.

Всё, что находится в папке env, так или иначе всегда открывается на запись и с этим ничего не поделать. А вот будет ли туда что-то реально писаться, это уже другой вопрос. Очевидно, что в некоторые файлы запись будет производиться всегда, а конкретно в лог, скорее всего можно сделать, чтобы ничего дополнительного не писалось.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Использование в Sas.Планета кеша в формате Berkeley

Сообщение zed » 24 окт 2014, 21:34


За это сообщение автора zed поблагодарили: 2
Parasite (25 окт 2014, 04:46) • xromeo (24 окт 2014, 21:42)
Рейтинг: 10.53%
 
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Использование в Sas.Планета кеша в формате Berkeley

Сообщение xromeo » 24 окт 2014, 21:51

Всё, что находится в папке env, так или иначе всегда открывается на запись и с этим ничего не поделать.

Я хочу уточнить... Собственно, мне надо решить конкретную задачу:

1. В локальную сеть объединены несколько компьютеров, на всех них установлена SASPlanet.
2. Кэш пополняется только на одной из машин, имеющей сетевое имя COMPINET, которая имеет выход в интернет, остальные машины сети выхода в интернет не имеют.
3. Кэш на машине COMPINET имеет формат Berkeley, и сделан в локальной сети общим сетевым ресурсом "cache_db" с правами доступа "Только чтение".
4. С других машин доступ к кэшу осуществляется по сетевому имени вида "\\COMPINET\cache_db". Режим - только чтение. Допускается одновременный доступ с нескольких компьютеров.

Нужно, чтобы эта схема работала.

С упомянутым исправлением это должно работать? Или совсем никак не вариант?
Аватара пользователя
xromeo
Постигающий Дао
 
Сообщения: 189
Зарегистрирован: 21 июл 2009, 20:42
Благодарил (а): 36 раз.
Поблагодарили: 10 раз.

Re: Использование в Sas.Планета кеша в формате Berkeley

Сообщение zed » 24 окт 2014, 22:03

Будет работать или нет, я вам не скажу, но скажу одно: кэш Беркли так использовать нельзя. Это не сетевая база данных, а встраиваемая. Этим всё сказано.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Использование в Sas.Планета кеша в формате Berkeley

Сообщение xromeo » 24 окт 2014, 22:10

zed писал(а):Будет работать или нет, я вам не скажу, но скажу одно: кэш Беркли так использовать нельзя. Это не сетевая база данных, а встраиваемая. Этим всё сказано.

Ну фактически в данном случае даже не важно, что тут сетевой доступ, важно то, что хочется иметь возможность работать с таким кэшем в режиме чтения из папки, физически закрытой на любую запись (способ запрета записи не важен). Если это тоже противоречит принципу работы с базой данных, увы, придется для данного варианта использовать тайловый кэш. Но в любом случае попробую, за ответы - спасибо.
Аватара пользователя
xromeo
Постигающий Дао
 
Сообщения: 189
Зарегистрирован: 21 июл 2009, 20:42
Благодарил (а): 36 раз.
Поблагодарили: 10 раз.

Re: Использование в Sas.Планета кеша в формате Berkeley

Сообщение zed » 24 окт 2014, 22:17

xromeo писал(а):Если это тоже противоречит принципу работы с базой данных

Противоречит. Лучше используйте БД, которые заточены на сетевую работу - у нас же есть поддержка СУБД в конце концов!

За это сообщение автора zed поблагодарил:
xromeo (24 окт 2014, 22:35)
Рейтинг: 5.26%
 
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Использование в Sas.Планета кеша в формате Berkeley

Сообщение xromeo » 25 окт 2014, 11:03

используйте БД, которые заточены на сетевую работу - у нас же есть поддержка СУБД в конце концов!

Не вариант. Цель не оправдывает средства. Представьте, кэш объёмом более 100 Гб, готовый, который использовался на одном компе, а теперь надо использовать ещё на двух... и теперь надо выбирать какую-то субд, разбираться с ее настройками, устанавливать на все машины, ну и вдобавок как-то конвертировать из Беркли в эту СУБД - 1) разобраться как, 2) представить себе, сколько это в принципе займёт времени. Уж намного проще по старинке, распаковать кэш в тайловый на VHD-том и его расшаривать в режиме рид-онли.

А что касается Berkeley-кэша - получается так, что он подходит только для однопользовательского режима. Один компьютер - один кэш - один пользователь.
Аватара пользователя
xromeo
Постигающий Дао
 
Сообщения: 189
Зарегистрирован: 21 июл 2009, 20:42
Благодарил (а): 36 раз.
Поблагодарили: 10 раз.

Пред.След.

Вернуться в SAS.Планета

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12