Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M Новый топик    Ответить
 Как установить Cache' Block Explorer?  [new]
Алексей12377
Guest
Добрый день!

Прочитал статьи про блоки Каше - очень интересно. А есть инструкция как поставить и сконфигурировать Cache Block explorer на Cache под Windows (2016.2)?

https://github.com/daimor/CacheBlocksExplorer

Спасибо.
30 июн 17, 08:43    [20601502]     Ответить | Цитировать Сообщить модератору
 Re: Как установить Cache' Block Explorer?  [new]
Александр Коблов
Member

Откуда: Краснодар, Москва
Сообщений: 237
Алексей12377,

Я сам не пробовал, но на закладке Releases вроде файлы для установки есть
https://github.com/daimor/CacheBlocksExplorer/releases
30 июн 17, 10:38    [20601930]     Ответить | Цитировать Сообщить модератору
 Re: Как установить Cache' Block Explorer?  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno
Сообщений: 2410
Алексей12377,

Как верно заметил Александр, есть релизная версия, там есть два вида установщика.
  • Можно установить в любую область и настроить самостоятельно. - CacheBlocksExplorer.xml
  • Либо с настройкой новой области приложения и всего что нужно - StandaloneInstaller.cls.xml

    Если есть проблемы при установке и в работе, пиши, постараюсь исправить. У меня есть желание улучшить проект, в том числе в части поддержки разных версий Caché, но к сожалению пока не получается выделить время на это. Много параллельных проектов и так, плюс семья.
  • 30 июн 17, 13:03    [20602616]     Ответить | Цитировать Сообщить модератору
     Re: Как установить Cache' Block Explorer?  [new]
    Блок А.Н.
    Member

    Откуда: Новосибирск
    Сообщений: 3541
    DAiMor,

    нет в планах функционала по определению ошибок в структуре и их исправлению?
    30 июн 17, 17:07    [20603808]     Ответить | Цитировать Сообщить модератору
     Re: Как установить Cache' Block Explorer?  [new]
    DAiMor
    Member

    Откуда: Volzhsky -> Moscow -> CZ, Brno
    Сообщений: 2410
    Блок А.Н.
    DAiMor,

    нет в планах функционала по определению ошибок в структуре и их исправлению?
    А чем стандартная проверка целостности не устраивает?
    Автоматическое исправление ошибок наверно и можно реализовать. Но не просто, и нужна коллекция ошибок. Да и вероятность корректного исправления ошибок все таки не 100%.
    30 июн 17, 17:47    [20603967]     Ответить | Цитировать Сообщить модератору
     Re: Как установить Cache' Block Explorer?  [new]
    Блок А.Н.
    Member

    Откуда: Новосибирск
    Сообщений: 3541
    DAiMor,

    автоматическое не стоит, наверное. А вот показать и дать исправить, думаю, можно. Но тут согласен, тяжело тестировать, нужны "эталонные" ошибки.
    Стандартная не нравится тем, что не нее нет документации, кроме относительно простых ошибок поправить я, например, не смогу. Большую часть параметров типа Blnextpntlen4 и подобных я вообще не понимаю. Видел ошибки в bigstring блоках, их REPAIR вообще не дает править (благо, потом исчезли сами собой). Был случай, когда при исправлении ошибки у блока добавился дочерний узел, при редактировании и сохранении я создал еще одну ошибку. Хотелось бы при сохранении предупреждение, что блок в базе изменился (надеюсь, там есть какие-то метки, когда он был последний раз записан?). И в целом REPAIR дико неудобный, при том, что количество дочерних узлов огромное, а INTEGRIT иногда дает очень туманные описания. Приходится многостраничную выдачу REPAIR копировать в блокнот и там искать текстом.
    Но я понимаю, в идеале необходимость в REPAIR должна возникать крайне редко, а писать и тестировать стороннюю утилиту для таких дел, как работа со структурой базы в некоторых случаях может быть вредно для кармы :-)
    30 июн 17, 20:34    [20604359]     Ответить | Цитировать Сообщить модератору
     Re: Как установить Cache' Block Explorer?  [new]
    Блок А.Н.
    Member

    Откуда: Новосибирск
    Сообщений: 3541
    Или вот, например, ситуация. INTEGRIT проверяет глобал несколько часов, я правлю ошибки, сохраняю и снова проверяю. Но мне так то не нужно проверять заново весь глобал, я же знаю, где произошла ошибка.
    30 июн 17, 21:45    [20604463]     Ответить | Цитировать Сообщить модератору
     Re: Как установить Cache' Block Explorer?  [new]
    Блок А.Н.
    Member

    Откуда: Новосибирск
    Сообщений: 3541
    Во, там же потыкать можно и посмотреть:

    Blincversion4 - block header incremental backup version
    Blpntlen4 - block header pointer length field
    Blnextpntlen4 - block header next pointer length
    Blnextpntvalue4 - block header Discriminator byte
    Blnextpntoff - block header indicator of stored next pointer

    Правда, непонятно все-таки, зачем это нормальному человеку нужно править?
    А вот где поправить, например, "Next Pointer Reference", я так и не увидел. Линк правится, а вот это как нужно само не заполняется
    30 июн 17, 22:08    [20604494]     Ответить | Цитировать Сообщить модератору
     Re: Как установить Cache' Block Explorer?  [new]
    Alexey Maslov
    Member

    Откуда: СПб
    Сообщений: 1428
    Блок А.Н.
    Но мне так то не нужно проверять заново весь глобал, я же знаю, где произошла ошибка.
    Частичные проверки (типа пройтись по указателям) позволяет делать REPAIR, а если нужна полная проверка, то всё равно будет не быстрее, чем Integrity.
    30 июн 17, 22:12    [20604502]     Ответить | Цитировать Сообщить модератору
     Re: Как установить Cache' Block Explorer?  [new]
    Блок А.Н.
    Member

    Откуда: Новосибирск
    Сообщений: 3541
    Alexey Maslov,

    а у REPAIR разве есть функция проверки? По-моему, она как топор, что скажешь, то и отрежет. Не вижу там опций по проверке данных.
    30 июн 17, 22:17    [20604513]     Ответить | Цитировать Сообщить модератору
     Re: Как установить Cache' Block Explorer?  [new]
    Alexey Maslov
    Member

    Откуда: СПб
    Сообщений: 1428
    Блок А.Н., можно пройтись по цепочке указателей сверху-вниз до текущего блока можно:

    Block # 6958             Type: 8 DATA
    Link Block: 6959 Offset: 7372
    Count of Nodes: 520 Collate: 37 Big String Nodes: 0
    Pointer Length:33 Next Pointer Length:42 Diff Byte:Hex 22
    Pointer Reference: ^Q(1,70,"#ABAAnKp","rlss")
    Next Pointer Reference: ^Q(1,70,"#ABAAnLH","rlswname>")
    Next pointer stored? Yes


    --more--q

    Block Repair Function (Current Block 6958): 9 Pointer Tree

    3 levels
    Directory block: 3 => 48 => 7027 => 6958

    Block Repair Function (Current Block 6958):

    О корректности правого указателя (Link Block) утилита также предупреждает. Т.о., локальные аномалии увидеть довольно легко, а какую ещё ограниченную проверку (кроме полной) можно предложить? Integrity, кстати, позволяет проверить и отдельный глобал.
    1 июл 17, 12:31    [20605088]     Ответить | Цитировать Сообщить модератору
     Re: Как установить Cache' Block Explorer?  [new]
    DAiMor
    Member

    Откуда: Volzhsky -> Moscow -> CZ, Brno
    Сообщений: 2410
    Alexey Maslov
    Integrity, кстати, позволяет проверить и отдельный глобал.
    И не теолько отдельный глобал, а еще можно запустить с любого блока. Очень удобно когда база большая, и чтобы долго не ждать.
    1 июл 17, 14:13    [20605265]     Ответить | Цитировать Сообщить модератору
     Re: Как установить Cache' Block Explorer?  [new]
    Блок А.Н.
    Member

    Откуда: Новосибирск
    Сообщений: 3541
    Alexey Maslov,

    Да вы прикалываетесь. В блоке может быть штук 700 ссылок. Их просто проматывать и смотреть уже нереально (я в блокнот копирую, но это убожество) В каждом блоке есть правый указатель, но если бы только он. В каждом блоке есть "первый указатель", который должен совпадать с указателем в родительском блоке. Последний указатель блока должен быть меньше в сортировке, чем последний предыдущего блока. И это только то, что при моих ограниченных знаниях сразу пришло в голову, там целая система уравнений, что с чем должно совпадать. Чтобы проверить буквально одну кривую правую ссылку, нужно зайти и посмотреть несколько блоков, причем предыдущие данные уматывает вверх, да и текущие не очень то удобно смотреть. Приходится работать в нескольких REPAIR одновременно.
    1 июл 17, 14:46    [20605310]     Ответить | Цитировать Сообщить модератору
     Re: Как установить Cache' Block Explorer?  [new]
    Блок А.Н.
    Member

    Откуда: Новосибирск
    Сообщений: 3541
    DAiMor
    а еще можно запустить с любого блока. Очень удобно когда база большая, и чтобы долго не ждать.
    Не видел такой опции, действительно, это было бы удобно.
    1 июл 17, 14:47    [20605311]     Ответить | Цитировать Сообщить модератору
     Re: Как установить Cache' Block Explorer?  [new]
    Блок А.Н.
    Member

    Откуда: Новосибирск
    Сообщений: 3541
    Alexey Maslov
    Integrity, кстати, позволяет проверить и отдельный глобал.

     Top Pointer Level:    # of blocks=1      8kb (17% full)
    Pointer Level: # of blocks=102 816kb (79% full)
    Bottom Pointer Level: # of blocks=54,132 422MB (79% full)
    Data Level: # of blocks=42,378,249 331,080MB (85% full)
    Big Strings: # of blocks=1,328 10MB (59% full) # = 1,283
    Total: # of blocks=42,433,812 331,514MB (85% full)
    Elapsed Time = 14083.7 seconds 17:21:08

    Не всегда помогает :-)
    1 июл 17, 14:53    [20605319]     Ответить | Цитировать Сообщить модератору
     Re: Как установить Cache' Block Explorer?  [new]
    DAiMor
    Member

    Откуда: Volzhsky -> Moscow -> CZ, Brno
    Сообщений: 2410
    Блок А.Н.
    DAiMor
    а еще можно запустить с любого блока. Очень удобно когда база большая, и чтобы долго не ждать.
    Не видел такой опции, действительно, это было бы удобно.
    Ну это не то чтобы опция, просто исходники то открыты, и можно найти место для этого.
    1 июл 17, 15:57    [20605390]     Ответить | Цитировать Сообщить модератору
     Re: Как установить Cache' Block Explorer?  [new]
    Alexey Maslov
    Member

    Откуда: СПб
    Сообщений: 1428
    Блок А.Н.
    Да вы прикалываетесь. В блоке может быть штук 700 ссылок
    Не более, чем вы: едва ли кто-то возьмётся править несколько сотен ошибок :)

    Ошибки в 99% случаев затрагивают блоки данных, и закончив правку блока данных, я нередко смотрел Pointer Tree. Полной проверки, понятное дело, это не заменяет, но грубую ошибку заметить можно.
    1 июл 17, 23:26    [20606144]     Ответить | Цитировать Сообщить модератору
     Re: Как установить Cache' Block Explorer?  [new]
    Блок А.Н.
    Member

    Откуда: Новосибирск
    Сообщений: 3541
    Alexey Maslov,

    Эм. У меня pointer tree показывает всего лишь цепочку родительских блоков, а не все дерево.
    2 июл 17, 12:47    [20606706]     Ответить | Цитировать Сообщить модератору
     Re: Как установить Cache' Block Explorer?  [new]
    Alexey Maslov
    Member

    Откуда: СПб
    Сообщений: 1428
    Блок А.Н.,

    Верно, поэтому полезность сей опции - в основном контроль родительской цепочки после правки блока данных.

    Наверное, было бы интереснее, если бы она показывала ещё и две цепочки до соседних блоков, которые тоже обычно бывают затронуты правкой.

    По воспоминаниям, самые большие неприятности мне доставила REPAIR в Cache 2010.1 (?), когда она сама вдруг вылетела по ошибке. Хорошо, что базы были тогда не очень большие, так что относительно быстро перетащили БД в более свежую версию Cache, где REPAIR по крайней мере не вылетала. Дело давнее, подробностей уже не помню.
    3 июл 17, 11:50    [20608413]     Ответить | Цитировать Сообщить модератору
    Все форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M Ответить