|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
Просветите про "архитектуру" gt.m... В мамсе были тома и кипы, суть тома - файл. А кип это некое логическое разделение... В кип нужно было перейти используя команду VIEW... В Кащее есть БД и области... Как дальше, все вкурсе... Как какова архитектура в gt.m? ---------- Cache for Windows (x86-64) 2012.2.2 (Build 801) Fri Dec 7 2012 12:08:23 EST ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 09:01 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
Valeriukrvsa, Тема была http://www.sql.ru/forum/1033138/gt-m-nastroyka-direktoriy-i-baz-dannyh?hl= В этой теме не написано про саму архитектуру... Вот про нее-то и хочется узнать с самого начала. Там звучит понятие "глобальная директория" это аналог кащейской области? Это просто некая папка линуксовая? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 10:01 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
Вот картинка "описывающая" архитектуру ГТ.М Т.е. есть какие-то файлы... Они разбиты на сегменты... Которые потом собраны в какие-то Regions. Кто такой Regions? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 10:30 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
Кто такой Segments? Файлы *.dat это базы данных? Что за файлы *.mjl? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 10:57 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
krvsaЧто за файлы *.mjl?журналирование ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 11:11 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
DAiMorkrvsaЧто за файлы *.mjl?журналирование Одно прояснили. Интересно узнать про остальное... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 11:43 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
krvsa, Можно пойти по этому адресу и скачать AcculturationWorkshop.zip Там более детально описаны процедуры создания глобальных директорий. И не только. http://sourceforge.net/projects/fis-gtm/files/GT.M Acculturation Workshop/0.9/ ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 12:07 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
Если короче. Каждой области где находятся наши Глобалы соответствует Regions Regions-это все что касается свойств Глобалов(длина строки, размер ключа итд...) (смотрите show -region ) Эти параметры можно менять(change -region ... итд) change -segment Каждому региону соответствует Segments Segments -это все что касается файловой системе (размер блока, итд) (смотрите show -segment ) Эти параметры можно менять (change -segment ... итд) .dat - это база данных (только Глобалы !) .mjl - журналы баз. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 12:45 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
ValeriuМожно пойти по этому адресу и скачать AcculturationWorkshop.zip Если поговорить про это (архитектуру) нет желающих, остается только "пойти"... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 12:46 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
ValeriuRegions-это все что касается свойств Глобалов(длина строки, размер ключа итд...) Каждому региону соответствует Segments Segments -это все что касается файловой системе (размер блока, итд) Т.е. Regions и Segments физически (в файловой системе Линукса) никак не представлены? Это просто некие "сущности" отвечающие за детальные настройки или описания? Valeriu.dat - это база данных (только Глобалы !) .mjl - журналы баз. Тут понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 12:54 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
Если перейти к файловой системе... Что есть "Глобальная директория"? Это линуксовая папка? Если папка - что будет внутри нее? С какой целью могут быть созданы те Сегменты и регионы? Т.е. вообще с этим стоит заморачиваться или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 12:59 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
krvsa, Т.е. Regions и Segments физически (в файловой системе Линукса) никак не представлены? Это просто некие "сущности" отвечающие за детальные настройки или описания? Выходит так. Что есть "Глобальная директория"? Это линуксовая папка?да Если папка - что будет внутри нее? Например папка: /home/test baza.dat - baza.mjl - baza.gld - Еще две папки в этой же папки для рутин: 1. /home/test/r - текст самих рутин (routine.m) 2. /home/test/o - обьектные модули рутин (routine.o) Все это настраиваем в переменные окружения. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 14:02 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
ValeriuНапример папка: /home/test Это и будет глобальная директория? Valeriu baza.gld А это кто? На картинке таких файлов нет... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 14:05 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
krvsa, :) это просто пример .gld а это информация о директории где находится база(Global Directory) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 14:09 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
Valeriuэто просто пример Так если нет теоретического курса на русском, тогда и примеры могут дать хоть какое-то понятие о изучаемом "объекте"... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2015, 14:36 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
krvsa, может что-то изменилось - но три года назад было именно так файл /что-то там.gld - это описание базы данных (ну там где именно находится собственно база, и ее параметры - размер ключа, размер собственно данных и т.д) - он небольшой 1024 байт соответствующий ему файл /что-то там.dat - это собственно база данных остальные расширения типа \что-то там.log \что-то там.mjl - в общем-то совершенно никому не нужная ахинея требуемая стандартом MUMPS - на них не стоит заморачиваться С уровнями NAMES, REGIONS, SEGMENTS заморачиваться тоже не стоит - тут товарищ Blashkar сам себя перехитрил - попробовал объять необъятное и в общем-то реализовал - но как пользоваться наверное только он и знает NAMES - если грубо - то можно задавать диапазоны - типа от ^А*** до ^К*** хранится - там (в одном файле xxx.dat) а от ^L*** до ^Z*** совсем не там - в другом файле (yyy.dat) очень сомневаюсь что на практике это используется где нибудь REGION - описание параметров базы данных 1. Размер ключа (не знаю как сейчас, а совсем недовно было всего 55 символов) что такое размер ключа ^ZZZ("qqqq","wwwww","eeee") - это ключ размер ключа - длина этой строки (если не ошибаюсь включая первый ^ и кавычки 2. размер записи - если, скажем record_size=4080 то это размер записи вместе с ключем сменить примерно так $gde -region DЕFAULT -key_size=255 -record_size=4080 SЕGMENT - в общем-то неудачная попытка сделать кипы подобные MSM тут можно подключать к одному *.gld несколько *.dat - и когда-то при проводимых экспериментах у меня это получалось - сейчас не вспомню как да и не нужно сменить примерно так $gde change -segment DEFAULT -block_size=4096 -allocation=5000 -extension=10000 -global_buffer_count=1000 -file_name=\что-то там обратите внимание на опцию -file_name - она важна Вообще не пользуйтесь стандартными профилями создания баз данных - рисуйте свой основной недостаток стандартных профилей - обращение к текущему каталогу линукса посмотрите визуально просмотром на ваш файл что-то там.gld Вы увидите там среди всего прочего ссылку на файл .\что-то там.dat .\ - означает - в текущем каталоге - и это бомба замедленного действия ДОЛЖЕН БЫТЬ ПОЛНЫЙ ПУТЬ что-то типа \usr\каталог1\каталог2\каталог2\что-то там.dat и для этого нужна та самая опция при создании базы данных -file_name=\usr\каталог1\каталог2\каталог2\что-то там.dat Резюме 1. Делаем свой профиль для создания базы данных 2. NAMES, REGION, SEGMENT не заморачиваемся - все DEFAULT, за исключением вышесказанного и все-таки можно сделать что-то подобное КИПАМ MSM роли КИПов выполняют каталоги линукса КИП1=\usr\каталог1\каталог2\КИП1\ КИП2=\usr\каталог1\каталог2\КИП2\ КИП3=\usr\каталог1\каталог2\КИП3\ КИП4=\usr\каталог1\каталог2\КИП4\ В КИПАХ лежат файлы *.m *.o программ и файлы КИП1.gld КИП1.dat в программах вместо $view при переходе в КИП используете для программ конструкцию $zr=\usr\каталог1\каталог2\КИП2\ для глобалов $zg=\usr\каталог1\каталог2\КИП2\файл.gld или , как альтернативу полную глобальную ссылку ^[\usr\каталог1\каталог2\КИП2.gld]global причем выражение в скобках может быть переменной s A="\usr\каталог1\каталог2\КИП2.gld" s B=^[A]global SEGMЕNT - тут мне кажется попытка реализовать MSM-овские кипы все по умолчанию за исключением параметров базы данных - а именно 1. Размер ключа (не знаю как сейчас, а совсем недовно было всего 55 символов) что такое размер ключа ^ZZZ("qqqq","wwwww","eeee") - это ключ размер ключа - длина этой строки (если не ошибаюсь включая первый ^ и кавычки ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 00:02 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
И скачайте с сайта Евгения Каратаева minimdb.com мой alt-nc Во первых он прекрасно работает c gt/m Во вторых вы там найдете в фале %aZGTM реализацию многих функций о котрорых тут задавались вопросы ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 00:23 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
Спасибо за такое подробное описание! Картинка стала складываться. Удивило, что "размер ключа" всего 55 символов... Думал, что в "стандарте" это таки 255. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 08:50 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
andrew000999NAMES - если грубо - то можно задавать диапазоны - типа от ^А*** до ^К*** хранится - там (в одном файле xxx.dat) а от ^L*** до ^Z*** совсем не там - в другом файле (yyy.dat) очень сомневаюсь что на практике это используется где нибудьНе знаю, как в GT.M, а в Cache' подобная функция (namespace global mapping) достаточно востребованная: отобразить в БД CACHETEMP временные глобалы/подглобалы с "нетемповыми" именами - святое дело. Кашисты хорошо знают достоинства CACHETEMP, не знаю, есть ли аналог в GT.M. Другая возможная причина - отправить глобал(ы), в которые идёт активная запись, но редкое чтение, в отдельную БД, которая находится на физически отдельном томе, чтобы не замедлять доступ к основной БД. Приходилось и такое делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 10:58 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
Alexey MaslovДругая возможная причина И еще одну добавлю: вынести определённые глобалы, данные в которых должны быть общими для группы различных областей, в одну отдельную базу. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 13:21 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
П.С.М.И еще одну добавлю: вынести определённые глобалы, данные в которых должны быть общими для группы различных областей, в одну отдельную базу. Какой выигрыш это дает? Напомню так же, что тут про ГТ.М и там нет понятия области. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 13:24 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
Так же дополнительно спрошу про отдельные файлы с глобалами... Пока писалось, что эти файлы все (!) должны находиться в одной "глобальной директории". Т.о., я предполагаю, что и физически они должны находиться в одной линуксовой папке. Или для ГТ.М все равно где находятся такие файлы? Все решается банальным описанием "переменных окружения"? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 13:28 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
krvsa, Или для ГТ.М все равно где находятся такие файлы? Все решается банальным описанием "переменных окружения"? Примерно так, но я думаю какой-то порядок для самого себя надо соблюдать. Если у вас на Линухе много пользователей прописано, тогда в файле /home будут присутствовать папки с ихними именами ... Например пользователь zapl (допустим здесь пользователю(ям) что имеют отношения к заработной плате) будет соответствовать папка /home/zapl Вот для этой папки пишите свои "переменных окружения" . Это для порядка и наглядности. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 15:14 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
Все правильно GT.M все равно где находятся файлы базы данных и доступ к ним через переменную окружения gtmgbldir ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 15:23 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
andrew000999Все правильно GT.M все равно где находятся файлы базы данных и доступ к ним через переменную окружения gtmgbldir Ясно. Т.о. понятие "глобальной директории" это, в общем смысле, просто понятие, некая объединяющая сущность. И к "линуксовой папке в которой все и лежит" имеет опосредованное отношение. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 15:57 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
Valeriuно я думаю какой-то порядок для самого себя надо соблюдать Разумеется. Просто для создания того "порядка" хотелось бы прояснить для себя, что вообще можно будет построить... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 15:59 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
Нет понятие "глобальной директории" происходит в общем-то от лени и нежелания разобраться с документацией я думаю процентов 90 пользователей GT/M тупо используют ОДИН файл базы данных сваливая в него десятки тысяч глобалов (я о реализации Висты (в америке так называется крутейшее (общенациональная) программное обеспечение ветеранов ихних вооруженных сил там, изначально реализованное на MUМPS когда я мальчишкой был. Суть: есть некая директория где лежит запускаемый профиль GTM скажем /usr/gtm/profile если в этом же каталоге лежат программы *.m *.о и тут же лежит mumps.gld и mumps.dat (кстати названия файлов менять можно как хочешь) то этот сценарий особо одаренные и называют "глобальная директория" нет такого понятия в GT/M в переменной окружения gtmgbldir можно задавать что угодно - любой существующий файл /что-то/что-то/что-то.gld и тут сразу подводный камень по умолчанию программа *GDE создаст в файле /что-то/что-то/что-то.gld в соответсвующей позиции строку ./mumps.gld которая означает - ишем mumps.dat в текущем каталоге но мы то запускали профиль из каталога /usr/gtm/profile и текущий в общем то он и нет там никакого mumps.dat и ошибка - а нет такого mumps.dat Резюме - это пояснение того почему нужно про проектировании базы данных GT/M ВСЕГДА использовать полный путь к файлу.dat как это делается - в предыдущем посте ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 22:32 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
немного соврал есть такое понятие как глобальная директория расширение *.gld это в общем-то и означает global directory но суть того что я сказал - это не меняет ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2015, 22:53 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
andrew000999немного соврал есть такое понятие как глобальная директория расширение *.gld это в общем-то и означает global directory Т.е. реально линуксовая папка где располагается "запускаемый профиль GTM"? Теперь правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2015, 08:19 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
andrew000999нужно про проектировании базы данных GT/M ВСЕГДА использовать полный путь к файлу.dat Заметано! Будем всегда и у всего использовать полный путь. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2015, 08:20 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
Лень опровергать конкретные неверные представления, поэтому просто скажу так: -глобальная директория (ГД) это файл, где, помимо всего другого, присутствует связь имен глобалей с файлами, где они размещаются. -есть переменная окружения с путём на ГД (при старте же надо определить где текущие глобали находятся), есть системная переменная с путем на текущую ГД, которой разрешено присваивание -можно иметь доступ по полной ссылке '^|всякие_разные_ГД|имя' -в зависимости от использования полных,относительных или вообще без путей, использования иных переменных окружения в путях к ГД, в путях к файлам в самой ГД, можно наворачивать всяко разное. Поэтому вовсе нет никаких ограничений на места размещения конкретных файлов базы данных по дереву каталогов. Насчёт длины ключа. Есть длина по умолчанию при создании ГД, а есть максимально возможная, так вот она в текущей версии равна 1019 байт, а не 55 или 64 или ещё какие мелькавшие числа в дискуссии. Ведь, если включить соображалку, как можно представлять о таких маленьких значениях с учётом уникод-версий gt.m :) Господа программисты, призываю не фантазировать, оставив это дело менеджерам, а читать документацию, что и должен делать инженер :) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2015, 09:37 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
krvsa, У меня скрипты для перемещениям по директориям(базам,uci как хотите называете) стоят отдельно в папке где установил дистрибутив(допустим папка /usr/gtm603/uci) Т.е. сколько у меня баз-столько и скриптов и естественно столько и папок соответственно в /home/nameDB. При вызове этих скриптов, мы и перемещаемся по областям. Конечно процесс еще имеет дополнительные особенности, но суть в этом. Например одна из база для работы с персоналом(cadre) Код: css 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2015, 09:41 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
gluconat_ca-глобальная директория (ГД) это файл, где, помимо всего другого, присутствует связь имен глобалей с файлами, где они размещаются. Ясно. gluconat_caГоспода программисты, призываю не фантазировать, оставив это дело менеджерам, а читать документацию, что и должен делать инженер :) Я не могу читать литературу на аглицком языке. Всего-то... Если есть что-то на русском - поделись, я с удовольствием почитаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2015, 10:07 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
gluconat_caНасчёт длины ключа. Есть длина по умолчанию при создании ГД, а есть максимально возможная, так вот она в текущей версии равна 1019 байт Про максимальную понятно... А какова длина по умолчанию? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2015, 10:18 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
krvsa, 64 по умолчанию ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2015, 10:53 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
55 по умолчанию а Вас теория а я на практике пробовал правда очень давно - лет 10 назад цикл у меня закончился на цифре 55 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2015, 20:15 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
О чем спорим это ведь легко проверить простым циклом - до возникновения ошибкм ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2015, 20:21 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
Проверил я не прав моя программа не считала запятые в итоге все таки 64 минимальный ключ ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2015, 20:30 |
|
[gt.m] "Архитектура"
|
|||
---|---|---|---|
#18+
andrew000999, Правильно. -K[EY_SIZE]=size (bytes) DEF - 64 MIN - 3 MAX - 1,019 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2015, 20:47 |
|
|
start [/forum/topic.php?all=1&fid=39&tid=1556657]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 183ms |
0 / 0 |