Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1 / 20 сообщений из 20, страница 1 из 1
23.12.2006, 21:36
    #34220793
decaml
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1
Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1 увидеть результат этой функции или полученные в ходе работы программы переменные?
...
Рейтинг: 0 / 0
24.12.2006, 14:21
    #34221067
VadimF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1
Можно.
Например, сделать в Cache2 Web-сервис, вызвать его из SOAP-клиента в Cache' 1.
В области Samples есть примеры Web-сервиса и SOAP-клиента.
Можно через SQL gateway через вызов хранимой процедуры это сделать.
и т.д.

Выбор конкретного подхода зависит от задачи.

Вадим
...
Рейтинг: 0 / 0
25.12.2006, 11:41
    #34222033
decaml
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1
Ничего не скажешь, гибкая технология.

Вообще-то возникла революционная для понедельника идея спроектировать логическое управление наполнением буферов глобалов ecp-клиентов (когда и клиенты, и сервер слабоваты по озу) при работе с csp-юзерами.

Если csp-шлюз своим load-balancing будет направлять запросы csp-юзеров хаотически на несколько ecp-клиентов, то получится что одни и те же глобалы будут закачиваться случайно с разных ecp-клиентов, повторно загружая одними данными разные буфера ecp-клиентов, и по-сути излишне нагружая дисковую систему сервера.

Следовательно нужно запросы csp-юзеров разделить на группы по ecp-клиентам прямо в коде csp-веб странички и делать запросы данных адресно с конкретного ecp-клиента, а не со случайного, эмулируя «умный» csp-шлюз.
...
Рейтинг: 0 / 0
25.12.2006, 13:40
    #34222508
VadimF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1
Как-то это не сильно связано с Вашим первым вопросом...

CSP-шлюз распределяет запросы не "хаотически".
Если есть несколько ECP-клиентов, то если CSP-шлюз направляет новые запросы по-очереди на эти ECP-клиенты.
Если же началась сессия, то все запросы сессии пойдут на один ECP-сервер.

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

Интересно, какая у Вас задача?
Вы пробовали настроить ECP-конфигурацию и CSP-шлюз?
Производительности не хватает?

Вадим
...
Рейтинг: 0 / 0
25.12.2006, 15:26
    #34222943
decaml
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1
> Данные, которые запросил один ECP-клиент будут в кеше данных ECP-сервера.

Теоретически да, но если, к примеру, размер 1 кеш – это 2Г.
У 8-ми ECP клиентов будет соответственно 16Г Кеш.
И у сервера – 2Г кеш.

Если каждому из 8-ми ECP-клиентов не хватит каких-то данных, то эти данные будут читаться с ECP сервера.
И если всем ECP клиентам будут нужны разные данные, то они просто не смогут поместиться в кеш сервера.
Более того, одни и те же данные будут все время заливаться и стираться в кешах клиентов, хотя теоретически могли там лежать спокойно, но каждый запрос нового веб-юзера, направленный «по очереди», будет приводить к «кеш-турбулентности» – постоянной смене данных в кешах, пока сервер не заклинит, хотя в значительной степени эти Кеши клиентов могли быть один раз заполнены и потом просто читаться и все.

Теоретически для этой идеи не хватает только маршрутизации подключения нового веб-юзера к нужному ecp клиенту по настраиваемому логическому правилу.

Но согласен – нечего из 10 PC-ков с митинского радиорынка делать один сервер HP RX3600. :-)

Просто идея масштабируемая – когда-нибудь на этом принципе 10 HP RX3600 смогут легко заменить более какой-то грандиозный сервер, ведь кеш любого сервера не резиновый.
...
Рейтинг: 0 / 0
25.12.2006, 15:38
    #34222985
decaml
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1
забыл сказать, это просто пока теоретические проектные рассуждения - ECP-конфигурацию еще не испытывал - вдруг и правда она уже некая "умная" и опасения тогда напрасны
...
Рейтинг: 0 / 0
26.12.2006, 00:41
    #34223857
Sergei Obrastsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1
decaml> Данные, которые запросил один ECP-клиент будут в кеше данных ECP-сервера.

Теоретически да, но если, к примеру, размер 1 кеш – это 2Г.
У 8-ми ECP клиентов будет соответственно 16Г Кеш.
И у сервера – 2Г кеш.
[...]
Просто идея масштабируемая – когда-нибудь на этом принципе 10 HP RX3600 смогут легко заменить более какой-то грандиозный сервер, ведь кеш любого сервера не резиновый.
Речь идет о каких-то конкретных задачах или это опять из серии "понедельничного юмора"?
Если это серьезно, то судя по размерам предлагаемого кэша, речь идет о террабайтных прямо-таки
данных. Или Вы считаете, что скорость серверов и организация хранения и доступа к данным уже не имеет значения?
...
Рейтинг: 0 / 0
26.12.2006, 11:57
    #34224708
decaml
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1
> судя по размерам предлагаемого кэша, речь идет о террабайтных прямо-таки данных.
Или Вы считаете, что скорость серверов и организация хранения и доступа к данным уже не имеет значения?

странный вывод – увидеть в упомянутых, к примеру, 16Г кеша сразу террабайтную базу.
теоретически база может быть 150Г, но юзеров может быть много, к примеру 100 разных запросов/сек

«организация хранения данных» - конечно имеет значение – это глобалы
а «скорость сервера» - это просто организация «кешей» и все

- кеши можно оставить «как есть»
- и возникла мысль - вдруг загрузку кешей можно еще «тюнинговать»? с помощью маршрутизации – конечно совершенно не факт, что этим нужно заниматься,
но вот если этим заняться – то тогда видимо в методе новой csp-странички “OnPreHTTP" нужно проанализировать запрос и выявить тот ecp-клиент, где уже закачены или где должны быть закачены те данные, какие надо – они туда закачаются один раз и будут там лежать.

И собственно вопрос был один – ну вот «назначили» ecp-клиента для какой-то группы запросов юзеров.

А как данные то получать с него?

Вроде ответ: «Web-сервис и SOAP-клиент» // «SQL gateway»

Но немножко кажется, что это что-то тяжеловатое и медленноватое.
Полегче бы, типо такого:

Open
Use
Do [ecp-client1]^prog1 Return $LB(Ans1,Ans2 . . .Ans50)

и весь бы инструментарий получения данных «маршрутизатором» из ecp-клиента.

тут что-то самое простое, быстрое и легкое по идее должно быть
в конце концов - все эти слова - «Web-сервис и SOAP-клиент» // «SQL gateway» - они же просто эмулируют, оболачивают, какой-то сокет, шмокет и т.п.
...
Рейтинг: 0 / 0
26.12.2006, 23:36
    #34226482
VadimF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1
Во-первых, стоит попробовать производительность ECP-конфигурации для Вашей задачи.
Может быть Вам и не потребуются дополнительные средства.
Кстати, есть настройки CSP-шлюза, которые заставляют сервер Cache' заранее стартовать процессы, ожидающие запросов Web-сервисов.

Во-вторых, Вы можете попробовать в качестве ECP-сервера использовать 64-разрядный сервер.
Этим Вы снимете ограничение на кеш БД, что в случае ECP будет очень полезно.
В рамках ECP-конфигурации Вы можете использовать сервера под управлением разных ОС.

В-третьих, Вы можете использовать средство маршрутизации запросов третьих фирм.
Аппаратные или программные.
То есть, запрос будет маршрутизироваться на разные Web-сервера, которые в свою очередь будут направляться на разные ECP-клиенты.

Еще один важный момент: если у Вас стоит такая серьезная задача, стоит обратиться к Вашему консультанту InterSystems и обсудить и детально обсудить её с ним.
Если у Вас есть задача, но нет консультанта, напишите мне.

Вадим
...
Рейтинг: 0 / 0
27.12.2006, 02:30
    #34226553
Sergei Obrastsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1
decaml> судя по размерам предлагаемого кэша, речь идет о террабайтных прямо-таки данных.
>Или Вы считаете, что скорость серверов и организация хранения и доступа к данным уже не имеет значения?
странный вывод – увидеть в упомянутых, к примеру, 16Г кеша сразу террабайтную базу.
теоретически база может быть 150Г, но юзеров может быть много, к примеру 100 разных запросов/сек

Нормальный вывод. У меня 27 гигов данных на 50 метрах кэша крутятся, такие вот реалии
жизни. Ну, конечно, не 100 запросов/сек. :)

decaml
«организация хранения данных» - конечно имеет значение – это глобалы
а «скорость сервера» - это просто организация «кешей» и все

Скорость сервера - это вообще-то и его "физическая" скорость, и размер кэша, и скорость
винтов, и пропускная способность сети. Не считая уровня организации данных и программирования
как такового. Использование XECUTE, как это любят делать даже в объектах, посадит любую
машину.

decaml
Но немножко кажется, что это что-то тяжеловатое и медленноватое.
Полегче бы, типо такого:
Open
Use
Do [ecp-client1]^prog1 Return $LB(Ans1,Ans2 . . .Ans50)
и весь бы инструментарий получения данных «маршрутизатором» из ecp-клиента.

А какие проблемы-то? Доступ к IP есть.
...
Рейтинг: 0 / 0
27.12.2006, 10:31
    #34226986
MX -- ALEX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1
Sergei Obrastsov
............
Скорость сервера - это вообще-то и его "физическая" скорость, и размер кэша, и скорость
винтов, и пропускная способность сети. Не считая уровня организации данных и программирования
как такового. Использование XECUTE, как это любят делать даже в объектах, посадит любую
машину.


С Новым Годом !
Успехов в работе !

кстати
нет ли у кого сравнения по скорости в цифрах
сколько теряем если используем XECUTE

Спасибо
================
...
Рейтинг: 0 / 0
27.12.2006, 12:33
    #34227551
Sergei Obrastsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1
MX -- ALEXС Новым Годом !
Успехов в работе !

кстати
нет ли у кого сравнения по скорости в цифрах
сколько теряем если используем XECUTE

Спасибо, взаимно! У меня есть.
В 3 раза в общем случае, 1.5-1.7 - арифметика.
...
Рейтинг: 0 / 0
27.12.2006, 12:41
    #34227588
decaml
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1
Всем спасибо за ответы и с наступающим Новым Годом!
Что-то заморочил своими опасениями всех, а сам больше всего заморочился, вааще в дугу.

Мне Cache очень нравится, но если пофантазировать в стиле «новогоднее-фэнтези», то в csp-страничках, по аналогии с методом “OnPreHTTP" напрашивается еще один какой-то новый метод – выбор ecp-клиента - определение контекста csp-странички по ecp-кешу-клиента.

То есть все остается как есть, только добавляется один оператор – USE ECP_клиент БанкКеша4.
Это будет не 3-х звенная архитектура: ECP-сервер - ECP-клиент – Web-сервер,
А 4-х звенная архитектура с банками кешей.
ECP-сервер – ЕCP-клиент БанкКеша - ECP-клиентCSP – Web-сервер

В этой архитектуре вместо сервера может быть просто PC, общая мощность сервиса не будет определяться мощностью сервера, а будет определяться количеством ecp-кешей-клиентов.

Вот как умеют давать советы те, кто ничего сам еще не испытывал, ничего не видел и не делал!
:-)


PS.
> А какие проблемы-то? Доступ к IP есть.
Это куда надо кликнуть в документации или примерах?
...
Рейтинг: 0 / 0
27.12.2006, 12:50
    #34227622
Sergei Obrastsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1
decaml
В этой архитектуре вместо сервера может быть просто PC, общая мощность сервиса не будет определяться мощностью сервера, а будет определяться количеством ecp-кешей-клиентов.

Здорово. Главное чтобы ECP-клиентов было побольше, да кэш у них покрупнее... А что они будут стоять в очередь на медленный PC - это уже мелочи. ;)

decaml
Вот как умеют давать советы те, кто ничего сам еще не испытывал, ничего не видел и не делал!
:-)

Да уж. :)

decaml
> А какие проблемы-то? Доступ к IP есть.
Это куда надо кликнуть в документации или примерах?
А поиск в документации есть. Можно посмотреть OPEN и USE, можно посмотреть работу с TCP/IP.
...
Рейтинг: 0 / 0
27.12.2006, 15:00
    #34228156
decaml
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1
Sergei Obrastsov[quot decaml]
В этой архитектуре вместо сервера может быть просто PC, общая мощность сервиса не будет определяться мощностью сервера, а будет определяться количеством ecp-кешей-клиентов.

Здорово. Главное чтобы ECP-клиентов было побольше, да кэш у них покрупнее... А что они будут стоять в очередь на медленный PC - это уже мелочи. ;)


представляется, что в конкретной очереди ecp-клиенты будут стоять один раз после включения системы, потом csp-юзеры-неудачники (у них будет все медленно) счастливым образом наполнят банки кешей - в этом фишка и была - и работа сервиса нормализуется
...
Рейтинг: 0 / 0
27.12.2006, 15:51
    #34228343
Sergei Obrastsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1
decamlпредставляется, что в конкретной очереди ecp-клиенты будут стоять один раз после включения системы, потом csp-юзеры-неудачники (у них будет все медленно) счастливым образом наполнят банки кешей - в этом фишка и была - и работа сервиса нормализуется
Это с какой радости-то? Что, кэшей хватит на все запросы? Я сильно сомневаюсь. При большой
базе кэш обновляется быстро. А о пропускной способности сети не хочется подумать? Ведь все
запросы будут гоняться по ней. Не будет ли быстрее прочитать блок с диска, чем гонять его по сети? Так ведь его еще и найти надо. :)
...
Рейтинг: 0 / 0
27.12.2006, 16:12
    #34228420
decaml
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1
Sergei ObrastsovПри большой базе кэш обновляется быстро. А о пропускной способности сети не хочется подумать? Ведь все
запросы будут гоняться по ней. Не будет ли быстрее прочитать блок с диска, чем гонять его по сети? Так ведь его еще и найти надо. :)

во-во!
и я про это, сразу просек эту шнягу

кэш обновляется конечно быстро, особенно когда конкурирующие запросы активно его обновляют, то одно считал, то другое, то одно считал, то другое.

Добавил 10 кешей – и всюду одно и тоже – у каждого в кешах то одно, то другое . . . и всюду идет гигантская работа по считыванию и заполнению кешей – возможно во многом одними и те же данными данными.

И поболее всего это загрузит именно сервер – от таких ecp-клиентов помощи серверу 0.
да и в сети работа тоже просто гигантская
...
Рейтинг: 0 / 0
27.12.2006, 16:20
    #34228449
Sergei Obrastsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1
decamlво-во!
и я про это, сразу просек эту шнягу

кэш обновляется конечно быстро, особенно когда конкурирующие запросы активно его обновляют, то одно считал, то другое, то одно считал, то другое.

Добавил 10 кешей – и всюду одно и тоже – у каждого в кешах то одно, то другое . . . и всюду идет гигантская работа по считыванию и заполнению кешей – возможно во многом одними и те же данными данными.

И поболее всего это загрузит именно сервер – от таких ecp-клиентов помощи серверу 0.
да и в сети работа тоже просто гигантская
Молодец, ага. Осталось сделать маленький шаг, подумать, а не превратится ли вся эта система
в самозаполняющиеся кэши, которые еще и следят за тем, чтобы не пересекаться, где места запросам от пользователя просто не будет. ;)
...
Рейтинг: 0 / 0
27.12.2006, 19:01
    #34228931
decaml
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1
но кеши уже сегодня и самозаполняющиеся, и пересекающиеся – это совсем не критично

по мне кажется очевидно критичным то, что запрос по 2006 году легко попадает в кеш-клиента, заполненный 2005-м годом,
а запрос по 2005-ому году легко попадает в кеш другого клиента, заполненый 2004 годом.

имея 3 ecp-клиента с уже готовыми заполненными скоростными кешами: 2004, 2005, 2006 - три запроса юзера могут легко вызвать ну просто ступор и на клиентах, и в сети, и на самом мощном сервере, производительность которого будет слимитирована моторчиком диска, по сути механического устройства - там где не надо было ничего делать – представляется возникнет колоссальная работа

опять же может ecp-уже давно умный, и мы просто не в курсе, тогда вопросов нет,
может этот ecp не крутит моторчик диска, а берет данные вначале из кеша любого клиента, вот это было бы наверно круто, а может нет :-)
...
Рейтинг: 0 / 0
27.12.2006, 22:40
    #34229196
decaml
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1
Придумал. Это открытие.

Cache, как программа, вообще не при чем, и не трогается.
Но на веб-сервере, где работает csp-веб-шлюз, должен просто Cache быть.

И нужно сделать улучшение самого csp-веб-шлюза – добавить параметр – вызывать или нет пользовательскую функцию, к примеру, NewTripIP.
Если «нет» - все остается как есть сейчас.

Если «да», то при подключении нового юзера csp-шлюз вызывает в локальном Cache эту функцию, передавая ей запрос юзера, а в ответ получает IP ecp-клиента куда шлюзу перенаправить запрос.
Для уже подключившихся сессий NewTripIP видимо не вызывается.
И все.

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


(за одно такое открытие с очевидностью нужно давать 64-битную анлимитет версию)
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Можно из одного Cache1 выполнить на другом Cache2 функцию или программу и в первом Cache1 / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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