Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Хочу заразиться свинкой / i want to pick up MUMPS / 25 сообщений из 34, страница 1 из 2
26.01.2012, 12:19
    #37632482
4d_monster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
Я хочу освоить программирование на MUMPS/M (в подверсии GT.M). И если синтаксис языка и основные его конструкции понятны из книг (Очень понравилась M programming A comprehensive Guide), то типичные паттерны или шаблоны проектирования систем я ещё не смог найти. Например, насколько оправданно вместо склеивания значений полей для записи и последующего P() создавать на следующем индексе(имя поля) значения? Как лучше организовывать индексы.

Где лучше искать такое?
Какие есть актуальные сайты?
Есть ли сайт с набором библиотек?
...
Рейтинг: 0 / 0
26.01.2012, 13:01
    #37632655
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
4d_monsterнасколько оправданно вместо склеивания значений полей для записи и последующего P() создавать на следующем индексе(имя поля) значения?
Ты про такое?

Код: vbnet
1.
2.
3.
4.
s ^data(1)="11/01/2012|1234|Вася"
// или
s ^data(1,"Name")="Вася"
s ^data(1,"Date")="11/01/2012"



4d_monsterКак лучше организовывать индексы.
Например так

Код: vbnet
1.
s ^indData(<ключевое_выражение>,<Id>)=""



Или вообще всё в одном глобале

Код: vbnet
1.
s ^ind("data",<ключевое_выражение>,<Id>)=""
...
Рейтинг: 0 / 0
26.01.2012, 14:12
    #37632873
4d_monster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
Да, про такое. Почему так или эдак ?

В идеале книгу именно по разработке программ на MUMPS
...
Рейтинг: 0 / 0
26.01.2012, 14:21
    #37632904
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
...
Рейтинг: 0 / 0
26.01.2012, 14:22
    #37632905
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
4d_monsterПочему так или эдак?
ИС всё хранит в строке - де так кеш обеспечивает быстрое чтение/запись... Визуально же лучше смотрится второй вариант... Да и данных так запишется больше в одну запись.
У нас используется второй вариант.
...
Рейтинг: 0 / 0
26.01.2012, 14:25
    #37632914
4d_monster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
Спасибо, буду читать/изучать.
...
Рейтинг: 0 / 0
26.01.2012, 16:02
    #37633235
doublefint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
4d_monster, еще тут
...
Рейтинг: 0 / 0
26.01.2012, 16:07
    #37633247
doublefint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
4d_monster, и тут
...
Рейтинг: 0 / 0
26.01.2012, 16:32
    #37633323
4d_monster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
Спасибо за Каратаева, а "A Universal NoSQL Engine, Using a Tried and Tested Technology" - читал, как вводная годится.
...
Рейтинг: 0 / 0
26.01.2012, 16:49
    #37633378
Александр GAGADDDOC
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
Добрый день !
M классный язык УСПЕХОВ...

Из опыта работы по проектированию Базы (организации глобалов, если Вы сами программируете прямым способом COS), то лучше в индксы не писать большие значения , а заносить в значение глобали
Например ^A(область,район,город,улица,дом,квартира)=данные о квартире

можно и так
^a(индекс,улица,дом)=область,район,город,улица,дом,данные о квартире
"," через какой-то символ. ТАК лучше.

Очень большие глобали лучше не делать.
Например разбивать по годам.
Тут есть сылочки на доку
http://www.docadd.narod.ru/indexM.htm

Удачи..
...
Рейтинг: 0 / 0
26.01.2012, 17:02
    #37633417
4d_monster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
А такая калька с SQL подойдёт ?
^A(код области,код района,код города,код улицы,дом,квартира)=данные о квартире

Ссылку изучаю, спасибо. Жаль что там тоже присутствуют мёртвые уже ссылки :(.
...
Рейтинг: 0 / 0
26.01.2012, 17:08
    #37633438
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
авторЯ хочу освоить программирование на MUMPS/M (в подверсии GT.M).

авторА такая калька с SQL подойдёт ?

GT.M это самая что есть NoSQL database
...
Рейтинг: 0 / 0
26.01.2012, 17:09
    #37633445
Александр GAGADDDOC
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
Sql + глобали , классы в Каше организовали и поэтому сейчас программируют не на COS, а начинали еще все на COS под MSM
...
Рейтинг: 0 / 0
26.01.2012, 17:11
    #37633449
4d_monster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
ValeriuGT.M это самая что есть NoSQL database
Я это отлично понимаю просто чтобы прояснить :
Александр GAGADDDOCто лучше в индксы не писать большие значения , а заносить в значение глобали
Есть ли выгоды в том, чтобы для индексов использовать значения кодов справочника а не значения наименований справочника, ведь сам справочник будет существовать в любом случае.
...
Рейтинг: 0 / 0
26.01.2012, 17:12
    #37633453
4d_monster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
SQL совсем не интересует. Именно глобали, поэтому ( ну и из-за чрезмерной стоимости) Каше мне не подходит ( да и не нравиться особо) мне интересно GT.M и чистый M.
...
Рейтинг: 0 / 0
26.01.2012, 17:51
    #37633543
Александр GAGADDDOC
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
Извините за битые ссылки ВРЕМЯ ИДЕТ...

при организации глобалов индксы делать не длинными
^A("индекс")=длинная строка

http://lusindane.at.tut.by/download/Globals.pdf

Интерсистемс просто уничтожит М в Каше
то что оно ДОРОГОЕ, но еще и не дают право на выбор
Например нужна только база и М язык (как было в MSM) тогда МОЖНО сделать на много ниже в цыне , так нет берите все, а зачем брать ZEN если оно не нужно...
или для рекламы Каше сделать на 5 мест безплатно...

Не по теме
А где делась подписка на Cache InterSystems News ?
...
Рейтинг: 0 / 0
26.01.2012, 18:44
    #37633706
doublefint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
4d_monster^A(код области,код района,код города,код улицы,дом,квартира)=данные о квартире

Из наблюдений за организацией хранения в различных системах на Cache(M):
1. Интерсистемс: s ^Global(id)=$lb(p1,p2,p3,p4,....) ;описание смысла позиций вынесено в отдельную глобаль (словарь)
2. ИнформИкс: s ^Global(id,1)=value1, ^Global(id,2)=value2 ;где 1,2 - коды свойств, соответствие тоже вынесено в отдельную глобаль
3. Часто в коде: s ^Global(id,"prop1")=value1, ^Global(id,"prop2")=value2 ;универсально, наглядно,расширяемо, избыточно, медленней
4. Ну и приведенный выше пример. Только данные (где словарь?), обработка пустых значений и нужно помнить об ограничениях на количество и длину ключей.
С индексами похожая ситуация, их еще можно назвать инвертированной (перевернутой) глобалью
...
Рейтинг: 0 / 0
26.01.2012, 19:25
    #37633787
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
Александр GAGADDDOCОчень большие глобали лучше не делать.
Чем чревато?
...
Рейтинг: 0 / 0
26.01.2012, 20:09
    #37633872
zdi
zdi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
авторЧем чревато
1. Если база разрушится - концов не найти (оч.редко, но бывает).
2. Хранение "небольших" глобалей более эфффективно в смысле физ.хранения.
Т.е. ВСЕ данные в ОДНОЙ глобали хранить не следует.
Ну, и - выборочное сохранение отдельными глобалями - проще, если мельче.
Но, конечно, нужна разумная середина.
...
Рейтинг: 0 / 0
26.01.2012, 21:41
    #37634001
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
zdi2. Хранение "небольших" глобалей более эфффективно в смысле физ.хранения.
В чем собственно эфективность?

zdiНу, и - выборочное сохранение отдельными глобалями - проще, если мельче.
В чём именно простота?


Что-то пока одни лозунги...
...
Рейтинг: 0 / 0
27.01.2012, 10:25
    #37634501
MX-9
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
4d_monsterА такая калька с SQL подойдёт ?
^A(код области,код района,код города,код улицы,дом,квартира)=данные о квартире

Ссылку изучаю, спасибо. Жаль что там тоже присутствуют мёртвые уже ссылки :(.

В принципе все генераторы отчетов в М-системах это и делают - каждый немножко по своему

Например, мы вписываем эту формулу в ячейку EXCEL листа на клиенте

EXCEL клиента по tcp соединяется с "серверным многопользовательским Виртуальным EXCEL",
встроенном в M-систему, и передает ему эту формулу с некоторыми дополнительными указаниями

Виртуальный быстро поднимает все нужные архивы-глобали, находит данные и возвращает клиенту,
в ту ячейку, откуда шел запрос, (а также пишет данные в ^A(...) )
или - если ответ - это целый отчет - возвращает весь сформированный двумерный отчет
в указанную клиентом зону его EXCEL-листа (данные по всем квартирам этого дома)

результат нашего запроса и соответствующего SQL-запроса в принципе одинаковы
но скорость на порядок выше - особенности прямого глобального доступа

если ^A(...) уже была до запроса - то результат возвращается мгновенно

==========
...
Рейтинг: 0 / 0
27.01.2012, 10:33
    #37634527
4d_monster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
MX-9, А вы не думали ещё о смене EXCEL на web браузеры ?
А как обрабатываете в M TCP соединение?
...
Рейтинг: 0 / 0
27.01.2012, 15:55
    #37635264
MX-9
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
4d_monsterMX-9, (1) А вы не думали ещё о смене EXCEL на web браузеры ?
(2) А как обрабатываете в M TCP соединение?

1 -- до конца года планируем начать работать и через WEB тоже,
но пока что народ не рвется из EXCEL в WEB - привык к комфорту

2 -- без шума и без пыли
...
Рейтинг: 0 / 0
27.01.2012, 16:06
    #37635292
4d_monster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
Команды какие :) ?
чтобы в хелпе навестись
...
Рейтинг: 0 / 0
27.01.2012, 16:29
    #37635344
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу заразиться свинкой / i want to pick up MUMPS
4d_monster,

лучший способ научится, напросится работать в компанию которая уже работает например с Cache/Ensemble. Самому за эти продукты платить не придется. а за освоение еще платить будут.

GlobalsDB все же может выступать как бесплатная альтернатива платной Cache, хотя бы для тех кто не знает M, и пишет на других языках программирования. Хотя я не пробовал работать с другими NoSQL БД, и сравнить не могу.
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Хочу заразиться свинкой / i want to pick up MUMPS / 25 сообщений из 34, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]