powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / СУБД GT.M
148 сообщений из 148, показаны все 6 страниц
СУБД GT.M
    #33262696
GuestC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Интересует вопрос, есть ли в СНГ фирмы/компании, где используется СУБД GT.M (http://sourceforge.net/projects/sanchez-gtm)?
...
Рейтинг: 0 / 0
СУБД GT.M
    #33262697
GuestC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И еще вот:

http://www.sanchez-gtm.com/
...
Рейтинг: 0 / 0
СУБД GT.M
    #33263065
LittleCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть :-)
...
Рейтинг: 0 / 0
СУБД GT.M
    #33267627
GuestC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LittleCatЕсть :-)

А по-подробнее можно:

1) Почему именно GT.M, как я понимаю замена MUMPS?
2) Какая предметная область?
3) Есть ли средства администрирования, а также редактирования/отладки программ, просмотра глобалей (я не имею в виду те стандартные утилиты, которые работают с коммандной строки в Linux, а что-нибудь "дружественное", свой инструментарий, под Windows например).
4) Как Вы считате, есть будущее у GT.M?

Спасибо.
...
Рейтинг: 0 / 0
СУБД GT.M
    #33271960
LittleCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GuestC
1) Почему именно GT.M, как я понимаю замена MUMPS?

У Вас путаются понятия :-) MUMPS (или по стандарту ISO/IEC 11756 - M) это технология, а DSM, GT.M, MSM, Cache, M21, M3Lite и т.д. - различные реализации этой технологии. Неплохое описание у ВИКИ
GuestC
2) Какая предметная область?

Любая, где применение данной технологии является оправданным.
GuestC
3) Есть ли средства администрирования, а также редактирования/отладки программ, просмотра глобалей (я не имею в виду те стандартные утилиты, которые работают с коммандной строки в Linux, а что-нибудь "дружественное", свой инструментарий, под Windows например).

Что касается непосредственно GT.M, то таких средств нет, но есть, и появляются потихоньку новые, средства сторонних разработчиков. В качестве примера могу привести хорошо зарекомендовавший себя редактор программ - отладчик Serenji ( www.georgejames.com ).
Недавно появился анонс IDE для GT.M mpsEdit . Правда, эти средства не являются бесплатными.
GuestC
4) Как Вы считате, есть будущее у GT.M?

Ну у самого GT.M безусловно есть будущее, иначе, я думаю, Fidelity National Financial Inc не стала бы покупать Sanchez Computer Associates :-) Что касается GT.M в России, тут вопрос непростой, можно попробовать пообсуждать.
...
Рейтинг: 0 / 0
СУБД GT.M
    #33272348
GuestC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LittleCat GuestC
1) Почему именно GT.M, как я понимаю замена MUMPS?

У Вас путаются понятия :-) MUMPS (или по стандарту ISO/IEC 11756 - M) это технология, а DSM, GT.M, MSM, Cache, M21, M3Lite и т.д. - различные реализации этой технологии. Неплохое описание у ВИКИ

Ну в общем да, некорректно выразился. Я имел в виду MSM.

LittleCat GuestC
2) Какая предметная область?

Любая, где применение данной технологии является оправданным.

Так вот в том и вопрос, где? Медицина, учетные системы, хранение и обработка больших объемов данных...

LittleCat GuestC
3) Есть ли средства администрирования, а также редактирования/отладки программ, просмотра глобалей (я не имею в виду те стандартные утилиты, которые работают с коммандной строки в Linux, а что-нибудь "дружественное", свой инструментарий, под Windows например).

Что касается непосредственно GT.M, то таких средств нет, но есть, и появляются потихоньку новые, средства сторонних разработчиков. В качестве примера могу привести хорошо зарекомендовавший себя редактор программ - отладчик Serenji ( www.georgejames.com ).
Недавно появился анонс IDE для GT.M mpsEdit . Правда, эти средства не являются бесплатными.

Да, я видел и первое и второе. mpsEdit в общем неплохой инструмент, только к сожалению отсутствуют средства работы с глобалями, но есть редактор и отладчик.

LittleCat GuestC
4) Как Вы считате, есть будущее у GT.M?

Ну у самого GT.M безусловно есть будущее, иначе, я думаю, Fidelity National Financial Inc не стала бы покупать Sanchez Computer Associates :-) Что касается GT.M в России, тут вопрос непростой, можно попробовать пообсуждать.
А что за Fidelity National Financial Inc такая?

И еще интересно, где сейчас реально применяется GT.M.
Как осуществляется работа с БД, на чем пишутся (и пишутся ли) клиентские приложения...

Насчет России не знаю. Больше возможно, что где-нибудь в США или Европе.
...
Рейтинг: 0 / 0
СУБД GT.M
    #33274714
Cobold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я вот тоже несколько дней назад наткнулся на GT.M и впервые познакомился с такими "удивительными" историями про MUMPS и соответственно продукты на нём. Давно искал, поэтому очень заинтересовался и рассчитываю серьёзно его использовать, но хотелось бы получить напутствие от людей, работавших с ним в реальных условиях.

Я работаю на довольно крупном развлекательном портале, и ищу подходящее решение для аппликационного сервера. Портал вплоть до последнего времени строился без какого-либо планирования и представляет собой множество независимых разработок (php, perl, c, java) разного возраста (начиная с hyperseek образца 96-го) с общей внешностью и завязанных на несколько функционально разделённых mysql баз без репликации. Устанавливалось это всё большей частью до меня, в качестве документации доступны только исходники, и вот теперь стоит задача всё это упорядочить - на живую и параллельно с основной работой по поддержке. Кроме того, в обозримом будущем предстоит сменить хостера, к чему можно было бы приурочить запуск каких-либо "радикальных" новшеств.

Вобщем, будет очень интересно узнать о возможностях и о проблемных местах при использовании GT.M или cache в качестве платформы для нагруженного веб-сервиса - производительность, безопасность, трудоёмкость разработки (с учётом "переквалификации" после perl :), особенности миграции. Судя по всему, cache для этих целей подходит лучше, но GT.M всё же предпочтительнее из-за открытости.
Особенно интересно было бы познакомится с историями конкретных реализаций (задачи, объём работ, запланированные/выдержанные сроки, подводные камни итд.). Желательно без рекламы ;)

Заранее спасибо,
Виктор.

P.S Работаю исключительно с крылатыми/рогатыми осями, преимущественно с первыми.
P.P.S. Разумеется, я в курсе, что для начала не мешало бы набить руку на более простых задачах :)
...
Рейтинг: 0 / 0
СУБД GT.M
    #33275862
MX - ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CoboldЯ вот тоже несколько дней назад наткнулся на GT.M и впервые познакомился с такими "удивительными" историями про MUMPS и соответственно продукты на нём.


возможно Вас заинтересует M+Java:
http://mjsp.sourceforge.net/

мы работаем с GT.M серверами
(а также с MSM, M3, CACHE - причем
серверный код универсальный - подходит к любой из этих платформ)
но пока только в локальных сетях
и только с Excel-клиентами
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
СУБД GT.M
    #34083983
Sergey Gladilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А API для доступа к GT.M из языка Си существует? А не подскажете ссылку?
...
Рейтинг: 0 / 0
СУБД GT.M
    #34084808
LittleCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey GladilinА API для доступа к GT.M из языка Си существует? А не подскажете ссылку?
В Руководстве программиста в PDF варианте стр 14 и далее
...
Рейтинг: 0 / 0
СУБД GT.M
    #34093594
Фотография rodb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А скажите,
насколько GT.M и Cache совместимы?


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
СУБД GT.M
    #34093693
LittleCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rodb
А скажите,
насколько GT.M и Cache совместимы?

На уровне чистого М в рамках стандартов - 100%, все, что добавлено сверх стандартов у каждой фирмы свое.
...
Рейтинг: 0 / 0
СУБД GT.M
    #34093743
Фотография rodb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>На уровне чистого М в рамках стандартов - 100%, все, что добавлено сверх
стандартов у >каждой фирмы свое.

М в GT.M это COS в Cache?
в GT.M есть глобали ?
в GT.M есть SQL доступ?
синткасис SQL доступа, особенно по части '->' совместим с GT.M ?






Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
СУБД GT.M
    #34093980
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе Вы можете посетить:
http://www.sanchez-gtm.com/product/product.htm

и узнать там все в деталях...
...
Рейтинг: 0 / 0
СУБД GT.M
    #34094015
kvasov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> На уровне чистого М в рамках стандартов - 100%

где-то можно глянуть сам "стандарт м"?
что собственно стандартизировано?
формат хранения данных в файле что-ли?
формат отображения данных файла в ОЗУ?

любопытно глянуть
...
Рейтинг: 0 / 0
СУБД GT.M
    #34094074
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kvasov> На уровне чистого М в рамках стандартов - 100%

где-то можно глянуть сам "стандарт м"?
что собственно стандартизировано?
формат хранения данных в файле что-ли?
формат отображения данных файла в ОЗУ?

любопытно глянуть
Ed de Moel, секретарь MDC, ведет страничку со стандартами разных лет и прочее: http://207.192.157.194/Demo/AnnoStd
...
Рейтинг: 0 / 0
СУБД GT.M
    #34094097
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну я kvasov> На уровне чистого М в рамках стандартов - 100%

где-то можно глянуть сам "стандарт м"?
что собственно стандартизировано?
формат хранения данных в файле что-ли?
формат отображения данных файла в ОЗУ?

любопытно глянуть
Ed de Moel, секретарь MDC, ведет страничку со стандартами разных лет и прочее: http://207.192.157.194/Demo/AnnoStd
С оговоркой: функция $miracle - это первоапрельская шутка.
...
Рейтинг: 0 / 0
СУБД GT.M
    #34095668
Фотография rodb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чем ходют к GT.M ыз под виндов?


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
СУБД GT.M
    #34096214
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мы например, используем Socket
Клиентские приложении на Visual Basic.
Думаю что еще можно через CGI...
...
Рейтинг: 0 / 0
СУБД GT.M
    #34096235
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот что еще пишут:

K.S. BhaskarAlso, GT.M now has the ability to deploy services written in GT.M as
web services under the control of inetd/xinetd (See
http://www.sanchez-gtm.com/user_doc...es.
html)
...
Рейтинг: 0 / 0
СУБД GT.M
    #34096337
Фотография rodb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Мы например, используем Socket

каков примерно протокол взаимодействия с сервером.
в кратце.
существует ли стандартизированный драфт на него?



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
СУБД GT.M
    #34096918
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отрывок из документации:

Socket Device Operation

авторEach socket may be in one of the following states:
Created - indicates that the socket exists.
Bound - indicates that the socket exists and is bound to a port; a "Bound socket" needs a listen queue which currently requires a WRITE /LISTEN [after a USE].
Connected - indicates that the socket exists and has a connection.
A server socket used for accepting new connections goes through the first two states in one step with a single OPEN or in two steps with an OPEN and a USE. When a server does a WRITE /WAIT on a Bound socket, a client can establish a connection which Creates another server socket that is Connected. In server operation, $KEY supplies the port value when a socket is bound (important when port 0 is specified to get the system to choose the port), and a socket id when a Connected socket is created. A client socket goes through the first and third states with a single OPEN or in two steps with an OPEN and a USE.
Socket Device Examples
This section contains examples on Socket Device usage.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
;server.m 
Set portno= 6321 ,delim=$c( 13 ) 
Set tcpdev="server$"_$j,timeout= 30  
Open 
tcpdev:(ZLISTEN=portno_":TCP":attach="server"):timeout:"SOCK
ET" 
Use tcpdev 
Write /listen( 1 ) 
Write /wait(timeout) 
; 
;dialogue with the client 
; 
;client.m 
Set host="orlando" 
Set portno= 6321  
Set delim=$c( 13 ) 
Set tcpdev="client$"_$j,timeout= 30  
O 
tcpdev:(connect=host_":"_portno_":TCP":attach="client"):time
out:"SOCKET" 
Use tcpdev 
; 
;dialogue with the server 
; 
...
Рейтинг: 0 / 0
СУБД GT.M
    #34097003
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот простой пример клиента из Windows на VB:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Private Sub txtXe_KeyDown(KeyCode As Integer, Shift As Integer)
Dim strTemp As String
If KeyCode =  13  Then
strTemp = "Xe_" & txtXe.Text & "" & vbCrLf
sockConn.Write(strTemp, Len(strTemp) +  2 )
    End If
End Sub


Private Sub sockConn_Read(DataLength As Integer, IsUrgent As Integer)
 .
 .
 Case "XeSH"
   Call sockConn.Read(strBuffer, DataLength)
   If InStr(strBuffer, "multiEr") Then
        MsgBox strBuffer
        Exit Sub
        End If
   frmZSHOW.txtXe.SelText = strBuffer
.
.
End Sub
...
Рейтинг: 0 / 0
СУБД GT.M
    #34098571
Фотография rodb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriu,

да я имел ввиду не сам сокетный протокол,
а протокол общения с сервером.
т.е. какие текстовые команды ему посылаются,
что принимается и как обрабатывается на клиенте.

Наверное вы имеете ввиду что вы общаетесь с GT.M в чистом терминале
телнет.




Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
СУБД GT.M
    #34099826
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы правы, отрывок из ихней документации илюстрирует простой
код общения клиента в терминальном телнете

Второй из VB-клиент т.е. Windows среда

Лучше понять и осмыслить работу клиента(GUI) :

http://sourceforge.net/project/showfiles.php?group_id=11026&package_id=13993

Там у них на дельфях , но разобраться можно...
...
Рейтинг: 0 / 0
СУБД GT.M
    #34099905
Фотография rodb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://sourceforge.net/project/showfiles.php?group_id=11026&package_id=13993

Мне интересно, можно ли реализовать что -то вроде
Рекордсета или Датасета, который по телнет сможет
серектить и с Каше и с к примеру GT.M.

И насколько это будет эффективно по скорости передачи данных?


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
СУБД GT.M
    #34429099
GeorgeK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторНу у самого GT.M безусловно есть будущее, иначе, я думаю, Fidelity National Financial Inc не стала бы покупать Sanchez Computer Associates :-)
Я тут грешным делом в курсе дела. Fidelity всеядно. Они как-то посчитали, что много очень тратят денег на покупку цветов для своих сотрудников, и решили купить сеть цветочных магазинов. ГТМ стоит в том же ряду. Как придаток к банковской системе Profile, которую Fidelity использует.

Я в ней сейчас работаю, и очень много банков в Америке и Канаде в ней работает, так что очень хотелось бы пожелать долгой жизни.

Но к сожалению не получается. Банки стараются от нее отделаться. Сама Fidelity выпускает версию Profile Anywhere, которая будет работать в любой датабазе. "Развитием" ГТМ никто не занимается, разве что пара человек. В отличие от.

Поработав в каше и в ГТМ могу с уверенностью сказать, что каше гораздо более во всем. Взять только CSP. В ГТМ такого просто нету, и все. Плюс. "Объекты" там есть только в PSL (Profile Scripting Language), который вообще не продается, если ты не банк. Да и объекты там недоношенные. Они сами базу называют "легко" объектно-ориентированной. SQL существует на уровне select и update. join уже не работает, практически. Т.е. даже о поддержке стандарта 92 речи нету.

В PSL тьма багов. Попробуйте (если у кого-то он есть вообще) использовать метод daysInMonts для любого високосного года, Вы получите 28. О чем мы говорим дальше?? Как этот метод собирается дальше жить в банковских даже системах, где каждый Божий день на счету??

Аминь.

З.Ы. Саша Калин, как тебе не стыдно людей туда затянуть... Я же тебя предупреждал...
...
Рейтинг: 0 / 0
СУБД GT.M
    #34430868
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начнем по порядку

Cache SQL - глючный SQL стандарта 92 года. Причем с новой версией Cache число этих глюков увеличивается. К тому же, хотелось заметить, что М технология никогда не являлась SQL базой и искусственое натяжение на иерархические разреженные массивы SQL ни к чему хорошему не приведет. Никогда Cache SQL не будет подобием ORACLE или Microsoft SQL, не говоря уже о несовместимости с инструментальными средствами типа Delphi, .NET и др. И всякие разговоры о крутизне Cache SQL - не более, как понты и рекламный трюк.
Cache Object Script - это искусcтвенно натянутая на иерархические разреженные массивы реализация объектной идеологии программирования в понимании InterSystems. Да и багов тоже хватает. Причем эти объекты являются понятными только Cache, но абсолютно непонятны ни .NET, ни аналогичным инструментальным средствам других производителем. Таким образом построив на Cache “супер-пупер“ навороченную объектную базу с SQL поддержкой у разработчика сразу встанет вопрос, на чем к ней прикручивать интерфейс пользователя. В лучшем случае придеться делать ODBC доступ, что сведет объектную надстройку Cache в ноль, либо придеться ваять свои механизмы доступа к базе, отказавшись от всего “богатства”, написанного для других СУБД типа ORACLE и Microsoft SQL.
Насчет CSP – тупиковая технология с неоправданно большими затратами на закупку лицензий и разработку ПО. Отсутствие какой либо совместимости со стандартными средствами разработки типа .NET и аналогичными. Искусственно введенный в эту технологию Grace Period один чего стоит.

Теперь про GT.M
Абсолютно бесплатная СУБД под Linux. Наличие исходников СУБД позволяет вносить свои изменения в ядро базы, что с успехом и используют разработчики. 100% М подобная база. Использование бесплатных надстроек других производителей позволяет использовать на ней объектный подход в построении структур данных. Для поиска по таким данным имеются свои оригинальные не SQL методы доступа к данным, которые более приближены к M структурам, а не реляционным SQL таблицам.
Насчет отладчика и редактора программ , так имеющейся к GT.M редактор Serenje с точки зрения отладчика рутин по своим возможностям намного лучше аналогичного в Cache.
Насчет WEB приложений под GT.M, имеется тьма примеров, как это сделать. Причем по своим возможностям они ни в чем не уступают CSP.

Если нужны подробности, всегда готов ответить

Александр
...
Рейтинг: 0 / 0
СУБД GT.M
    #34430872
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Мне интересно, можно ли реализовать что -то вроде
>Рекордсета или Датасета, который по телнет сможет
>серектить и с Каше и с к примеру GT.M.
>
>И насколько это будет эффективно по скорости передачи данных?

Можно, для этого используется протокол TCP/IP

Александр
...
Рейтинг: 0 / 0
СУБД GT.M
    #34431502
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kalin Теперь про GT.M
Абсолютно бесплатная СУБД под Linux. Наличие исходников СУБД позволяет вносить свои изменения в ядро базы, что с успехом и используют разработчики. 100% М подобная база. Использование бесплатных надстроек других производителей позволяет использовать на ней объектный подход в построении структур данных. Для поиска по таким данным имеются свои оригинальные не SQL методы доступа к данным, которые более приближены к M структурам, а не реляционным SQL таблицам.
Насчет отладчика и редактора программ , так имеющейся к GT.M редактор Serenje с точки зрения отладчика рутин по своим возможностям намного лучше аналогичного в Cache.
Насчет WEB приложений под GT.M, имеется тьма примеров, как это сделать. Причем по своим возможностям они ни в чем не уступают CSP.

Если нужны подробности, всегда готов ответить

Александр

два больших минуса GTM
- медленнее чем CACHE - по нашим замерам - в разы
- нет варианта под WINDOWS
...
Рейтинг: 0 / 0
СУБД GT.M
    #34431715
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>два больших минуса GTM
>- медленнее чем CACHE - по нашим замерам - в разы
Все идет из настроек
Тоже, что сказать, что windows работает быстрее Linux
В GT.M программы компилируются в исполняемый машинный код в отличие от Cache, где они лежат в P коде и работают под уравлением интерпретатора Cache. Так , что это утверждение некорректно

>- нет варианта под WINDOWS
На сегодняшний день отношение серверов под Linux и Windows является явно не в пользу Windows. Серьезные серверные системы вообще под ОС Windows не работают. Так, что это не показатель.

Александр
...
Рейтинг: 0 / 0
СУБД GT.M
    #34431721
Sergei Obrastsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MX -- ALEX kalin Теперь про GT.M
Абсолютно бесплатная СУБД под Linux. Наличие исходников СУБД позволяет вносить свои изменения в ядро базы, что с успехом и используют разработчики. 100% М подобная база. Использование бесплатных надстроек других производителей позволяет использовать на ней объектный подход в построении структур данных. Для поиска по таким данным имеются свои оригинальные не SQL методы доступа к данным, которые более приближены к M структурам, а не реляционным SQL таблицам.
Насчет отладчика и редактора программ , так имеющейся к GT.M редактор Serenje с точки зрения отладчика рутин по своим возможностям намного лучше аналогичного в Cache.
Насчет WEB приложений под GT.M, имеется тьма примеров, как это сделать. Причем по своим возможностям они ни в чем не уступают CSP.

Если нужны подробности, всегда готов ответить

Александр

два больших минуса GTM
- медленнее чем CACHE - по нашим замерам - в разы
- нет варианта под WINDOWS

Абсолютно согласен. Более того, я очень сомневаюсь в каких-либо сдвигах в сторону ускорения
в последующих релизах. Что касается Serenjie, как отладчика, то кому как. Мне так и Break
хватает за глаза.
...
Рейтинг: 0 / 0
СУБД GT.M
    #34431777
Sergei Obrastsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalin>два больших минуса GTM
>- медленнее чем CACHE - по нашим замерам - в разы
Все идет из настроек
Тоже, что сказать, что windows работает быстрее Linux

Настройки здесь не при чем. Free-M под Linux тоже работает быстрее GT.M

kalin
В GT.M программы компилируются в исполняемый машинный код в отличие от Cache, где они лежат в P коде и работают под уравлением интерпретатора Cache. Так , что это утверждение некорректно

С какой версии GT.M программы стали компилироваться в ассемблер? И когда GT.M перестал
быть интерпретируемой системой, что в корне противоречит стандарту?
...
Рейтинг: 0 / 0
СУБД GT.M
    #34431828
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>С какой версии GT.M программы стали компилироваться в ассемблер? И когда GT.M перестал
>быть интерпретируемой системой, что в корне противоречит стандарту?

Linux на файлы в GT.M с расширением .o пишет, что это объектный код
...
Рейтинг: 0 / 0
СУБД GT.M
    #34431838
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Настройки здесь не при чем. Free-M под Linux тоже работает быстрее GT.M
Еще как причем. Нстройки требует как сам Linux, так и правильно сгенерированная база под него
...
Рейтинг: 0 / 0
СУБД GT.M
    #34431850
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже сам принцип транзакций реализован отлично от того, как он сделан в Cache. C точки зрения SQL в GT.M механизм транзакций реализован более правильно.
...
Рейтинг: 0 / 0
СУБД GT.M
    #34431878
Sergei Obrastsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalin>С какой версии GT.M программы стали компилироваться в ассемблер? И когда GT.M перестал
>быть интерпретируемой системой, что в корне противоречит стандарту?

Linux на файлы в GT.M с расширением .o пишет, что это объектный код
Он может писать все, что угодно. Но это P-код, не особо отличающийся от изначального MSM.
Который, конечно же, обрабатывается интерпретатором GT.M.
У меня, кстати, есть подозрение, что Linux ориентируется на расширение "o". Впрочем, это
конечно неважно. Важно другое - не стоит рекламировать систему, не зная как она работает.
...
Рейтинг: 0 / 0
СУБД GT.M
    #34431903
Sergei Obrastsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalin>Настройки здесь не при чем. Free-M под Linux тоже работает быстрее GT.M
Еще как причем. Нстройки требует как сам Linux, так и правильно сгенерированная база под него
Это о какой базе идет речь? О GT-M? Это уже "база данных", а не СУБД? С каких это пор?
Я вас уверяю, что Free-M без настроек, каковых в нем-таки и нет почти, абсолютно
интерпретируемый, то есть не имеющий p-кода вообще, будет работать быстрее, чем
совершенно правильно настроенный GT.M
...
Рейтинг: 0 / 0
СУБД GT.M
    #34433195
LittleCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MX -- ALEX
два больших минуса GTM
- медленнее чем CACHE - по нашим замерам - в разы
- нет варианта под WINDOWS
Насчет медленнее, утверждение очень спорное, мне известны другие результаты экспериментов :-)
Александр правильно сказал, что все упирается в настройки (как впрочем и во многих других системах :-)) У GT.M есть в этом плане серьезное преимущество, можно управлять размером блоков базы, размерами записей и для каждой базы индивидуально настраивать кэш, что позволяет оттюнить систему под конкретные особенности прикладной системы. Про возможные тормоза я уже писал где-то выше, это неудачная по скорости реализация $query(). Но это тоже исправимо, поскольку имеется исходный код :-)
Sergei Obrastsov
С какой версии GT.M программы стали компилироваться в ассемблер? И когда GT.M перестал
быть интерпретируемой системой, что в корне противоречит стандарту?

Насчет машинных команд, эта фича была заложена в GT.M при рождении. Т.е. действительно программы компилятся в машинный код. А насчет противоречий стандарту, в каком месте написано, какова должна быть внутренняя реализация ??? Просто большинство М-систем реализовано с использованием Р-кода, но в разных реализациях устройство этого кода разное, и Р-код из MSM не будет исполняться в Cache, и наоборот, так что тут Вы сильно заблуждаетесь.
Sergei Obrastsov
Важно другое - не стоит рекламировать систему, не зная как она работает.

Справедливо и обратное утверждение, не стоит ругать систему, не зная, как она работает :-)
...
Рейтинг: 0 / 0
СУБД GT.M
    #34433432
Sergei Obrastsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LittleCat MX -- ALEX
два больших минуса GTM
- медленнее чем CACHE - по нашим замерам - в разы
- нет варианта под WINDOWS
Насчет медленнее, утверждение очень спорное, мне известны другие результаты экспериментов :-)

Можно взглянуть? :)

LittleCat
Александр правильно сказал, что все упирается в настройки (как впрочем и во многих других системах :-)) У GT.M есть в этом плане серьезное преимущество, можно управлять размером блоков базы, размерами записей и для каждой базы индивидуально настраивать кэш, что позволяет оттюнить систему под конкретные особенности прикладной системы. Про возможные тормоза я уже писал где-то выше, это неудачная по скорости реализация $query(). Но это тоже исправимо, поскольку имеется исходный код :-)

Причем тут $query? Я говорю об общей тормознутости системы. Даже без обращений к глобалям.

LittleCat
Насчет машинных команд, эта фича была заложена в GT.M при рождении. Т.е. действительно программы компилятся в машинный код.

Поподробнее пожалуйста, если не трудно. Насколько я понимаю в компьютерах, машинный код
исполняет операционная система, в нашем случае Linux. Я ничего не путаю? Размеры файликов
с расширением .o не позволяют предполагать, что к ним на этапе компиляции присобачили
половину исполняемых модулей GT.M. А коли так, каким же образом осуществляется не только
согласование одновременной работы этих программ, обращение к глобалям, но и интерактивная
с ними работа? Я имею в виду хотя бы Break.

Кстати, проверяется это элементарно. Попробуйте запустить хоть один из этих файликов.
Если он заработает, то я признаю свою неправоту. ;)

LittleCat
А насчет противоречий стандарту, в каком месте написано, какова должна быть внутренняя реализация ??? Просто большинство М-систем реализовано с использованием Р-кода, но в разных реализациях устройство этого кода разное, и Р-код из MSM не будет исполняться в Cache, и наоборот, так что тут Вы сильно заблуждаетесь.

Только не надо, пожалуйста, пытаться ловить меня на противоречиях. :) P-код P-кодом,
а M-стандарт - это интерпретируемая система. Единственное известное на сегодня
исключение - компилятор M2C O'Kane, который M можно назвать с ба-а-альшой натяжкой.
Я опять обращаю внимание, что выражение "машинный код" в простонародье подразумевает
ассемблер, сиречь набор команд процессора, а не P-код.

LittleCat
Sergei Obrastsov
Важно другое - не стоит рекламировать систему, не зная как она работает.

Справедливо и обратное утверждение, не стоит ругать систему, не зная, как она работает :-)
Я опять повторюсь - не стоит пытаться меня поймать. Я возился с GT.M полтора года и прекрасно
представляю как оно устроено. И когда система с p-кодом серьезно тормозит по сравнению
с голым интерпретатором в лице, скажем, Free-M - это что-нибудь да значит.
...
Рейтинг: 0 / 0
СУБД GT.M
    #34433939
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как во Free-M реализован механизм транзакций ? Как во Free-M реализован размер ключей и глобалей ?

Александр
...
Рейтинг: 0 / 0
СУБД GT.M
    #34434120
Sergei Obrastsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalinКак во Free-M реализован механизм транзакций ? Как во Free-M реализован размер ключей и глобалей ?

А разве я что-то говорил о транзакциях и глобалях? Free-M не предназначен для использования
в качестве сервера для тысяч пользователей и террабайтов данных. Но речь об этом и не шла.
Я говорил о банальной скорости работы в однопользовательском режиме. Медленнее - это
медленнее. Ни примите за рекламу, но Cache быстрее Free-M. :)
...
Рейтинг: 0 / 0
СУБД GT.M
    #34434149
Hampster-Mumpster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergei ObrastsovРазмеры файликов
с расширением .o не позволяют предполагать, что к ним на этапе компиляции присобачили
половину исполняемых модулей GT.M.
...
Попробуйте запустить хоть один из этих файликов.
Если он заработает, то я признаю свою неправоту. ;)

Вообще-то объектный код не обязан быть исполняемым :). Кроме того, нормальный подход: не "присобачивать" к нему run-time систему, а помещать ее в разделяемую библиотеку. В случае GT.M это libgtmshr.so.
Настоящий ли это obj-код? Предоставим слово авторам GT.M:
http://www.fidelityinfoservices.com/user_documentation/AdminOpsUNIX/UNIX_A_O/run_gtm.htmlDepending on the platform, the format of M object modules may not be the standard object file format, so you may not be able to use the UNIX ld utility to link all M .o files together. GT.M, however, automatically links and executes these files.
...
Рейтинг: 0 / 0
СУБД GT.M
    #34434308
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>А разве я что-то говорил о транзакциях и глобалях? Free-M не предназначен для использования
>в качестве сервера для тысяч пользователей и террабайтов данных. Но речь об этом и не шла.
О чем речь тогда вообще идет ?
Мы говорим про нормальную СУБД на много одновременных пользователей. Такая СУБД должна поддерживать стандартные технологии, присущие современным СУБД. К таковым относится механизм транзакций. Естественно, такие механизмы будут влиять на скорость работы СУБД. Поэтому надо рассматривать работы СУБД в комплексе, а неотдельные какие-то фрагменты выхватывать и говорить, что это круто. Любит у нас InterSystems сравнивать ORACLE и Cache, насколько Cache круче ORACLE, хотя в Cache не реализовано и половина механизмов работы с СУБД, которые есть в ORACLE. Глупо все это и несолидно.

Александр
...
Рейтинг: 0 / 0
СУБД GT.M
    #34434410
Sergei Obrastsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hampster-MumpsterНастоящий ли это obj-код? Предоставим слово авторам GT.M:
http://www.fidelityinfoservices.com/user_documentation/AdminOpsUNIX/UNIX_A_O/run_gtm.htmlDepending on the platform, the format of M object modules may not be the standard object file format, so you may not be able to use the UNIX ld utility to link all M .o files together. GT.M, however, automatically links and executes these files.

Интересно, где здесь ответ на вопрос "Может ли этот код запускаться без участия GT.M?"?
Ответа такого нет, потому как этот код, можете называть его "объектным", "по-настоящему
объектным", "п-кодом" или как-то еще, НЕ выполняется без участия run-time system GT.M
То, что их при этом можно линковать вместе - просто замечательно, что совершенно
не меняет картины в целом. GT.M - интепретируемая система со всеми вытекающими отсюда
последствиями.

документация
The Run-Time System

A GT.M programmer can execute an M routine from the shell or interactively,
using the M commands from Direct Mode.
The run-time system executes compile-as-written code as long as it does not
encounter the compile-time errors. If it detects an error, the run-time system
suspends execution of a routine immediately and transfers control to Direct Mode
or to a user-written error routine.
...
Рейтинг: 0 / 0
СУБД GT.M
    #34434444
Sergei Obrastsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalin>А разве я что-то говорил о транзакциях и глобалях? Free-M не предназначен для использования
>в качестве сервера для тысяч пользователей и террабайтов данных. Но речь об этом и не шла.
О чем речь тогда вообще идет ?

О том, что GT.M медленнее Cache. И медленнее другой реализации M, которая вообще без
компилятора. Безотносительно транзакций. Просто по исполняемости кода. Я не делаю
никаких выводов и никого никуда не зову. Просто привожу свое мнение.

kalin
Мы говорим про нормальную СУБД на много одновременных пользователей. Такая СУБД должна поддерживать стандартные технологии, присущие современным СУБД. К таковым относится механизм транзакций. Естественно, такие механизмы будут влиять на скорость работы СУБД. Поэтому надо рассматривать работы СУБД в комплексе, а неотдельные какие-то фрагменты выхватывать и говорить, что это круто. Любит у нас InterSystems сравнивать ORACLE и Cache, насколько Cache круче ORACLE, хотя в Cache не реализовано и половина механизмов работы с СУБД, которые есть в ORACLE. Глупо все это и несолидно.

Я вам про скорость работы кода говорю, а вы мне про транзакции. Нисколько не сомневаюсь,
что ACID в GT.M реализован блестяще, а в Cache пока еще криво. Только вот до транзакций
мы еще пока не дошли, а уже тормозит и серьезно.
...
Рейтинг: 0 / 0
СУБД GT.M
    #34434537
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот написал небольшой тест, столь любимый Intersystems
f i=1:1:1000000 s ^A(i)=i
В Cache 5.20 под Windows (seleron 2.8) выполняется 4 сек
В GT.M 5.1 (linux Fedora, seleron 2.8) выполняется 4 сек
Теперь делаем наоборот
f i=1:1:1000000 s a=^A(i)
В Cache под Windows (seleron 2.8) выполняется 2 сек
В GT.M (linux Fedora, seleron 2.8) выполняется 1 сек
Так, что GT.M по чтению справился реально быстрей
А на запись в базу явно влияет механизмы реализации работы с базой, которые в GT.M отличаются от Cache.
На практике при многопользовательском доступе на сервер базы в основном ложится задача по поиску данных. Так, что в данном ключе GT.M предпочтительней, чем Cache по скорости выборки данных.
...
Рейтинг: 0 / 0
СУБД GT.M
    #34434604
Hampster-Mumpster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насчет тестирования когда-то была полемика в соседнем форуме, многое из сказанного здесь

/topic/9021&pg=11#339482

до сих пор актуально. Вот и в нашем случае: что мы сравниваем? движки БД (global managers) - к тому же в однопользовательском режиме - или сервера БД в целом? Если второе, подойдут только реальные задачи или "навороченные" тесты, максимально к ним приближенные.
...
Рейтинг: 0 / 0
СУБД GT.M
    #34434673
Sergei Obrastsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalinВот написал небольшой тест, столь любимый Intersystems
f i=1:1:1000000 s ^A(i)=i
В Cache 5.20 под Windows (seleron 2.8) выполняется 4 сек
В GT.M 5.1 (linux Fedora, seleron 2.8) выполняется 4 сек
Теперь делаем наоборот
f i=1:1:1000000 s a=^A(i)
В Cache под Windows (seleron 2.8) выполняется 2 сек
В GT.M (linux Fedora, seleron 2.8) выполняется 1 сек
Так, что GT.M по чтению справился реально быстрей
А на запись в базу явно влияет механизмы реализации работы с базой, которые в GT.M отличаются от Cache.

На запись в базу явно влияет размер кэша. :)

Cache 5.0.11, кэш - 300Mb, AMD 1.87

test #1 - (с предварительным удалением ^A, конечно)
0.7-0.8 сек.
test #2
0.5-0.6 сек.
...
Рейтинг: 0 / 0
СУБД GT.M
    #34434688
Sergei Obrastsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hampster-MumpsterНасчет тестирования когда-то была полемика в соседнем форуме, многое из сказанного здесь

/topic/9021&pg=11#339482

до сих пор актуально. Вот и в нашем случае: что мы сравниваем? движки БД (global managers) - к тому же в однопользовательском режиме - или сервера БД в целом? Если второе, подойдут только реальные задачи или "навороченные" тесты, максимально к ним приближенные.
Странные вы какие-то. Я который раз говорю про скорость выполнения кода, а вы мне про
движки БД. Впрочем, если код выполняется медленнее, то и движок будет работать не быстрее.
А вот про транзакции верю, потому как подход такой, основательный, чувствуется школа DEC.
...
Рейтинг: 0 / 0
СУБД GT.M
    #34437159
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Насчет тестирования когда-то была полемика в соседнем форуме, многое из сказанного здесь
>/topic/9021&pg=11#339482
На том форуме сравнивались базы, далекие от M технологие, там и название "Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД"
Здесь сугубо М базы

Александр
...
Рейтинг: 0 / 0
СУБД GT.M
    #34437553
Hampster-Mumpster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не только. Была сказана важная вещь:
Антон УмниковВ качестве ограничивающих производительность факторов выступают как минимум четыре параметра:
- Объем памяти
- Процессорное время
- Система ввода/вывода (диски, сеть)
- Внутренние ограничения СУБД и приложения (например - конфликты по блокировкам).

Интегральная производительность системы, в большинстве случаев, определяется "бутылочным горлышком" системы. Например - если процессор не справляется с обработкой данных - увеличение оперативной памяти или скорости диска никакого прироста производительности системы не даст.

Простые тесты, в большинстве своем выявляют лишь одни из пределов производительности, оставляя за рамками рассмотрения все сопутствующие работе реальной системы факторы.

ИМХО, это не зависит от типа СУБД :)
...
Рейтинг: 0 / 0
СУБД GT.M
    #34439047
GeorgeK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насчет транзацкий в ГТМ. Не делее как пару дней назад пришлось разрешать проблему.
Если обложить забором проход по достаточно большой глобали, чисто по чтению - вы вскоре получите ошибку TRANS2BIG (транзакция слишком большая). За правильность кода ошибки не ручаюсь, у меня дома не стоит ГТМ (не держу Юникс-Линукс), но что-то типа TRANS2BIG (TRAN2BIG?). Напишите рутинку, создайте "большую" глобаль (наверное, миллионов 10 узлов хватит, но может и больше, я могу посмотреть сколько у нас), и запустите ее без всяких фронт-эндов, просто в терминале, и вы ее получите.
Когда в финансовой компании возникает такая проблема в продакшн - это утомляет.

Собственно, я даже не об этом. Я даже не о технической стороне вопроса. Пусть даже ГТМ быстрее, и пусть даже к ней приделаны какие-то фронт-энды, в т.ч. веб (я знаю, как это делается, и это просто чудовищно. Вы по определению получаете зверинец и монстр, ну да ладно, пусть все ок. Про то, что ОДБЦ ГТМ-овское глючит, я вообще молчу.)

Сбился опять... В-общем, я что хочу сказать. Люди, поймите, нету у ГТМ будущего, и я знаю что происходит. Во-первых, его никто не развивает. То, что Саша представляет как достижение, что "программисты дописывают что-то сами" - просто несерьезно, даже не буду комментировать. Во-вторых, банки и вообще пользователи ГТМ стараются от него избавиться. И давно бы уже, если бы не действующие приложения, которые трудно просто вот так перевести куда-то. В-третьих, Фиделити таки переводит. У них все ресурсы сейчас брошены на Profile Anywhere, о котором я уже говорил. Внедрение уже кое-гда началось. Какое-то время ГТМ вероятно еще будет жить, но будущего у него нету. Переходить в умирающую БД просто, мягко говоря, нерационально.

Впрочем, если кому-то хочется помучаться... Обидно только, что Саша затащил уже кое-кого из хороших знакомых туда...
...
Рейтинг: 0 / 0
СУБД GT.M
    #34439614
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<затащил уже кое-кого из хороших знакомых туда
Саша никого никуда не затащил. Саша пишет и развивает то, что рекомендует заказчик. А заказчик не может просто так выкинуть 500000 зеленых за лицензии Cache. Тем более, на сегодня используемой технологии qWORD без разницы на чем работать - это будет Cache или GT.M. Это касается и web технологии WEBLink, которая успешно работает как и под Cache, так и под GT.M. Так, что никаких "монстров", по выражению Георгия, не используется, а берутся вполне обкатанные в Cache технологии.
Я могу рассказать про другого монстра. Одна из известных минских фирм решилась на подвиг, перевести из ORACLE в Cache свой инструментальный продукт, причем используя все новоявленные Cache примочки в виде объектов и SQL надстройки. Два года трудились программисты над переводом продукта, успели даже кому-то втюхать его. На сегодня данная фирма прекратила все работы по развитию этого продукта, т.к. конечный результат получился намного хуже, чем это работало изначально в ORACLE. Если надо название фирмы и наименование продукта, могу Георгию ответить в личном письме.

Александр
...
Рейтинг: 0 / 0
СУБД GT.M
    #34439631
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Какое-то время ГТМ вероятно еще будет жить, но будущего у него нету
Это все равно, что говорить, у ОС Linux нет будущего, т.к. разработчик ядра больше им не занимается. Однако почему-то есть добровольцы, которые продолжают развивать эту ОС. Тоже касается и GT.M. Добровольцы покопаться в ядре всегда найдутся.

Александр
...
Рейтинг: 0 / 0
СУБД GT.M
    #34439708
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И речь скорее идет не о том, что GT.M плохой, а о том, что InterSystems из-за своей жадности теряет 500000 зеленых. Непонятно только, почему Георгия это так беспокоит ?
...
Рейтинг: 0 / 0
СУБД GT.M
    #34439716
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalin>Какое-то время ГТМ вероятно еще будет жить, но будущего у него нету
Это все равно, что говорить, у ОС Linux нет будущего, т.к. разработчик ядра больше им не занимается. Однако почему-то есть добровольцы, которые продолжают развивать эту ОС. Тоже касается и GT.M. Добровольцы покопаться в ядре всегда найдутся.

Александр
Тут дело не в добровольцах. Ну покопались, написали несколько дополнительных функций. А дальше? Кто будет сопровождать новый расширенный вариант? Авторы как-то не особо рвутся включать новый код. Чем и отличается gtm от других опенсорсов.
...
Рейтинг: 0 / 0
СУБД GT.M
    #34439881
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Тут дело не в добровольцах. Ну покопались, написали несколько дополнительных функций. А >дальше? Кто будет сопровождать новый расширенный вариант? Авторы как-то не особо рвутся >включать новый код. Чем и отличается gtm от других опенсорсов.

Есть одна замечательная питерская фирма , которая много разных вич из ядра Cache перенесла в ядро GT.M. ( те же Cache списки и т.д.) Т.е есть реализации GT.M в доработанном исполнении, надо просто знать, где взять.

Александр
...
Рейтинг: 0 / 0
СУБД GT.M
    #34440886
tetra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kalin: от того, что Вы знаете эту загадочную фирму, ничего не меняется. Сколько стОит доработанная версия GT.M, есть ли документация? И что за фирма?
...
Рейтинг: 0 / 0
СУБД GT.M
    #34441123
GeorgeK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kalin<затащил уже кое-кого из хороших знакомых туда
Саша никого никуда не затащил. Саша пишет и развивает то, что рекомендует заказчик. А заказчик не может просто так выкинуть 500000 зеленых за лицензии Cache. Тем более, на сегодня используемой технологии qWORD без разницы на чем работать - это будет Cache или GT.M. Это касается и web технологии WEBLink, которая успешно работает как и под Cache, так и под GT.M. Так, что никаких "монстров", по выражению Георгия, не используется, а берутся вполне обкатанные в Cache технологии.
Я могу рассказать про другого монстра. Одна из известных минских фирм решилась на подвиг, перевести из ORACLE в Cache свой инструментальный продукт, причем используя все новоявленные Cache примочки в виде объектов и SQL надстройки. Два года трудились программисты над переводом продукта, успели даже кому-то втюхать его. На сегодня данная фирма прекратила все работы по развитию этого продукта, т.к. конечный результат получился намного хуже, чем это работало изначально в ORACLE. Если надо название фирмы и наименование продукта, могу Георгию ответить в личном письме.

Александр
Ну да, если пропаганду не называть затаскиванием, то не затащил...
WEBLink? Ты еще MS DOS начни рекламировать, Саша.
Я тебе могу в личном письме привести пример, как одна крупнейшая канадская фирма выкинула десятки миллионов долларов в течение 5-7 лет на перевод из каше в Оракл, безуспешо. В шесть раз потеря производительности по результатам стресс-тестов, потеря функциональности и гибкости. Вернулись недавно в каше. И что?

А про мой интерес - я просто хочу, чтобы ты перестал ерундой заниматься. У меня много хороших знакомых, которые могут пострадать из-за твоих "активностей". Я никак не связан с ИС сейчас, и меня их доходы не интересуют, если ты на это намекаешь.
...
Рейтинг: 0 / 0
СУБД GT.M
    #34441127
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>И что за фирма?
Не хочу лишний раз раздражать InterSystems. Эту фирму в М мире знают достаточно давно. Поговорите с ними, если интересно. Много полезного узнаете.
...
Рейтинг: 0 / 0
СУБД GT.M
    #34441176
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>У меня много хороших знакомых, которые могут пострадать из-за твоих "активностей".
Намек не понял. Напиши мне лично, кто и за что может пострадать ? Просто не вижу причину. Каждый пишет, на чем хочет. И когда делиться опытом считалось "дурным тоном" ?
...
Рейтинг: 0 / 0
СУБД GT.M
    #34441900
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<Ну да, если пропаганду не называть затаскиванием, то не затащил...
<WEBLink? Ты еще MS DOS начни рекламировать, Саша.

Читаем на сайте www.intersys.com информацию по получению сертификата Achieving Caché Professional Certification
Caché Web Developer Certification Exams
Java, CSP, XML, Web Designers, application consultants, WebLink application developers
Да и в доку

Вот еще одна ссылочка http://www.intersystems.ru/cache/education/certification.html
И тут как ни странно требуют знания weblink

А еще можно в google набрать слово mgwms32.dll - это сайты, работающие под управлением IIS и weblink
А еще можно в google набрать слово nph-mgwcgi - это сайты, работающие под управлением Apache и weblink
...
Рейтинг: 0 / 0
СУБД GT.M
    #34442098
GeorgeK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В 333-й раз повторяю. Народ, если кому-то хочется связаться с БД ГТМ - вперед.
Я в ней сейчас работаю, и очень хотел бы, чтобы она жила и здравствовала. В самом деле, очень хотелось бы.
Но она не будет жить, ее просто херит сам "изготовитель". Потуги ее развить сторонними силами просто выглядят смешными. Я не хочу неполиткорректно высказываться на эту тему, но поймите, человеческому организму тоже есть предел, не говоря уже о базе данных в наше время, которую никто не развивает, кроме людей, несомненно умных, но у которых тоже есть предел.
...
Рейтинг: 0 / 0
СУБД GT.M
    #34442619
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Георгий, по прежнему жду письма на предыдущий пост

>Но она не будет жить, ее просто херит сам "изготовитель".
Господин Мисуно долго смеялся над этим высказыванием

Читаем на сайте производителя
http://www.fidelityinfoservices.com/FNFIS/Markets/Healthcare/InfoBulletins/20070122.htm

January 22, 2007
GT.M V5.2-000 is now available with support for Unicode

Александр
...
Рейтинг: 0 / 0
СУБД GT.M
    #34443269
decaml
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> January 22, 2007 GT.M V5.2-000 is now available with support for Unicode

списки то случайно не добавили?

> WebLink

- правильно понял WebLink это только Windows?
- есть какие линки на сайты со связкой GT.M - WebLink, поглядеть так сказать?
- можно в GT.M - WebLink сделать, что-то похожее на csp-серверный метод, возвращающий javascript? (кажется это называется AJAX технология что-ли)

PS.
в GT.M видится минус-шминус
давно дело было, но там буфер глобалов маленький, что в 32 разрядных Linux версиях, что в 64 разрядных для Unix, что для OpenVMS - кажется 2Г максимум ОЗУ, даже наверно и в новой версии,
а в Cache32 на Windows64 можно сделать буфер хоть 7Г ОЗУ, и есть подозрение, что можно сделать этот буфер и 20Г озу, а вдруг и вообще 60Г?

вообщем мелочь, а приятно
на мой взгляд в GT.M - что-то с логикой в этом вопросе - 64 разрядные версии идут с лимитом 32 разрядных, возникает вопрос - а в чем их фишка? - зачем они тогда нужны

чего-то я не догнал эту GT.M фишку
то есть на "мейн-фрейм" GT.M ставить бессмысленно
но это теоретическая дискуссия, сам то Sempron юзаю :-)

(но если у кого есть простаивающий итаниум с 60Г озу можем потестить, за деньги конечно, то есть мы тестим, а юзеры платят)
...
Рейтинг: 0 / 0
СУБД GT.M
    #34443540
Сашок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kalinЧитаем на сайте www.intersys.com информацию по получению сертификата Achieving Caché Professional Certification
Caché Web Developer Certification Exams
Java, CSP, XML, Web Designers, application consultants, WebLink application developers
Да и в доку

Вот еще одна ссылочка http://www.intersystems.ru/cache/education/certification.html
И тут как ни странно требуют знания weblink
Александр, не вводите в заблуждение - речь не о том, кто и что требует, а о том, кому может быть полезен указанный курс. А требуемый уровень сертификации - "Разработчик Caché"
...
Рейтинг: 0 / 0
СУБД GT.M
    #34443638
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WebLink - это web и не только доступ к СУБД Cache. Поставляется вместе с Cache вплоть до последних версий. WebLink имеет интерфейс взаимодействия с CSP.
Почитать можно http://www.intersystems.com/priordocexcerpts/weblink-42.pdf
http://www.intersystems.com/priordocexcerpts/weblinkdeveloper-42.pdf
Правда дока там не отвечает последней версии
Weblink изначально делался под Cache, MSM и др. версии М баз, поддерживаемых InterSystems
В Weblink есть модули для работы под win и linux.
В настоящий момент удалось портировать его под GT.M

Александр
...
Рейтинг: 0 / 0
СУБД GT.M
    #34443646
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>списки то случайно не добавили?

В нашей имеющейся 5 версии GT.M списки работают, и не только, есть еще кое-какие Cache примочки
...
Рейтинг: 0 / 0
СУБД GT.M
    #34443667
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>- можно в GT.M - WebLink сделать, что-то похожее на csp-серверный метод, возвращающий >javascript? (кажется это называется AJAX технология что-ли)

В WebLink есть технология, позволяющая взаимодействовать с данными базы без перезагрузки страницы. Сессии, кстати, там тоже есть. Есть даже фичи, которых нет в CSP. К тому же в отличие от CSP, доступны все исходники данной технологии.
...
Рейтинг: 0 / 0
СУБД GT.M
    #34443843
Hampster-Mumpster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
decamlв Cache32 на Windows64 можно сделать буфер хоть 7Г ОЗУ, и есть подозрение, что можно сделать этот буфер и 20Г озу, а вдруг и вообще 60Г?

Все-таки, наверное, Cache64 на Windows64? У Cache32 предельный размер кэша 2Гб.
Если у вас есть реальный опыт работы с Cache64 (а не только общие соображения :), думаю, многим будет интересно, если Вы им поделитесь...
Что касается платформ Linux и UNIX, на них всегда используется файловый кэш ОС (если, конечно, БД не в RAW-разделе), поэтому размер собственного кэша менее важен. Как ни странно, Linux кэширует лучше, чем Cache :)
...
Рейтинг: 0 / 0
СУБД GT.M
    #34444312
decaml
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hampster-Mumpster
Все-таки, наверное, Cache64 на Windows64? У Cache32 предельный размер кэша 2Гб.


ну не знаю, вначале и мне так казалось длительное время, потом что-то глянул - в дистрибутиве Cache есть папочки с небольшим количеством файлов для IA64.
давно дело было, для эксперимента поставил Cache на Windows IA64 (то есть на итаниум) и буфер стал неограничен - на том итаниуме отьелся 7Г в буфер, а в конфигураторе можно было поставить цифру до 65Г - видимо предел биоса, но в диспетчере процессов было написано - работает процесс - cache*32

такая ерунда, но для теста пойдет
...
Рейтинг: 0 / 0
СУБД GT.M
    #34444385
GeorgeK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kalinГеоргий, по прежнему жду письма на предыдущий пост

>Но она не будет жить, ее просто херит сам "изготовитель".
Господин Мисуно долго смеялся над этим высказыванием

Читаем на сайте производителя
http://www.fidelityinfoservices.com/FNFIS/Markets/Healthcare/InfoBulletins/20070122.htm

January 22, 2007
GT.M V5.2-000 is now available with support for Unicode

Александр
Калин, ты утомил.
Я был там у них в офисе в Малверне, я разговаривал с людьми. Я вообще на Фиделити работал, но сейчас ушел от них. Господин Мисуно конечно авторитет, но я как-то больше доверяю своим наблюдениям и знаниям, извини.

Дальнейшую "дискуссию" считаю бесполезной, я вообще жалею, что ввязался. Я лишь только хотел людей предупредить, что не надо вестись на это. Жалею, что упомянул твое имя.
...
Рейтинг: 0 / 0
СУБД GT.M
    #34444585
Hampster-Mumpster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что ж, нормально, т.к. Cache при установке определяет платформу и ставит правильное ядро. В случае IA64 (cache 5.2.3):

Dump of file cache.exe

PE signature found

File Type: EXECUTABLE IMAGE

FILE HEADER VALUES
200 machine (IA64)
8 number of sections
457EC993 time date stamp Tue Dec 12 18:24:03 2006
0 file pointer to symbol table
0 number of symbols
F0 size of optional header
23 characteristics
Relocations stripped
Executable
Application can handle large (>2GB) addresses
...

И как оно было по скорости по ср. с обычной 32-битной платформой (P4)?
...
Рейтинг: 0 / 0
СУБД GT.M
    #34444588
Hampster-Mumpster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GeorgeKЯ вообще на Фиделити работал, но сейчас ушел от них.
Не на ИнтерСистемз часом? :)
...
Рейтинг: 0 / 0
СУБД GT.M
    #34444615
GeorgeK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hampster-Mumpster GeorgeKЯ вообще на Фиделити работал, но сейчас ушел от них.
Не на ИнтерСистемз часом? :)
Нет. Я сказал, что продолжаю работать в ГТМ. С ИС у меня нет никаких связей.
...
Рейтинг: 0 / 0
СУБД GT.M
    #34444853
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Я сказал, что продолжаю работать в ГТМ. С ИС у меня нет никаких связей.
Не будет проблем с рукой кормящей ?
По прежнему жду письма ?
...
Рейтинг: 0 / 0
СУБД GT.M
    #34444949
GeorgeK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kalin>Я сказал, что продолжаю работать в ГТМ. С ИС у меня нет никаких связей.
Не будет проблем с рукой кормящей ?
По прежнему жду письма ?
Какой ты Саша...
МЗОР - тебе что-то говорит (тут ты вобще по поной ответишь, это святое)? Автовокзал - тоже пустой звук?

Кто следующий?

Если ты не успел "окучить" этих клиентов, то гуд. Но есть сведения, что успел. Ты много вреда наносишь, очень. Прежде всего - людям.
...
Рейтинг: 0 / 0
СУБД GT.M
    #34445074
decaml
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*** МЗОР - Минский станкостроительный завод

- Хотелось бы нам завод автоматизировать, повысить конкурентоспособность,
что-то можете сказать?
- Это так класно сделать web-страничку на GT.M, 100% - будет летать на 200%.
- И мы, и мы, хотим, хотим.
- Саша, от тебя один вред - там надо было внедрять Cache! - станок вжик, вжик -
открыл сокет - фах туда M-программу.
- Да, но конкурентоспособность это не столько работа с сокетами, сколько разница доходов и расходов,
какие же будут расходы?
- Не надо капризничать, какие скажут такие и будут, вон OEBS - "оракле электрон
бизьнес сьюит" просит 150к евро за каждый новый "документ" (в Access за полдня правда
можно сделать получше), но ведь М быстрее.

Это была передача "ERP шагают по планете" :)
...
Рейтинг: 0 / 0
СУБД GT.M
    #34446834
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>МЗОР - тебе что-то говорит (тут ты вобще по поной ответишь, это святое)? Автовокзал - тоже >пустой звук?
МЗОР - завод банкрот. Там из программистом почти никого не осталось. Подгаецкая еще зимой уволилась. Все, что там делалось на Cache, они давно уже похерили и забыли. Я на них давно уже крест поставил. Пытался как-то привлечь к своим работам, но их уровень современной подготовки практически никакой. Они и сами это поняли.
Автовокзал - там практически никого не осталось. Начальника АСУ уволили с работы, на его место поставили Мацукевича, который от программирования практически уже отошел. Остальные программисты толковые, которые там еще были, уже уволились. Там счас текущую систему некому поддерживать, не говоря о разработке чего-то нового. Если брать для примера Коммунарку, так там Белхард ковырялся почти 3 года, чтобы старую систему еще c СМ ЭВМ со старого DIAMS перевести под telnet в Cache с тем же telnet интерфейсом. Про новые разаботки на коммунарке даже речи не идет. Так, что "окучивать" особо и некого. Разве, что провести работу с БелХард :) А так работы хватает на несколько лет вперед. Так, что не до "окучивания".

Александр
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
СУБД GT.M
    #35305307
Elvis_plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GT.M -> Up; :-)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
СУБД GT.M
    #36711695
Тов, kalin , напишите мне пожалуйста в личку (или на почту, в профиле должна быть). Ваш адрес в профиле похоже уже не актуален. Не могу с Вами связаться.
...
Рейтинг: 0 / 0
СУБД GT.M
    #36716103
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Георгий Вячеславович, рад Вас видеть в добром здравии!
...
Рейтинг: 0 / 0
СУБД GT.M
    #36782663
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сегодня уже 2010г.
От Cache практически отошел. В основном занимаюсь web разработками. Использую готовые наработки на php и python (drupal, django). Из баз на сегодня - mysql и posgresql.
В cache поддерживаю только наработки 3-5 летней давности. Нового ничего в Cache не разрабатывается.
...
Рейтинг: 0 / 0
СУБД GT.M
    #36783496
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalin, мы рады Вашим успехам :)
Но при чем здесь GT.M?
...
Рейтинг: 0 / 0
СУБД GT.M
    #36783694
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
отвечал Антону Аксенову, видимо
...
Рейтинг: 0 / 0
СУБД GT.M
    #36801337
А.В.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Никогда не работал с GT.M (более того - не видел в глаза), но вот возникла необходимость написать небольшую программку для изменения кода всех рутин. Грубо говоря, в конце каждой строки каждой программы нужно добавить небольшой комментарий. Никаких вроде бы сложностей за исключением того, как получить список всех рутин GT.M, как изменить конкретную строку конкретной рутины и после этого перекомпилировать рутину (добавляться будут не только комментарии)?
Не знаю куда и копнуть. Вроде как прочитать строку рутины можно через $TEXT, но задачи это не решает, да и определить достоверно конец рутины не даст.
Я так понимаю, все рутины в GT.M хранятся в виде файлов, и нужно работать с файлами в моем случае? Но как средствами GT.M получить список файлов из директория $ZROU? Могу ли я читать файл и править его одновременно, или нужно будет закачивать рутину целиком, удалять файл и создавать новый?
Или все гораздо проще и есть в GT.M глобаль типа ^ROUTINE в Cache? Или хотя бы аналог ^$ROUTINE для получения списка?
...
Рейтинг: 0 / 0
СУБД GT.M
    #36801767
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скачайте демо версию, которую выложили на сайте .
Разобраться не сложно. Для начало это поможет представить
что это за "зверь" )

http://eltranssoft.ucoz.ru/
...
Рейтинг: 0 / 0
СУБД GT.M
    #36801781
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А список Рутин можно получить примерно так :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
RtnArray(Name,Ret,i,Er)
        K Ret
        Set Dev=$TR(Name,"%","_")_".m"
        Open Dev:(readonly:exception="g BED")
        Use Dev:exception="G EOF"
        For i= 1 : 1  Read x Use $I Set Ret(i)=x q:$ZEOF
EOF     IF '$ZEOF ZM +$ZS
        Close Dev
        Quit
BED     IF $P($ZS,",", 1 )= 2  DO  QUIT
        . Set Er="The file  "_Dev_" does not exist."
        IF $P($ZS,",", 1 )= 13  DO  QUIT
        . Set Er="The file "_Dev_" is not accessible."
        ZM +$ZS
        Quit

Или так используя PIP:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
TOP(cmd,files,i,Er)
         n io,line,p
         s io=$io
         s p=cmd
         o p:(COMMAND=cmd:READONLY)::"PIPE"
         k files
         u p
         For i= 1 : 1  r files(i) q:$ZEOF
         c p
         u io
         QUIT  

Вообще на сайте производителя это хорошо описано,
можно и туда заглянуть.
...
Рейтинг: 0 / 0
СУБД GT.M
    #36801963
А.В.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valeriu, спасибо, буду пробовать. Сегодня мне настроят сервер с GT.M, заодно и посмотрю на этого зверя.
...
Рейтинг: 0 / 0
СУБД GT.M
    #36849790
А.В.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще раз спасибо, с проблемой разобрался. Но возник другой вопрос.
Удалили очень большую глобаль и хочется уменьшить теперь DAT-файл с глобалями дабы съэкономить место на диске. Не могу найти стандартной утилиты для сжатия DAT-файла. Такая вообще существует? Если нет, то как действовать?
%GO для всех глобалей, удаление DAT-файла, создание нового, %GI глобалей?
...
Рейтинг: 0 / 0
СУБД GT.M
    #36851302
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно взглянуть сюда:

http://tinco.pair.com/bhaskar/gtm/doc/books/ao/UNIX_manual/index.html

Обратите внимание на утилиту(комманду)
Код: plaintext
MUPIP REOorg
...
Рейтинг: 0 / 0
СУБД GT.M
    #36853585
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из стандартных ^GBLOCKCOPY (копирование всех данных в другой файл).
...
Рейтинг: 0 / 0
СУБД GT.M
    #36888296
Ultimate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите а как в GT.M можно посчитать контрольную сумму CRC 32 .. В примерах я нашел только с использование аски кода. В мампсе это выглядело, как то так: $zcrc("ABCD",32)
...
Рейтинг: 0 / 0
СУБД GT.M
    #37324223
Люди, а какой отладчик удобней для GT.M? Serenji или тот который от EsiObjects? А может есть еще какие решения?
К примеру, я не понял как можно сделать что-то типа jobexam (как в MSM) для процесса в GT.M, не для своего а для другого.
А то запустил job - и не понятно, что с ним происходит, что он делает.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37332985
Антон Аксёнов,

Отвечу себе, в GT.M всё можно сделать самому, по крайней мере утилиты типа списка джобов, прибитие джоба, получение стека вызовов и локальных переменных написать несложно, копать нужно в сторону системной переменной $ZINTerrupt.
С отладкой не разбирался пока, но думаю тоже не проблема.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37333412
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте задавать вопросы вот здесь

http://groups.google.com/group/comp.lang.mumps/topics

и получите ответ из первых рук, те самим разработчикам GT.M
...
Рейтинг: 0 / 0
СУБД GT.M
    #37380840
Портирую программу с MSM на GT.M.
Общее впечатление от СУБД приятное, однако возникли и проблемы.

Дикая работа с дисковыми файлами - не понял как можно задать разделитель строк? Судя по документации - никак.
Мало того, самые интересные флаги открытия файлов - чтение с разделителями или без можно выставить только в команде OPEN. Пришлось свою библиотеку писать для работы с файлами, чтобы иметь возможность читать строки, затем там где надо читать конкретное кол-во байт. Получился костыль, ибо чтение побайтовое из файла. Ну это еще не проблема, можно пережить, можно улучшить и т.д. Хотя кода придется при портировании логики перелопатить порядочно.

Самое главное - начали запускать задачи. Скорость радует, однако она радует только в первый раз! При повторном построении данных скорость такая же как при первом разе. Такое ощущение что кэширования нет вообще! Пробовали доступ ставить и MM, и BG, разницы не увидели. Разве что при MM вроде чуточку быстрее.
Собственно, тут же был написан простенький тест который подтвердил опасения - кэша нет или он не работает. А это грустно, ибо мощное кэширование в MSM "прощало" практически любой прикладной код. Может мы не нашли что-то в документации? Вроде всё перерыли.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37380903
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте посмотреть в сторону M/Wire вот здесь http://gradvs1.mgateway.com/main/
Если задумайте построить GUI на клиентской стороне.
Попробовал, вроде стоящая вещь. Пришлось прикрутить свои пару функций.
Постарался, что-бы работало в точности что и MSM-Activate.
Если все со временем получится, в скором выпустим студио для GT.M на базе этого продукта.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37380985
Valeriu,
Спасибо за ссылку, M/Wire я смотрел, не подошло. Да и свой протокол написать не несложно-то.
У нас уже собственно всё готовое есть - и клиент, и серверная логика.
Вопрос только вот в кэшировании.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37382388
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон Аксёнов,

Вы уверены, что кэширование виновато? На производительность ведь много факторов влияет.
top
и
vmstat 1 10
под нагрузкой что выдают?
...
Рейтинг: 0 / 0
СУБД GT.M
    #37382467
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не знаю как насчет кэширования, но скорость убойная.
Я получаю из базы полный глобаль (одна строка больше 255 символов !!!)
на стороне клиента через TCP/IP меньше чем за 2сек
А строк примерно 10 000 тыс.
Машина простенькая (не сервер) CentOC 5.6
...
Рейтинг: 0 / 0
СУБД GT.M
    #37382544
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну все-таки чудес не бывает, кэширование в каком-то виде все равно тут есть.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37382608
Спасибо за ответы!
Я просто сравниваю кэширование с MSM, там первый проход по некоторой глобали идет 30 секунд. Второй и последующие - секунда. Потому что всё в кэше.
В GT.M пробег всегда за одно время. Не спорю, кэш там есть, только он видимо для более локальных выборок, грубо говоря ^gl=^gl+1.
Валерий, дело не в сети, с сетью у меня тоже всё круто. Я в терминалке программку запускаю, в командной строке.

Я посмотрел в интернетах - вроде никто не задавался вопросом таким, или проигнорировал. Лично для меня это не фатальная проблема - в том месте где оно явно мешает работать надо будет переписать логику, используя "новые" (по сравнению с MSM) возможности GT.M, в частности ловушки на изменение глобалей. Ну да не суть.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37382612
Valeriu,
Да, соглашусь с вами что скорость действительно убойная, это радует.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37382621
Alexey Maslov,
Выдаёт вот такое:

Код: plaintext
1.
2.
3.
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 13542  ray        20     0   12200   7580   6716  R  68 . 7    1 . 5     0 : 42 . 52  mumps
 13726  ray        20     0    2548   1208    904  R   0 . 3    0 . 2     0 : 00 . 14  top
     1  root       20     0    2812   1488   1116  S   0 . 0    0 . 3     0 : 00 . 45  init
...
Рейтинг: 0 / 0
СУБД GT.M
    #37382708
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон Аксёнов,
информации маловато для вынесения приговора :), но размер виртуальной памяти процесса mumps около 12Мб наводит на мысль, что используется дефолтный - как видно, небольшой - размер кэша.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37384694
Alexey,
вот vmstat под нагрузкой:
авторprocs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
1 0 39204 25836 24084 270280 0 0 7 16 57 38 1 0 98 0
1 0 39204 25828 24084 270296 0 0 0 0 284 114 94 6 0 0
1 0 39204 25828 24084 270304 0 0 0 0 305 198 94 6 0 0
1 0 39204 25828 24084 270308 0 0 0 0 282 121 94 6 0 0
1 0 39204 25828 24084 270316 0 0 0 0 303 191 94 6 0 0
1 0 39204 25828 24092 270316 0 0 0 12 289 149 95 5 0 0
1 0 39204 25828 24092 270332 0 0 0 0 307 201 97 3 0 0
1 0 39204 25828 24092 270336 0 0 0 0 281 116 94 6 0 0
1 0 39204 25828 24092 270344 0 0 0 0 304 200 95 5 0 0
1 0 39204 25828 24092 270352 0 0 0 0 285 113 95 5 0 0

ну а top
автор PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5976 ray 20 0 12248 7944 7052 R 99.3 1.6 2:44.68 mumps
5645 ray 20 0 12032 1680 876 S 0.3 0.3 0:00.03 sshd
1 root 20 0 2812 1500 1116 S 0.0 0.3 0:00.49 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:00.18 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
6 root 20 0 0 0 0 S 0.0 0.0 0:02.61 events/0
7 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuset
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khelper
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 async/mgr
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pm
11 root 20 0 0 0 0 S 0.0 0.0 0:00.14 sync_supers
12 root 20 0 0 0 0 S 0.0 0.0 0:00.20 bdi-default
13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kintegrityd/0
14 root 20 0 0 0 0 S 0.0 0.0 0:01.14 kblockd/0
15 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kacpid

Меня очень смущает то что mumps грузит 100% процессора. Так же не должно быть, в диск всё должно упираться.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37384699
Упс, не тот тэг:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
procs -----------memory---------- ---swap-- -----io---- - system -- ----cpu----
 r b swpd free buff cache si so bi bo in cs us sy id wa
  1   0   39204   25836   24084   270280   0   0   7   16   57   38   1   0   98   0 
  1   0   39204   25828   24084   270296   0   0   0   0   284   114   94   6   0   0 
  1   0   39204   25828   24084   270304   0   0   0   0   305   198   94   6   0   0 
  1   0   39204   25828   24084   270308   0   0   0   0   282   121   94   6   0   0 
  1   0   39204   25828   24084   270316   0   0   0   0   303   191   94   6   0   0 
  1   0   39204   25828   24092   270316   0   0   0   12   289   149   95   5   0   0 
  1   0   39204   25828   24092   270332   0   0   0   0   307   201   97   3   0   0 
  1   0   39204   25828   24092   270336   0   0   0   0   281   116   94   6   0   0 
  1   0   39204   25828   24092   270344   0   0   0   0   304   200   95   5   0   0 
  1   0   39204   25828   24092   270352   0   0   0   0   285   113   95   5   0   0 

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
PID USER PR NI VIRT RES SHR S %CPU %MEM  TIME + COMMAND
  5976  ray  20   0   12248   7944   7052  R  99 . 3   1 . 6   2 : 44 . 68  mumps
  5645  ray  20   0   12032   1680   876  S  0 . 3   0 . 3   0 : 00 . 03  sshd
  1  root  20   0   2812   1500   1116  S  0 . 0   0 . 3   0 : 00 . 49  init
  2  root  20   0   0   0   0  S  0 . 0   0 . 0   0 : 00 . 00  kthreadd
  3  root RT  0   0   0   0  S  0 . 0   0 . 0   0 : 00 . 00  migration/ 0 
  4  root  20   0   0   0   0  S  0 . 0   0 . 0   0 : 00 . 18  ksoftirqd/ 0 
  5  root RT  0   0   0   0  S  0 . 0   0 . 0   0 : 00 . 00  watchdog/ 0 
  6  root  20   0   0   0   0  S  0 . 0   0 . 0   0 : 02 . 61  events/ 0 
  7  root  20   0   0   0   0  S  0 . 0   0 . 0   0 : 00 . 00  cpuset
  8  root  20   0   0   0   0  S  0 . 0   0 . 0   0 : 00 . 00  khelper
  9  root  20   0   0   0   0  S  0 . 0   0 . 0   0 : 00 . 00  async/mgr
  10  root  20   0   0   0   0  S  0 . 0   0 . 0   0 : 00 . 00  pm
  11  root  20   0   0   0   0  S  0 . 0   0 . 0   0 : 00 . 14  sync_supers
  12  root  20   0   0   0   0  S  0 . 0   0 . 0   0 : 00 . 20  bdi- default 
  13  root  20   0   0   0   0  S  0 . 0   0 . 0   0 : 00 . 00  kintegrityd/ 0 
  14  root  20   0   0   0   0  S  0 . 0   0 . 0   0 : 01 . 14  kblockd/ 0 
  15  root  20   0   0   0   0  S  0 . 0   0 . 0   0 : 00 . 00  kacpid
...
Рейтинг: 0 / 0
СУБД GT.M
    #37384795
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон АксёновМеня очень смущает то что mumps грузит 100% процессора. Так же не должно быть, в диск всё должно упираться.Отчасти Вы сами ответили на Ваш вопрос :) упёрлось в CPU, значит, в диск не упирается, значит, с кэшированием особых проблем, по-видимому, нет. Скорее всего, несмотря на маленький дефолтный кэш в GT.M, Linux кэширует все запросы к файловой системе. Посмотрите, какой размер кэша в Linux (в том же top - параметр cached).
Однако мне попадалась статья K.S.Bhaskar'a, в которой он выявил существенный прирост производительности с увеличением GT.M-ного кэша на некоей модельной задаче. Это в общем понятно, т.к. на пересылки блоков из вторичного кэша (линуксового) в первичный (GT.M-ный) тоже уходят ресурсы CPU. Хотя такой эффект ускорения наблюдается не всегда и не везде...
...
Рейтинг: 0 / 0
СУБД GT.M
    #37385164
Alexey,
У нас GLOBAL_BUFFER_COUNT стоит в 4096 (максимум), размер блока 1024, тип доступа - GB.
Вроде в документации ничего больше связанного с кэшем не нашли. А что в убунте настроить с кэшем связанное?
...
Рейтинг: 0 / 0
СУБД GT.M
    #37385263
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон,

Не считаю себя знатоком GT.M, но возможно "размер блока 1024" - не лучший выбор. Согласно К.S.Bhaskar'у (и некоторому скромному опыту :), наилучшая производительность обычно достигается при 8KB. Да и в Cache - не зря же используются 8KB блоки.

По поводу кэша в Linux'е, скорее всего, ничего делать не надо. Он и так отдаёт под кэш почти всю свободную память. Имея СУБД с собственным большим кэшем (например, Cache), наоборот, иногда хочется эту линуксовую стратегию несколько придушить.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37385419
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон Аксёнов ,

Посмотрите здесь , где советовал Valeriu :
increase gt.m global buffer (рабочая ссылка на mupip_set_cmmd )

Cache Performance .

Для 64-битной версии некоторые ограничения сняты :K.S. BhaskarOn 64-bit editions of GT.M, the previous per-region limits of
65,536 global buffers and 2GB shared segment size are no longer
limited by GT.M; of course, they remain limited by your actual
computing platform
PS: ещё это может пригодиться (думаю, должен быть аналог для GT.M)
...
Рейтинг: 0 / 0
СУБД GT.M
    #37385784
servit, спасибо за ответ!
Доку по команде mupip set У нас читали, по ней и настраиваем. . Что интересно по параметру GLOBAL_BUFFER_COUNT напсиано максимум 65536, однако псле всех параметров идет сводная табличка и в ней максимум уже 4096.

Размер блока поставили в 8 кб, файл пересоздали.

У нас же вообще не получается что-то большое туда воткнуть. При тех же 4096 вот такая веселуха:
Код: plaintext
1.
2.
3.
4.
5.
ray@gtm:/opt/ts/main$ gtm

GTM-main>s ^tmp( 1 )= 1 
%GTM-E-DBFILERR, Error with database file /opt/ts/main/dat/ts.dat
%GTM-I-TEXT, Error with database shmget
%SYSTEM-E-ENO22, Invalid argument

Что делать - неясно.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37386031
andrew000999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ошибка однозначно - не видим фай ts.dat
варианты - или файл не существует в природе
или в запускаемом модуле ( gtmroutines) указан другой файл либо не указан вообще
либо попытка использовать .dat от какойто другой версии (gtm очень чувствителен к такой беде
андрей
...
Рейтинг: 0 / 0
СУБД GT.M
    #37386045
andrew000999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
соврал не gglroutines - там программы лежат
а что-то там gbl - в общем gbl_dist= вроде бы
и еще хотелось бы узнать о количествн пользователей
gtm ОЧЕНЬ сильно работает со своими базами -не хуже msm - даже быстрее - опыт есть большой
но с фаалами ОС - тормозит со страшной силой
Андрей
...
Рейтинг: 0 / 0
СУБД GT.M
    #37386475
rayrass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrew000999ошибка однозначно - не видим фай ts.dat
варианты - или файл не существует в природе
или ...
Код: plaintext
1.
2.
3.
4.
5.
ray@gtm:/opt/ts/main/dat$ ls -al
итого  186024 
drwxr-xr-x   2  ray ray        4096   2011 - 08 - 08   15 : 55  .
drwxr-xr-x  10  ray ray        4096   2011 - 08 - 08   17 : 50  ..
-rw-rw-rw-   1  ray ray  2151760384   2011 - 08 - 08   18 : 37  ts.dat
-rw-r--r--   1  ray ray        1536   2011 - 08 - 08   15 : 29  ts.gld
Файл существует и доступ к нему есть. На сервере не работает ничего кроме собственно убунты и gt.m. Оперативки 2 гигабайта, юзер с базой работает один.
Вот что происходит, если разрисовать подробно:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
ray@gtm:/opt/ts/main/dat$ mupip set -file ts.dat -g= 4096 
Database file ts.dat now has  4096  global buffers
ray@gtm:/opt/ts/main/dat$ gtm
GTM-main>s ^tmp( 1 )= 1 
%GTM-E-DBFILERR, Error with database file /opt/ts/main/dat/ts.dat
%GTM-I-TEXT, Error with database shmget
%SYSTEM-E-ENO22, Invalid argument
GTM-main>h
%GTM-I-MUFILRNDWNSUC, File /opt/ts/main/dat/ts.dat successfully rundown
ray@gtm:/opt/ts/main/dat$ mupip set -file ts.dat -g= 3072 
Database file ts.dat now has  3072  global buffers
ray@gtm:/opt/ts/main/dat$ gtm
GTM-main>s ^tmp( 1 )= 1 
GTM-main>h
%GTM-I-MUFILRNDWNSUC, File /opt/ts/main/dat/ts.dat successfully rundown
...
Рейтинг: 0 / 0
СУБД GT.M
    #37386528
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что выдаёт
Код: plaintext
$ cat /proc/sys/kernel/shmmax
?
...
Рейтинг: 0 / 0
СУБД GT.M
    #37386557
rayrass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
ray@gtm:/opt/ts/main/dat$ cat /proc/sys/kernel/shmmax
 33554432 
...
Рейтинг: 0 / 0
СУБД GT.M
    #37386576
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот и ответ на вопрос. GT.M запрашивает сегмент разделяемой памяти, размер которого равен = размер_кэша_глобалов + размер_системных_таблицы. Но уже кэш глобалов достигает потолка, заданного shmmax: 8192*4096 = 33554432 B, поэтому на самом деле вы запрашиваете больше, чем задано в shmmax. Увеличивайте shmmax (как это сделать в Ubuntu, Google вам в руки).
...
Рейтинг: 0 / 0
СУБД GT.M
    #37386611
Alexey Maslov,
Спасибо, подсказали)
ага, мы уже и сами поняли, ищем, пробуем.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37386715
Разобрались, выставили. Пробовали на разных кол-вах буферов, в том числе и на 65535. Картина одна и та же: в тестовой программе которая бесконечно перебирает глобаль:
Код: plaintext
1.
2.
3.
4.
5.
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  9283  ray        20     0   539m  81m  81m R  96 . 8    4 . 1     0 : 37 . 45  mumps
  1446  ray        20     0   92476   28m  21m S   1 . 0    1 . 4     0 : 08 . 22  nautilus
   797  root       20     0   46648   15m  9776  S   0 . 7    0 . 7     0 : 30 . 16  Xorg
  1536  ray        20     0   40376   13m  10m S   0 . 3    0 . 7     0 : 14 . 08  wnck-applet
Загрузка по прежнему 96%-99%. А ведь в программе нет никаких расчетов.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
ray@gtm:~$ vmstat  1   10 
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
  1    0        0   1136156   104992   577556      0      0       7       7     36     91    2    0   98    0 
  1    0        0   1136148   104992   577556      0      0       0       0    296    164   100    0    0    0 
  1    0        0   1136148   104992   577556      0      0       0       0    282    120   100    0    0    0 
  1    0        0   1136148   104992   577364      0      0       0       0    297    252   98    2    0    0 
  1    0        0   1136148   105000   577532      0      0       0      16    298    318   98    2    0    0 
  1    0        0   1136148   105000   577548      0      0       0       0    298    193   99    1    0    0 
  1    0        0   1136156   105000   577548      0      0       0       4    292    139   99    1    0    0 
  1    0        0   1136156   105000   577548      0      0       0       0    295    160   100    0    0    0 
  1    0        0   1136156   105000   577356      0      0       0       0    288    212   100    0    0    0 
  1    0        0   1136032   105008   577532      0      0       0      16    302    341   97    3    0    0 
...
Рейтинг: 0 / 0
СУБД GT.M
    #37386878
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон, а что вы ожидали увидеть? По-видимому, ваш глобал полностью влезает в кэш, это объясняет отсутствие дискового i/o. Ваш процесс - единственная активная задача, вот и забирает весь CPU, который у вас 1-ядерный. Что-то (немного) теряется на передаче данных по сети (вы ведь, наверное, что-то куда-то выводите).
Запустите что-нибудь еще, и они CPU поделят. Или вставьте периодические искусственные задержки (hang 1), только неясно, зачем.
На Cache for Linux, если я запущу обход небольшого глобала, тоже заберу 100% одного из ядер.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37386911
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про ядра погорячился, top не позволяет судить об их количестве и показывает, на самом деле, загрузку ядра (ядер). Если процесс многопоточный, top может показать и 200%.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37387018
Да понимаете, дело не в том что мне жалко процессорного времени, отнюдь.
Мне непонятно почему обход глобала занимает постоянно 3 секунды, на каждой итерации. В MSM же тот же глобал (те же данные) обход после того как всё ляжет в кэш происходит практически мгновенно. Я просто понять не могу, где сам кэш-то? Я как-то ожидал что gt.m будет если не заруливать то уж так же по времени работать.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37387096
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон Аксёнов ,

Я бы поступил следующим образом:
1) в mumps community завёл топик с темой "Performance: MSM vs GT.M";
2) опубликовал законченный код для теста (генерация данных, проход по ним). Если код для этих СУБД отличается, то оба варианта;
3) указал какие параметры СУБД/ОС и с какими значениями были установлены (желательно указать все, отличные от дефолтных);
4) указал параметры железа, версии СУБД/OС;
5) указал полученные результаты в обеих системах: время выполнения, загрузка CPU, кол-во disk I/O и др.
6) и в конце задал бы вопрос: "How to speed up?"
...
Рейтинг: 0 / 0
СУБД GT.M
    #37387114
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот ваш кэш, в колонке VIRT:
Код: plaintext
1.
PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  9283  ray        20     0   539m  81m  81m R  96 . 8    4 . 1     0 : 37 . 45  mumps
Причины замедления по сравнению с MSM могут быть разные. В GT.M, например, медленно работают некоторые виды косвенности. Потом, насколько помню, $Query медленная. Но это по сравнению с Cache, с MSM сравнивать не приходилось.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37387666
$q медленный? Ого, у нас всё на нём. Вся логика навигации по глобалям только на нём.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37388268
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
$q медленный? Ого, у нас всё на нём. Вся логика навигации по глобалям только на нём.
Честно говоря мы тоже используем $q очень часто, но особых тормозов не заметил.
Очень удобно сразу читать полностью узел, а потом косвенную от него содержимое.
Для нашего редактора глобалов (GUI) на стороне клиента, отправка со стороны сервера GT.M
осуществляется именно этим способом.
Вот только не пробовали сравнивать c другими методами. Может и стоит ... ???
Примерно делаем вот так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
ArrayFilter(Var,Filter,Nod,Er) ;Parsing(Filtering) nhe selected Global
 K Nod
 s Nr= 0 
 f dm= 1 : 1  s Var=$Q(@Var) Quit:Var=""  Do
 . If (Var[Filter)!(@Var[Filter) Do
 . . s Nr=Nr+ 1 
 . . s Nod(Nr)=Var_"="_@Var_$c( 13 , 10 )
 Q
 ;
GlbNodes(var,nod,er) ;Load  1000  Global Nodes in array
 f i= 0 : 1 : 1000  s var=$Q(@var) Quit:var=""  Do
 . s nod(i)=var_"="_@var_$c( 13 , 10 )
 Quit
...
Рейтинг: 0 / 0
СУБД GT.M
    #37388698
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я в критичном месте переписываю узел с которым надо работать в локаль а уже затем обхожу локаль. Если обработка локалей а для CACHE это так значительно быстрее то это имеет смысл. А вот для GTM не знаю так ли это.
Например:
K bf M bf=^DDD(1,2,3)
а затем уже обрабатываю локаль bf как мне надо.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37388787
ser_shu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
misha_sharЯ в критичном месте переписываю узел с которым надо работать в локаль а уже затем обхожу локаль. Если обработка локалей а для CACHE это так значительно быстрее то это имеет смысл.
По моему опыту Cache с глобалью работет быстрее, чем с локалью.
По крайней мере, создание и обработка большого временного массива ^||array(...) на порядок быстрее, чем array(...).
...
Рейтинг: 0 / 0
СУБД GT.M
    #37388859
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ser_shumisha_sharЯ в критичном месте переписываю узел с которым надо работать в локаль а уже затем обхожу локаль. Если обработка локалей а для CACHE это так значительно быстрее то это имеет смысл.
По моему опыту Cache с глобалью работет быстрее, чем с локалью.
По крайней мере, создание и обработка большого временного массива ^||array(...) на порядок быстрее, чем array(...).Смотря какая версия Caché используется: Large Local Arrays
Проверил в версии 2011.2.FT1:

  set N=2000000
  
  set t=$ZH
  for i=1:1:N s a(i)=i
  w "time1= ",$ZH-t," s.",!

  set t=$ZH
  for i=1:1:N s ^||b(i)=i
  w "time2= ",$ZH-t," s.",!


Результат (второй запуск):
Код: plaintext
1.
2.
TEST>d ^test
time1= .498635 s.
time2= .540175 s.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37388971
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот с локалью в GT.M мне тоже интересно.
Вот спросить некого !
На форуме что есть comp.lang.mumps , сообщения перебираются за неделю ...
Все ушли на фронт
...
Рейтинг: 0 / 0
СУБД GT.M
    #37389007
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тест что представил servit запустил только первый,
поскольку второй не поддерживается в GT.M

Код: plaintext
1.
2.
3.
4.
Test ;test  
  set N= 2000000 
  Set Start=$Piece($h,",", 2 ) 
  for i= 1 : 1 :N s a(i)=i
  w $Piece($h,",", 2 )-Start_" seconds are executed in GT.M !!!",! 

Показал 1 с. Опять в GT.M не понятно как меньше сек. посмотреть.
$h-меньше 1 с не выдает.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37389352
ser_shu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servitСмотря какая версия Caché используется: Large Local Arrays
Проверил в версии 2011.2.FT1:
Я давно тестировал версию 2008. Приятный результат в версии 2011 :)
...
Рейтинг: 0 / 0
СУБД GT.M
    #37389502
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ser_shuЯ давно тестировал версию 2008. Приятный результат в версии 2011 :)Такой же неплохой результат должен быть и в версии 2010.2. Ведь согласно ссылке выше улучшение появилось с версии 2010.2.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37389600
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuОпять в GT.M не понятно как меньше сек. посмотреть.
$h-меньше 1 с не выдает.Вот, что я нашёл: Get a timing in milliseconds
Там же по ссылке можно найти ещё один совет:BhaskarProbably best accomplished with a call to gettimeofday() via GT.M's interface to call C functions. But please don't call the OS directly if you want to set a timeout.
...
Рейтинг: 0 / 0
СУБД GT.M
    #37389614
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriuпоскольку второй не поддерживается в GT.M^||b - это приватный глобал процесса, наиболее близкий аналог в GT.M: ^b($job)
...
Рейтинг: 0 / 0
СУБД GT.M
    #37389696
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servitВот, что я нашёл: Get a timing in milliseconds
Там же по ссылке можно найти ещё один совет:

Не особенно помогло :)
То 1 сек то 0 сек.
Но факт что скорость присутствует !!!


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Test ;test  
 set count= 1 
 ; or  10000  or  1000000  or ... depends on the your process
 ; get overhead time
 set time1=$p($h,",", 2 )
 for i= 1 : 1 :count do dummy
 ; get process+overhead time
 set time2=$p($h,",", 2 )
 for i= 1 : 1 :count do process
 set time3=$p($h,",", 2 )
 ; compute process time
 write "process time: ",- 2 *time2+time1+time3/count," sec/proc",!
 quit
dummy	quit
process
 set N= 2000000 
  for i= 1 : 1 :N s a(i)=i
quit
...
Рейтинг: 0 / 0
СУБД GT.M
    #37389705
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я еще раз хочу подчеркнуть, что у меня стоит обычная машина, не сервер !!!
...
Рейтинг: 0 / 0
СУБД GT.M
    #37389746
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuЯ еще раз хочу подчеркнуть, что у меня стоит обычная машина, не сервер !!!Я даже не сомневался.
У меня тоже обычный компьютер: Intel Core2 CPU E6700, 2 Gb RAM
...
Рейтинг: 0 / 0
СУБД GT.M
    #37389770
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все тоже самое, только AMD Athlon(tm) II X2 220 Processor ....
...
Рейтинг: 0 / 0
СУБД GT.M
    #37389835
ser_shu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey Maslov^||b - это приватный глобал процесса, наиболее близкий аналог в GT.M: ^b($job)
В Cache конструкция ^||b вместо ^b($job) дает три приятных бонуса:
- буфера практически не сбрасываются на диск
- не журналируется
- после завершения процесса (даже аварийного) не остается грязи в файлах БД, так как пишется в системную CACHETEMP.
(Не в тему, но может пригодится кому в Cache)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
СУБД GT.M
    #38462487
В общем, для истории - свой проект мы запустили на GT.M.
GT.M вполне себе годная.
Вот если бы версия под Windows была, но увы. Остро не хватает.
...
Рейтинг: 0 / 0
СУБД GT.M
    #38462500
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон Аксёнов,
А почему именно под Windows, чем Linux как сервер не устраивает ?
Или это в однопользовательской среде запускать?
...
Рейтинг: 0 / 0
СУБД GT.M
    #38462849
MX-9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон Аксёнов,

а чем MINIM не подходит ?
...
Рейтинг: 0 / 0
СУБД GT.M
    #38463256
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Артём,

История-то как раз пока известна только вам. Может, поделитесь?
...
Рейтинг: 0 / 0
СУБД GT.M
    #38463291
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон Аксёнов,

извините за опечатку в имени. Обращался к вам. Имел в виду, что если черкнёте пару строк:
- что за проект
- использованные технологии
- ожидаемая/имеющаяся нагрузка
- впечатления... и всё что сочтёте нужным рассказать
- и действительно, чем не угодил Linux?

, многим было бы интересно. Не так уж много стартапов под М в целом и под GT.M в частности.
...
Рейтинг: 0 / 0
148 сообщений из 148, показаны все 6 страниц
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / СУБД GT.M
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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