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

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

Модераторы: Tolik, zed

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

Сообщение Tolik » 31 окт 2012, 15:17

Parasite писал(а):
Tolik писал(а):Кэш Беркли - это не какая-то абстрактная БД в вакууме. Это неотъемлемая часть САС.Планеты, и она (Планета) прекрасно знает, как достать оттуда нужный тайл.

На самом же деле - это таки абстрактный базовод libdb51.dll в вакууме в папке САСа, производства одной малоизвестной шарашки "Oracle".

Неееет, это базовод Беркли - абстрактный и отъемлемый и производства шарашки. А кэш Беркли - уже часть САСа.

За это сообщение автора Tolik поблагодарили: 2
vdemidov (31 окт 2012, 15:18) • zed (31 окт 2012, 16:18)
Tolik
Гуру
 
Сообщения: 1624
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 68 раз.
Поблагодарили: 242 раз.

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

Сообщение vdemidov » 31 окт 2012, 15:20

Именно. Базовод беркли понятия не имеет как искать конкретный тайл. Он может только выдать данные по бинарному ключу или сохранить их.
А вот уже реализация тайлохранилища написанная Zed-ом с использованием базовода беркли уже может работать с тайлами.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1166
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 92 раз.
Поблагодарили: 52 раз.

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

Сообщение Parasite » 31 окт 2012, 17:10

Tolik писал(а):
Parasite писал(а):На самом же деле - это таки абстрактный базовод libdb51.dll в вакууме в папке САСа, производства одной малоизвестной шарашки "Oracle".

Неееет, это базовод Беркли - абстрактный и отъемлемый и производства шарашки. А кэш Беркли - уже часть САСа.

Я про базовод и говорил, это во-первых.
А во-вторых - базоводу без разницы, что хранить: кэш САСа или ключи от пентагоновского сервера. Что сказано - то и хранит. КАК КОНКРЕТНО хранит (выше я не зря указал строчку "байтовые смещения итд") - вопрос для базовода, а не саса. Посему контейнер базы принадлежит базоводу, а не сасу. Просто для САСа тот базовод некоторым образом "прозрачен", если можно так выразиться - что ничуть не отменяет его, абстрактного, наличия и безусловной необходимости в работе. САСу принадлежат (и от него и приходят) цифирки хранимого контента, а сама созданная база (как набор .DB-файлов) принадлежит базоводу. А мы тут, насколько я понял - именно за "беркли-кэш САСа" как набор файлов базы данных, не так ли?

САС+голая база с кэшем, если нет "абстрактного" базовода - настолько же неюзабельны, как и вообще без оного кэша. САС (без базовода) будет смотреть на этот "принадлежащий ему кэш" как ламер - на плиточный интерфейс: немного подозрительно и вместе с тем удивленно. Другими словами, тайловый кэш САСа настолько же "не принадлежит" ФС, как и кэш беркли - базоводу (несмотря на то что первое всё-таки хранится во втором, а третье - в четвертом). Для проверки - изымаем "промежуточный слой" в виде ФС из первой пары, и в виде libdb51.dll - из второй, и внимательно наблюдаем - как голый САС сумеет поработать с голым кэшем "без посредников". А никак, мягко говоря. Так кто кому принадлежит, и почему САС находится лишь на конце этой цепочки? :)
Надеюсь, так понятнее.

Если еще нет - пускай кто-нибудь мне скажет (не спрашивая базовод), по какому конкретно смещению, сколько штук и от начала какого конкретно файла (из многих) взять байты из базы, если я знаю XYZ нужного мне тайла - и мне нужен контент этого тайла. Ну или в какие байты базы писАть новый\заменяемый тайл.

vdemidov писал(а):Базовод беркли понятия не имеет как искать конкретный тайл.

Т.е. ты хочешь сказать, что базовод самостоятельно (без САСа) не сможет найти и отдать набор байтов ХХХ, если я кину в тот базовод необходимые тому ключи (запрос равный САСовому - но без САСа как такового)? Странно, штатный оракловский дампер дампит сасову беркли-базу (без САСа) на раз-два.

vdemidov писал(а):реализация тайлохранилища написанная Zed-ом с использованием базовода беркли

Ничуть не оспариваю заслуг zeda на этом поприще - вещь архиполезная и просимая многими еще с самого начала проекта, за что и спасибо ему.
Мы просто тут обсуждаем уровень вопроса на один ниже от "преобразуется тайловый кэш в формат сас или нет", а именно - [не]знание тонкой структуры контейнера приложением при наличии промежуточного базовода как драйвера того самого контейнера, и соответственно абстрактную принадлежность того контейнера "тому кто его породил и больше про него знает" (т.е.базоводу). По факту-то - созданные Васей файлы принадлежат Васе, базовод - Ораклу, а укачанный с сервера контент - копирайтеру... :)

А вообще - все-таки не совсем понятно, зачем это всё нужно было вопросившему. "Работает? Не трогай!"© :)
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Аватара пользователя
Parasite
Администратор
 
Сообщения: 4532
ICQ: 15819243
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 57 раз.
Поблагодарили: 214 раз.

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

Сообщение zed » 31 окт 2012, 17:49

А мы тут, насколько я понял - именно за "беркли-кэш САСа" как набор файлов базы данных, не так ли?

Однако, простой набор файлов *.sdb ещё не есть кэш Беркли. Кэш - более высокий абстрактный уровень, который реализован уже именно в САСе, а не в той dll.
Parasite писал(а):Т.е. ты хочешь сказать, что базовод самостоятельно (без САСа) не сможет найти и отдать набор байтов ХХХ, если я кину в тот базовод необходимые тому ключи (запрос равный САСовому - но без САСа как такового)?

Вот именно что - набор байтов, но чтобы правильно интерпретировать эти данные тебе придётся попотеть и повторить код САСа, ответственный за работу с кэшем Беркли. И ни сам базавод, ни стандартные утилиты тут тебе не помогут.
Хитрости GoogleEarth - то, чего вы не знаете о гугле

За это сообщение автора zed поблагодарил:
vdemidov (31 окт 2012, 18:01)
Аватара пользователя
zed
Гуру
 
Сообщения: 1519
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 37 раз.
Поблагодарили: 177 раз.

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

Сообщение Parasite » 31 окт 2012, 18:16

zed писал(а):
А мы тут, насколько я понял - именно за "беркли-кэш САСа" как набор файлов базы данных, не так ли?

Однако, простой набор файлов *.sdb ещё не есть кэш Беркли. Кэш - более высокий абстрактный уровень, который реализован уже именно в САСе, а не в той dll.

Что есть "кэш Беркли", как (после всех "транспортных" обработок) не набор тех же цифирок контента, просто хранимых в другой форме (вплоть до системной инфы типа XYZ, размера и проч - она есть в обоих вариантах)?

Вот, допустим, на ФАТ32 есть тайл x0\0\y0\0.jpg размером 12345, создание\изменение файла 01.01.2001 (далее - 12345 байт бинари по указателям в ФАТе) - и есть где-то там в базе 12345 байт бинари, описываемой такими же ключиками. Бинарь (=тайл) одинаков и там и там, по большому счету САСу нужен только он (все остальное - служебка), и именно это и есть "кэш САСа" как таковой.

Всей разницы - лишь в виде хранения этих ноликов\единичек на физ.носителе, ну и прочие сопутствующие вкусности типа быстрого доступа etc. Контент - все тот же, и на этом уровне вопроса разницы-то, получается, и нет - она ниже, на "транспортном". Коим заведует уже не САС, а ФС|базовод - и соответственно это уже не кэш, а та или иная форма хранения оного, отданная на откуп тому или иному "транспортному посреднику" (т.е. не контролируемая САСом напрямую). "Кэш САСа" - вон он, остался уровнем выше - и там разницы в зависимости от формы хранения не обнаружилось. Что я и хотел сказать ранее. Я неправ?

zed писал(а):чтобы правильно интерпретировать эти данные тебе придётся попотеть и повторить код САСа

Я не спрашивал про интерпретацию результатов - я спрашивал про выдачу (базоводом) результата при получении на вход запроса, идентичного САСовому.
Что делать с выхлопом - уже задача САСа, разумеется. Он может его хоть в /dev/null сливать - базовода это уже не касается. С этим никто и не спорит, см.слова "САСу принадлежат (и от него и приходят) цифирки хранимого контента". Я тут обсуждаю лишь контейнер, хранящий эти цифирки (какими бы они ни были).

Кстати, чтобы два раза не вставать: можно ли безопасно удалять папку env из уже созданного, проверенного и не предполагаемого к изменению кэша (при раздаче по торрентам например)? Чем вообще грозит ее удаление? Где-то пару месяцев назад этот вопрос пробегал уже, но сейчас что-то не ищется...
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Аватара пользователя
Parasite
Администратор
 
Сообщения: 4532
ICQ: 15819243
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 57 раз.
Поблагодарили: 214 раз.

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

Сообщение zed » 31 окт 2012, 18:35

Parasite писал(а):Кстати, чтобы два раза не вставать: можно ли безопасно удалять папку env из уже созданного, проверенного и не предполагаемого к изменению кэша (при раздаче по торрентам например)? Чем вообще грозит ее удаление? Где-то пару месяцев назад этот вопрос пробегал уже, но сейчас что-то не ищется...

Чисто для себя, её нет смысла удалять, т.к. она будет автоматически воссоздана при следующем запуске САСа и обращении к этому кэшу, пусть и на чтение. А при раздаче на торрентах - можно, но только сперва нужно запустить sdb_util и "отлинковать" файлы sdb от папки env:
Код: Выделить всё
Reset LSN [cmd: db_load -r lsn]

В опциях там даже можно поставить галочку Delete env on finish и папка env будет удалена автоматически.
Хитрости GoogleEarth - то, чего вы не знаете о гугле

За это сообщение автора zed поблагодарил:
Parasite (31 окт 2012, 18:37)
Аватара пользователя
zed
Гуру
 
Сообщения: 1519
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 37 раз.
Поблагодарили: 177 раз.

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

Сообщение DJ VK » 31 окт 2012, 18:37

Papazol, Хранение файлов в кэше взаимозаменяемое (абсолютно). Сжать можно в базу и из gmt, и восстановить обратно ее родную структуру директорий. Максимум только с датами создания тайлов могут быть вопросы....

zed писал(а): при перегонке кэша нужно не перемещать, а копировать тайлы из исходного кэша

увы.... зачем собственно и сжимается все в базу, чтобы места меньше занимало.

Parasite писал(а):А у меня, при проработке бага 1592 (так до конца и не прибитого на больших выделениях, так что далеесказанное - в силе) база валится - только в путь.

Может размер имеет значение? Я пока 100гб предел не переходил. Релиз 12_1010...
Аватара пользователя
DJ VK
Специалист
 
Сообщения: 821
Зарегистрирован: 16 апр 2009, 13:57
Благодарил (а): 51 раз.
Поблагодарили: 80 раз.

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

Сообщение Parasite » 31 окт 2012, 18:41

zed писал(а):она будет автоматически воссоздана при следующем запуске САСа и обращении к этому кэшу, пусть и на чтение
"отлинковать" файлы sdb от папки env

При создании этой папки заново - эти файлы прилинкуются туда автоматом, или надо делать еще какие-то доп.телодвижения ручками?

PS: на торрентах раздаю просто архивированные папки zXX (не включая общую для всех зумов папку env. И отлинковку не делал). Надеюсь, ничего криминального - и скачанный другими кэш таки будет работоспособен, коль скоро папка пересоздастся? Архивировал зумы при закрытом САСе, разумеется.

DJ VK писал(а):
Parasite писал(а):А у меня, при проработке бага 1592 (так до конца и не прибитого на больших выделениях, так что далеесказанное - в силе) база валится - только в путь.

Может размер имеет значение? Я пока 100гб предел не переходил. Релиз 12_1010...

Не, валится даже на свеженачатых - если САС зависнет и снимается по 3м кнопкам. Там вообще мало было - мегов 50-100. Просто на момент зависона была запись в базу, а 3 кнопки - это 3 кнопки...

Впрочем, пару раз было что кэш валился даже при просмотре оного (НЕ при записи). Такое ощущение что оно базу открывает на запись по умолчанию, и если сас крэшится даже при просмотре - то что-то в базе корежится. Потом при попытке качать в нее - закачка стопорится на первом же тайле. Ошибок нет, просто лог в окошечке скачки не бежит. Утили зеда при проверке сыпят рапортами о "Reset LSN", или как-то так...После проверки - работает, но перманентно несколько файлов таки в бэд и приходится ставить САС на прокачку еще раз, чтобы перекачал побитое.
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Аватара пользователя
Parasite
Администратор
 
Сообщения: 4532
ICQ: 15819243
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 57 раз.
Поблагодарили: 214 раз.

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

Сообщение zed » 31 окт 2012, 18:49

Parasite писал(а):При создании этой папки заново - эти файлы прилинкуются туда автоматом, или надо делать еще какие-то доп.телодвижения ручками?

Автоматом. Т.е. переживать нужно только за отлинковку, если хочется удалить env.
Parasite писал(а):Надеюсь, ничего криминального - и скачанный другими кэш таки будет работоспособен, коль скоро папка пересоздастся?

Папка-то пересоздаётся, но вот логи в ней - уникальные, хоть внешне имена и одинаковые, поэтому если sdb небыли отлинкованы от твоих логов, юзеру придётся вначале пройтись той утилиткой, чтобы она подчистила линки и только потом можно будет пользоваться.
Хитрости GoogleEarth - то, чего вы не знаете о гугле

За это сообщение автора zed поблагодарил:
Parasite (31 окт 2012, 18:51)
Аватара пользователя
zed
Гуру
 
Сообщения: 1519
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 37 раз.
Поблагодарили: 177 раз.

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

Сообщение Parasite » 31 окт 2012, 18:54

zed писал(а):Папка-то пересоздаётся, но вот логи в ней - уникальные, хоть внешне имена и одинаковые, поэтому если sdb небыли отлинкованы от твоих логов, юзеру придётся вначале пройтись той утилиткой, чтобы она подчистила линки и только потом можно будет пользоваться.

Может есть смысл автоматом отлинковывать при выходе с САСа (без удаления собственно папки)? При старте саса оно подхватится автоматом...Операция весьма неочевидна при обмене кэшем - но, как я понимаю, критична. А утиль и так в комплекте есть.
При автом.отлинковке - кэш можно будет просто копировать из-под закрытого САСа куда угодно, не парясь об этом...
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Аватара пользователя
Parasite
Администратор
 
Сообщения: 4532
ICQ: 15819243
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 57 раз.
Поблагодарили: 214 раз.

Пред.След.

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

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

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

cron