|
|
|
IMS
|
|||
|---|---|---|---|
|
#18+
Как-то давно обсуждали иерархические базы данных. А мне пришлось по случаю попользовать IBM IMS. Что там говорили? Типа, необходимость программировать обход деревьев вручную, необходимость синхронизации деревьев между собой вручную, негибкость в смысле трудностей изменения структуры. Вот эти три утверждения - это из разряда мифов, если применительно к IMS. Да и вообще, она иерархическая только в том смысле, что в каждый момент времени клиентское приложение выполняет вызов по логической иерархии. Но сама модель сетевая - физические иерархии связываются между собой логическими ссылками-связями. Просто приложение не заморачивается физическими структурами и ссылками-связями, они для него недоступны А так, по языку DL/I, наблюдается аналогия с SQL: - есть аналог предложения SELECT, в котором указываются необходимые к возврату сегменты (коллекции полей, в принципе, поля, потому как IMS не трактует содержимое сегмента, за исключением ключей) - есть аналог предложения FROM, в котором указывается, откуда извлекать данные, это всегда логическая иерархия, которая может быть результатом соединения по ссылкам-связям кучи физических иерархий, формирующими сеть - есть аналог предложения WHERE, в котором указывается, по каким критериям отбирать данные для возврата, ну и наборы операций сравнения больше-меньше-равно и прочие. Ну про экономность расходования ресурсов я говорить не буду, про производительность тоже. Интересно решён вопрос с индексами - в IMS они называются secondary indexes - опционально при построении индекса по какому-то полю можно потребовать хранить адрес не того сегмента, в котором находится индексируемое поле, а любого сегмента, расположенного выше по иерархии. Ну и они могут быть разреженными. Вообще очень гибкая система в плане построения разных структур, и в плане извлечения из них данных. Одних типов ссылок-связей между системами достаточно, для удовлетворения эротических потребностей - иерархические (1. сверху-вниз, 2. спереди-назад, 3. справа-налево), физический родитель, логический родитель, логический потомок, первый физический потомок, последний физический потомок, близнец, ну и плюс их разновидности forward-backward. Замороченная до паранойи на производительности и качестве кода. Построить систему можно не только после ответа на вопрос - "что храним?", то есть объекты и их взаимосвязи между собой, но и "как работаем?", то есть способ запрашивания объектов, последовательно, случайно, случайно-последовательно, сперва только эту порцию, потом все те, эти чаще, эти реже. Но ответив на все эти вопросы - то есть представляя себе логику работы приложений - построить структуру особых проблем не возникает, если не считать проблемами необходимость соблюдения позиций параметров задачи структуры :) А уж программировать прикладникам так вообще проще простого - нет никих вариантов в извлечении данных, только одним способом, который же и самый эффективный. Чем-то напоминает при программировании для ldap. но гибче. И вызовов совсем немного - вернуть, заменить, вставить, удалить, для вернуть есть вариация с блокированием. Вот как-то так вот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 14:24 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмНу про экономность расходования ресурсов я говорить не буду, про производительность тоже. Почему? Я бы послушал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 14:36 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппм Ну про экономность расходования ресурсов я говорить не буду, про производительность тоже. Интересно решён вопрос с индексами - в IMS они называются secondary indexes - опционально при построении индекса по какому-то полю можно потребовать хранить адрес не того сегмента, в котором находится индексируемое поле, а любого сегмента, расположенного выше по иерархии. сходу вопрос, добавил я этот secondary indexes, а существующие запросы кто переписывать будет, чтоб они этот индекс теперь использовали ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 16:08 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ну тогда про ресурсы и вопросы производительности потом. Сейчас эспешиалли для Йо! про индексу и кто же таки будет переписывать запросы. Так вот тут выбор большой. Можно переписывать. Можно не переписывать. Можно процесить индекс как самостоятельную иерархию. Указав в предложении FROM тот факт, что работаем с индексом. То есть select from index. Можно вообще построить совсем новую логическую иерархию, которая будет иметь сегмент с проиндексированным полем родительским, все остальные соответсвенно под ним, в том числе и бывший root сегмент. Но делает это системный программист, и не в запросах, а в PCB - Program Communication Block, аналог SQL VIEW. Вообще вопрос не совсем коректный, роль прикладного программиста при работе с IMS резко понижается, никаких знаний SQL с его многовариантностью решений не требуется, снижается роль DBA - не надо изучать Explain и тюнить запросы, переписывать их, и прочая, и прочая. Но появляется новая очень важная роль - системного программиста. Эта роль вообще ключевая в мире Z. Вопросы построения физических структур (иерархий и индексов) и логических структур (логических иерархий, в том числе и результат объединения множества физических, в том числе и индексов) лежит на нём. Прикладной программист должен знать имя необходимого ему PCB, то есть таблицы/вью в рсубд. Да, кстати, с интересом обнаружил, что ещё в далёкие 80е был реализован Data Sharing на принципах, на которых сейчас построен oracle rac. То есть на каждой ноде существует программная сущноность, которая взаимодействует с такими же сущностями на других нодах по принципу каждый к каждому, и решает вопросы блокировок и когерентности кэшей. И ещё тогда была уяснена принципиальная бесперспективность такого подхода, и этот функционал вывели с каждой ноды в отдельную. сущность - CF, Coupling Facility. Так IBM пришёл, видимо, к Sysplex. Эта фича IMS до сих пор доступна, но не рекомендуется к использованию - никаких преимуществ по сравнению с Sysplex она не даёт. Правда, сначала CF была чисто аппаратным решением, отдельно стоящим ящиком. Теперь это ICF - Integrated CF, отдельный LPAR в Z. Хотя, насчёт всегда так или нет, я не уверен. Да, ещё партиционирование баз там есть. И Хранимые Процедуры на Стероидах, IMS TM, составная часть IMS. Каждый вызов - каждая процедура - выполняется в своём отдельном адресном пространстве z/OS, то есть, по сути, в аналоге отдельной VMWare машины. Особо это финансовые всякие организации уважают и пользуют - из-за уровня изоляции процедур между собой и производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 19:22 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппм Но появляется новая очень важная роль - системного программиста. Эта роль вообще ключевая в мире Z. Вопросы построения физических структур (иерархий и индексов) и логических структур (логических иерархий, в том числе и результат объединения множества физических, в том числе и индексов) лежит на нём. То есть это FVMas, только от IBM. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 19:30 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
только прошу учесть, что такая ситуация, как с рсубд - промониторили -> медленно -> изучили Explain -> построили индекс, этакая цикличность разработки - в IMS отсутсвует как класс. Там структуры строятся под запросы да это и назвать написанием запросов нельзя, четыре штуки операции, чего там писать. То есть в РСУБД принцип - запрос оптимизируем оптимизатором под существующую структуру, и по-любому данные вернём, медленнее или быстрее. В IMS другой принцип - структуру оптимизируем под запросы, и запрос просто не сможет выполнится если нет соответсвующей ему структуры. То есть, если надо вернуть список людей сортированный по именам, а не по фамилиям, а физическая иерархия имеет ключ по фамилии - то один выход у прикладного программиста вытягивать все данные и сортировать самому. Само собой, нету кучи SQLьных ништяков, группировок, агрегатных функций, да по сути дела - нифига нет. По принципу - не дело базы данных фигнёй заниматься, её дело платежи проводить, но быстро и надёжно. Но учитывая под что её используют - OLTP и в основном в учёте финансов, хоть и не только - этот принцип, как ни странно, оказывается востребованным. Если всё одно весь функционал SQL в его богатстве использоваться не будет, а тот функционал, что есть в IMS будет использоваться на 100% и с офигительной скоростью - пишут, что 44000 транзакции в секунду на отдельно стоящей установке (в смысле не в IMSPlex) - то зачем? Кстати, JDBC драйвер к ней есть. Как и XQuery/Xpath - ну это и не удивительно, прикрутить это к иерархии было проще, чем к DB2, как мне кажется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 19:39 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov То есть это FVMas, только от IBM. При чём тут FVMas я не знаю, но только DB2 на z/OS тоже без системного программиста не живёт, как и всё остальное в z/OS. Не, ну может быть ситуация, когда всё поставили, сконфигурили, и не трогают, только пользователи свои АРМ гоняют. Тогда системный программист не нужен. До поры до времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 19:43 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
та же фигня, что и Cache (MUMPS, ДИАМС). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 19:45 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
как пример такой фигни - воплотили КЛАДР в IMS. Очень интересно получилось. Два сегмента, один пустой, в нём только указатели-ссылки, служит для указания подчинённости, то есть root, второй - собственно запись КЛАДР со всеми его полями, и указателем на первый сегмент. То есть первый является физическим родителем второго, а второй - логическим родителем первого. Логическая структура при этом разворачивается в четырёхуровневую структуру КЛАДР (уровень домов/квартир мы не брали, но ничто не мешает и их подгрузить). Очень компактненько, легко извлекать данные, никаких рекурсивных запросов - рекурсия уже в структуре данных ссылками-указателями выполнена, кто кому принадлежит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 19:53 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
kdvта же фигня, что и Cache (MUMPS, ДИАМС). Вот на что это точно не похоже никаким боком - так это на Cashe - просто ничего общего :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 19:54 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмkdvта же фигня, что и Cache (MUMPS, ДИАМС). Вот на что это точно не похоже никаким боком - так это на Cashe - просто ничего общего :) честно говоря я тоже ничего принципиально нового не услышал. только не значительные нюансы относительно каши. основное преимущество RDBMS именно в оптимизаторе, т.е. у меня данные могут расти, но мне не нужен системный программист изменяющий структуру изменяя ее с ростом данных и перелопачивающий все ПО под изменяющуюся структуру. у меня есть оптимизатор, который с ростом данных сам изменит планы запросов в зависимости от накопленной статистики. второе преимущество оторванность ПО от структуры данных. если у меня выросли объемы, я как дба имею сотни вариантов от вбюшек и партитионинга до кластера переколбасить внутреннюю структуру не трогая ПО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 20:30 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Yo.! честно говоря я тоже ничего принципиально нового не услышал. только не значительные нюансы относительно каши. основное преимущество RDBMS именно в оптимизаторе, т.е. у меня данные могут расти, но мне не нужен системный программист изменяющий структуру изменяя ее с ростом данных и перелопачивающий все ПО под изменяющуюся структуру. у меня есть оптимизатор, который с ростом данных сам изменит планы запросов в зависимости от накопленной статистики. второе преимущество оторванность ПО от структуры данных. если у меня выросли объемы, я как дба имею сотни вариантов от вбюшек и партитионинга до кластера переколбасить внутреннюю структуру не трогая ПО. Вот-вот, ещё одно заблуждение. Не надо перелопачивать структуру с "ростом данных". И оптимизатор не нужен. Ведь не надо проводить операцию JOIN и выбирать алгоритм соединения таблиц - nested loop, merge, hash join. Каждый сегмент имеет прямой указатель на связанный с ним. И доступ только по сегментам. А не по множествам. То есть, получили нужный сегмент. Уже в префиксе сегмента, недоступному прикладной программе, есть указатели на все связанные с ним сегменты. Ничего оптимизировать не надо - следующим вызовом вернётся следующий запрошенный сегмент. Так что - оптимизатор не нужен, и "переколбасивать" внутреннюю структуру тоже не нужно - другого способа перейти от сегмента к сегменту всё равно не появится :) Кстати, я уже заметил, именно этот момент очень трудно доходит :) Один коллега никак не мог понять - так ведь программист не знает статистику по распределению данных, это же только оптимизатор знает! Большая трудность пояснить ему - нету статистики распределения, и не надо её знать, дабы получить данные по человеку - ФИО к примеру, и его все почтовые адреса. Потому как сегмент ФИО содержит, к примеру, указатель на первый почтовый адрес, тот на второй, второй на трет Еий- пока не закончатся адреса. Вопрос - нафейхоа тут оптимизатор? Вся программа прикладная состоит из одних аналогов SQL FETCH. Получить первый сегмент ФИО удовлетворяющий условиям поиска (Фамилия начинается на букву, к примеру) Получить первый дочерний. Полчить следующий дочерний. Получить следующий дочерний - уупс, закончились Получить следующий сегмент ФИО удовлетворяющий условиям. немного отличается от табличной формы - дубликаты ФИО на клиента не отправляются, операция JOIN, к примеру по nested loop не выполняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 20:40 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
кстати, про кластера - IMSPlex и никакого переписывания приложений. А сколько компаний предлагают недешёвый консалтинг по выяснению, насколько приложение RAC ready? Дофига. А потом, за отдельные деньги совсем другого масштаба, доведение приложений до работоспособности в RAC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 20:42 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
kdvта же фигня, что и Cache (MUMPS, ДИАМС). В каше нет ссылок по иерархии - только родитель и соседи. И единичное значение М не то же, что сегмент ИМС. Код бы процедурки посмотреть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 21:09 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Siemargl, какой процедурки? реализацию КЛАДР? Так это DBDGEN и PCBGEN а так - да, между IMS и Cashe ничего общего, кроме нелепого слова "иерархия", которая ровным счётом ничего не поясняет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 21:17 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
пока не сплю и есть время. IMS это первая система реализовавшая парадигму отделения языка доступа к данным от языка кодирования логики. То есть DL/I - язык доступа к данным IMS - является предтечей SQL, и играет ту же роль. Не важно, на каком языке кодят кодеры - доступ к данным по DL/I Вызовы DL/I по смыслу похожы на вызовы ldap - ldapsearch, ldapadd, ldapmodify, etc. И логика работы немного похоже. И на с SQL похоже, на как-бы расширенный Fetch из курсора. А курсор создавать не надо - он создан при создании логической структуры данных, она данных и есть курсор, оптимизатор просто не нужен. Не, я понимаю, что без малого 100% нынешних читателей с IMS никогда не столкнутся, но ведь есть простой человеческий интерес - а как оно у вас там устроено? Тем более, что не самая хреновая платформа, и построены на ней не самые хреновые системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 22:25 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
не, все равно до меня не дошло. давай возьмем более живой пример, а то с абстрактным мышлением у меня туго. у нас есть абонент и долг, сначала мы думали, что у абонентов будет много долгов, поэтому выстроили иерархию абонент->долг и сделали отчет который идет по номеру абонента и вычисляет сумму долга. кризис прошел и теперь такой подход не оптимален, т.к. подавляющее большинство абонентов без долгов. теперь оптимальней идти по долгам, но структура то у нас уже определена и как я понимаю без серьезной переработки ПО и может структуры иерархии уже не обойтись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 22:37 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
есть какой-то документ серьезный по IMS data sharing, все на что я натыкаюсь речь идет о шаринге между LPAR, а между машинами поверх Syplex. т.е. не увидел как он может заменить железный syplex. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 22:41 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Yo.!не, все равно до меня не дошло. давай возьмем более живой пример, а то с абстрактным мышлением у меня туго. у нас есть абонент и долг, сначала мы думали, что у абонентов будет много долгов, поэтому выстроили иерархию абонент->долг и сделали отчет который идет по номеру абонента и вычисляет сумму долга. кризис прошел и теперь такой подход не оптимален, т.к. подавляющее большинство абонентов без долгов. теперь оптимальней идти по долгам, но структура то у нас уже определена и как я понимаю без серьезной переработки ПО и может структуры иерархии уже не обойтись. Вот, вот здесь у меня трудности восприятия начинаются :) Во-первых, IMS и отчёты - не то, что невозможно, есть даже специальный метод доступа , более подходящий для отчётов, но это не совсем отчётная система в том смысле, что ad-hoc запросы невозможны - только предопределённые. Теперь к примеру. Что такое абонент - более/менее понятно. Что такое долг - уже непонятно. У абонента может быть счёт. У счёта могут быть транзакции - проводки. Проводки могут быть по дебиту и по кредиту. Я ничего не попутал? У счёта есть баланс. И? Если есть необходимость идти от абонентов в большинстве случаев - root сегмент будет абонент. Если в части случаев надо заходить в иерархию по номеру счёта - нифига менять не надо, при вызове GU указывает тип сегмента - счёт (номер=123456) и после завершения вызова в памяти программы первый искомый сегмент, удовлетворяющий условиям, в данном случае он же единственный. Если надо выяснить баланс - читается из сегмента счёта. Если надо получить транзакции по счёту - проводки - выполняется вызов GNP в цикле пока не закончатся транзакции этого счёта. Если, к примеру, надо получать список транзакций за определённую дату по всем счетам, то надо строить индекс по полю даты в сегменте транзакций, тогда варианты те, которые я уже указывал ранее. Так что не всё, так хреново, как оно кажется, на основе мифов и преданий форума sql.ru Но и с RDBMS сравнивать нельзя. Это в RDBMS любой пользователь, наделённый правами, может сгондобить любой запрос к любой структуре, и оптимизатор покряхтит, удивится, но данные вернёт, если запрос валидный. Может не быстро - но вернёт. Другой вопрос, что если вы коммерческая компания, типа Федуча в германии, поставляющая сервис платёжных систем 650 коммерческим банкам.... То за попытку послать в базу "левый" запрос.... И кастрировать могут. Где это видано - на живой платёжной системе не разрешёные безопасностью и прочими запросы посылать? Здесь можно такую аналогию - в RDBMS можно быстренько сгавнякать прототип, даже сдать его в опытно-промышленную эксплуатацию, с последующим "переколбасиванием" базы администратором в виду хреновой производительности, и так в цикле. В IMS быстренько сгавнякать вряд ли получится. Но то, что получится, хреначить будет так, что аж шуба будет заворачиваться. В пределах поставленных условий. Кстати, по поводу изменения структуры. Вы в принципе в курсе, что стоит заменить структуру данных РСУБД в банковской системе? И что время на собственно изменение структуры будет исчезающе мало на фоне согласований с безопастниками, тестированием, и сдачей в эксплуатацию, это даже если без изменения приложений. То есть вы чего-то там замените на своей разработчицкой системе, передадите в тестовую, куда у вас нифига доступа нет, там наж вашим гениальным поделием будут форменно издеваться в извращённых формах, и только потом перенесут в промышленную систему. А у вас что - не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 22:59 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Yo.!есть какой-то документ серьезный по IMS data sharing, все на что я натыкаюсь речь идет о шаринге между LPAR, а между машинами поверх Syplex. т.е. не увидел как он может заменить железный syplex. это не он меняет Sysplex - это Sysplex его :) http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/PRS3663 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 23:07 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
да, в примере абонент -> счёт при запрашивании счёта по номеру, счёт конечно получим. Но чуда не произойдёт, и для его получения IMS просмотрит все сегменты, пока не наткнётся на нужный. Эдакий tablescan. То есть ещё раз внимательно принцип - структура строится под запросы. Если есть требование выполнят доступ к счёту по номеру - то это учитывается. К примеру, в реальной системе иерархия в вашем примере абонента (там другое название просто) отдельно от иерархии счетов. У абонента в иерархии есть сегменты Организация и Физлицо (присутсвует только один из них, само собой), адрес, и куча прочих сегментов, описывающих владельца счёта. Иерархия счетов самостоятельная, root сегмент счёт, дочерний баланс, год, под годами платёжки в порядке последний ближе к началу. Сегмент счёт ключевой по номеру счёта. Между сегментом абонент и сегментом счёт существует bidirectional logical reference Доступ к счёту возможен через сегмент абонента, потом к счёту, или наоборот - к счёту по номеру, затем к абоненту. Но все эти типы доступа к данным заданы до того, как. Эта структура и тип связей построены на основе техзадания. И вариант - мля, я забыл! Ща добавлю, пустите - не канает. Насколько я в курсе, в мире, кроме РФ, тоже кризис был. Что-то я не думаю, что City или Credit Susse меняли структуру данных из-за этого, будь то IMS, или RDBMS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 23:24 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
PDF-ку я кстати не читал - "рав Google" нашёл, так что если что интересное будет - расскажите, прочитаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 23:25 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
нет, PDF-ка про IMSplex. Надо или ключевое слово VTAM добавлять, или мне бумажную копию отсканировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 23:27 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
о, один страниц архитектуры Data sharing без сисплекса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 23:37 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
о как, по размеру не проходит. а в png? Если войдёт - то там нет CF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 23:42 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппм Что там говорили? Говорили, что это иерахическая СУБД. Вроде ее к таковым относили в литературе. А далее говорил характерное для иерархических вообще: для структурирования типы записей, их коллекции, связи по указателям, ссылкам. Язык БД навигационный. Конкретно, про что-то особенности IMS, вроде, говорили тока ее стронники. ппм А так, по языку DL/I, наблюдается аналогия с SQL: - есть аналог предложения SELECT, в котором указываются необходимые к возврату сегменты (коллекции полей, в принципе, поля, потому как IMS не трактует содержимое сегмента, за исключением ключей) - есть аналог предложения FROM, в котором указывается, откуда извлекать данные, это всегда логическая иерархия, которая может быть результатом соединения по ссылкам-связям кучи физических иерархий, формирующими сеть - есть аналог предложения WHERE, в котором указывается, по каким критериям отбирать данные для возврата, ну и наборы операций сравнения больше-меньше-равно и прочие. Ну а зачем ананалог, када есть СУБД с самим SQL? Аналоги ведь могут праздно себя являть: SQL все же ориентирован на множесвенную (не упорядоченное множество) модель. А навигация на упорядоченное множество: коллекцию. Отказываемся от коллекции? Отказываемся от иерархической МД в IMS? Ну тада что Вы хотите сказать, что IMS типа реляционная теперь стала? Или почти реляционная? Или и реляционная и иерархическая? Или сосбно что? С одной стороны, ну, больше на одну РСУБД стало: у IBM уже две РСУБД есть, ну буит третья до кучи. Но с другой стороны, нужно подтверждение, потому что IMS все же традиционный пример Иерархической СУБД дожившей до наших дней. Он типа их флагман был. А теперь он перебежал получается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 23:56 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмда, в примере абонент -> счёт при запрашивании счёта по номеру, счёт конечно получим. Но чуда не произойдёт, и для его получения IMS просмотрит все сегменты, пока не наткнётся на нужный. Эдакий tablescan. То есть ещё раз внимательно принцип - структура строится под запросы. ну да, значит ничего принципиально не изменилось с лохматых годов. т.е. вы зашиваете в ПО как нужно доставать данные, а я зашиваю какие мне нужны данные. собственно поэтому каши и иерархические вымерли. мое имхо единственная рулизная вещь у такой фигулины (и потому она гораздо интересней каши) это географически распределенный sysplex. вот вместе с sysplex действительно можно делать то, что нельзя на других субд/платформах с той же эффективностью. а так это такой асемблер для субд, где руками нужно прописывать методы доступа к данным, что может быть иногда оправдано, но в очень специфических случаях. про дата шаринг почитаю на досуге, доложусь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 23:56 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
фиг его знает, где в инете старую доку искать. "N-way sharing based on the new Coupling Facility hardware is much easier than the old software-based block-level sharing." Это вот отсюда http://documents.bmc.com/products/documents/36/96/103696/103696.pdf Глава 17 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 23:57 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
vadiminfo Говорили, что это иерахическая СУБД. Вроде ее к таковым относили в литературе. А далее говорил характерное для иерархических вообще: для структурирования типы записей, их коллекции, связи по указателям, ссылкам. Язык БД навигационный. Применительно к IMS - не совсем навигационный, пример я дал. vadiminfo Ну а зачем ананалог, када есть СУБД с самим SQL? Аналоги ведь могут праздно себя являть: SQL все же ориентирован на множесвенную (не упорядоченное множество) модель. А навигация на упорядоченное множество: коллекцию. Отказываемся от коллекции? Отказываемся от иерархической МД в IMS? Ну тада что Вы хотите сказать, что IMS типа реляционная теперь стала? Или почти реляционная? Или и реляционная и иерархическая? Или сосбно что? С одной стороны, ну, больше на одну РСУБД стало: у IBM уже две РСУБД есть, ну буит третья до кучи. Но с другой стороны, нужно подтверждение, потому что IMS все же традиционный пример Иерархической СУБД дожившей до наших дней. Он типа их флагман был. А теперь он перебежал получается? Нет, IMS не как бы реляционная. И DL/I не SQL. Просто анектод про "селект слон фром африка" - не про IMS. в DL/I не указывается порядок извлечения данных. Как бы это странно не казалось. А SQL и оптимизатор IMS не нужен. При всём при том, что всё-таки декларируется - какие данные надо вернуть. В прямом смысле слова - указывается Segment Search Argument, который и есть аналог WHERE Так понятнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 00:29 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Yo.!ппмда, в примере абонент -> счёт при запрашивании счёта по номеру, счёт конечно получим. Но чуда не произойдёт, и для его получения IMS просмотрит все сегменты, пока не наткнётся на нужный. Эдакий tablescan. То есть ещё раз внимательно принцип - структура строится под запросы. ну да, значит ничего принципиально не изменилось с лохматых годов. т.е. вы зашиваете в ПО как нужно доставать данные, а я зашиваю какие мне нужны данные. собственно поэтому каши и иерархические вымерли. мое имхо единственная рулизная вещь у такой фигулины (и потому она гораздо интересней каши) это географически распределенный sysplex. вот вместе с sysplex действительно можно делать то, что нельзя на других субд/платформах с той же эффективностью. а так это такой асемблер для субд, где руками нужно прописывать методы доступа к данным, что может быть иногда оправдано, но в очень специфических случаях. про дата шаринг почитаю на досуге, доложусь. Понято с точностью до наоборот. Интересно, на основе каких рассуждений сделан вывод о "зашиваете в ПО как нужно доставать данные" если я утверждал абсолютно обратное? Ещё раз - в данном примере произойдёт аналог табличного скана, вполне самостоятельно, БЕЗ участия клиентского приложения, на стороне IMS, клиент получит свой сегмент. Но чуда не бдет - будет перебор. Как и в реляционке. Нужен индексный доступ? О чудо! Надо строить индекс. Как и в реляционке. Да, как за много-много лет ДО IMS делалось на VSAM - KSDS. Индексный доступ обеспечивается индексом. Если нет индекса - РСУБД вернёт данные, приложение не знает об индексе, если не берём хинты. Если нет индекса в данном примере - IMS вернёт данные, приложение не знает об индексе. Так понятнее? действительно, ничего не изменилось с лохматых годов - это основа IMS, так было всегда. Не надо руками прописыватьт методы доступа - я с первого поста пытаюсь это пояснить . Я понимаю, в это поверить невозможно, это противоречит мировозрению. Но это так. Документация доступна - читайте. И это оказалось оправдано в 80% крупнейших финансовых институтов мира. Но это как раз к "навигации" отношения не имеет. Кстати, я ведь в примере про Fetch и пример навигации приводил - вызов GNP это как раз и есть навигация. Сперва чисто декларативно затребовали клиента по фамилии Иванов, получили. Далее чито навигационно требуем его первый дочерний сегмент - и в этом нет криминала, потому что он первый, и потому что он дочерний, и IMS точно знает, где он лежит - у IMS в этот момент есть его точный адрес. напукруа тут что-то другое? Вы бы не начинали сразу оценивать, вы бы для начала попробовали понять, что ли :) Вас никто не призывает мигрировать, более того, я могу утверждать, что вам и не повезёт попробовать IMS, на этом недо-рынке, где один не самый крупный шцейцарский банк кроет всё Россию со всеми финансовыми институтами как бык овцу - в таких условиях IMS вам никто не даст. Так вы хоть спрашивайте, пока есть возможность и доступ к системе, вед можно и тестики прогнать, и примерчики. То, что это устарело - я знаю, мне один "архитектор" страницу в инете показал, гдле по русски написано - представляет чисто академический интерес :) Ага, для России - в точку! Так вот вы с академического интереса и подходите. Можно вот КЛАДР структурку глянуть, запросики к ней создать. Кстати, в IMS есть аналог SPUFI, так что программировать не надо, чтобы запрос выполнить. Правда, он зело чудной, и вы матюкаться долго будете - параметры позиционные :) Сказано в доке - операнд в десятой колонке, и никаких одинадцатых :) Что есть - то есть :) Но не в этом суть продукта. Но в принципе, если вам ужо так всё понятно - то я таки настаивать не буду :) Только сами подумайте с чего бы это китаёзы не оракл для национальной платёжной системы выбрали? И даже не DB2. Дураки потому что. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 00:44 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
IMHO, если взять любую иерархическую или сетевую базу, перерисовать её "1-в-1" в вертикально хранимый RDF, и сравнить скорости, то при равной цене оборудования RDF выиграет просто потому, что компактно ляжет в память и будет гуманно относиться к кэшу. Уже доходит до "маразма" --- некоторые запросы TPC-D над вертикальным RDF-хранилищем выполняются быстрее, чем над нормальным реляционным представлением. Разрыв в скорости между кэшем проца и памятью растёт, между памятью и диском тоже, классические иерархии и сети просто создавались в других условиях. (кстати, будь они мэйнстримом вместо реляционных БД, инвестиции в развитие железа шли бы в других пропорциях, и чем чорт не шутит --- сейчас бы наоборот тормозили все БД кроме иерархических/сетевых :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 00:45 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
вы уж простите мне мою безграмотность - но что такое RDF, потому что гугл отсылает к http://www.w3.org/RDF/ А кэш я не затрагиваю по ряду причин. Основная - IMS используется для OLTP, которому характерен случайный метод доступа к данным, к малым порциям данных. В этом случае кэш мало помагает, а вот сильный ввод-вывод - сильно помогает. Есть фича, когда запрос, зная, какой будет следующий сегмент, запрашивает сразу два сегмента, родитель-потомок, есть фича OSAM, вместо VSAM, который не только организация данных, но и другая канальная программа, которая "распознаёт" тип доступа - случайный или последовательный, и в случае последовательного применяет упреждающее чтение. Так что кэш - не самое. Самое - много путей доступа к устройствам ввода-вывода. в z9 их было 1024, если мне склероз не изменяет, или это уже в z10 - канала - это как 1024 шины применительно к другой платформе, хотя канал это не только путь доступа, но для простоты пусть будет так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 00:54 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
без сильного ввода-вывода организовать доступ параллельно к хотя бы 30000 разных сегментов одновременно в одну секунду будет затруднительно, а отдельно стоящая IMS выдала 44000 транзакций в секунду, транзакциями называется процедура IMS TM, то есть аналог хранимки. Ясный пень, что процедура процедуре рознь, но пусть каждая из них затрагивала всего один сегмент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 00:56 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмвы уж простите мне мою безграмотность - но что такое RDF, потому что гугл отсылает к http://www.w3.org/RDF/ Правильно отсылает. ппмА кэш я не затрагиваю по ряду причин. Основная - IMS используется для OLTP, которому характерен случайный метод доступа к данным, к малым порциям данных. В этом случае кэш мало помагает, а вот сильный ввод-вывод - сильно помогает. То есть у вас активное подмножество намного больше доступной ОЗУхи, я правильно понимаю? В таком случае интересно было бы узнать цену железок и какие-то циферки по размерам базы. А то вдруг выяснится, что кластер из 100 машинок по $5000 каждая и по цене сравним, и 100*10=1000 независимых винтов позволяют делать вполне недурственные цифры в т.ч. и на OLTP? Правда, грамотное OLTP программирование под кластер с высокой латентностью между нодами ---тоже гемор. Если сравнивать с хранимками над сетевыми моделями, то ничуть не более "элегантное" и "высокоуровневое". Но про это я, как "продавец" дешёвых кластеров, никому ничего не скажу ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 01:19 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппм Ещё раз - в данном примере произойдёт аналог табличного скана, вполне самостоятельно, БЕЗ участия клиентского приложения, на стороне IMS, клиент получит свой сегмент. Но чуда не бдет - будет перебор. Как и в реляционке. Нужен индексный доступ? О чудо! Надо строить индекс. Как и в реляционке. Да, как за много-много лет ДО IMS делалось на VSAM - KSDS. Индексный доступ обеспечивается индексом. Если нет индекса - РСУБД вернёт данные, приложение не знает об индексе, если не берём хинты. Если нет индекса в данном примере - IMS вернёт данные, приложение не знает об индексе. Так понятнее? нет, я чуть усложню пример и вам будет не выкрутиться. сейчас лень придумывать какую-то прикладную область но суть такая: две таблицы, одна была больше, другая меньше. пока такая пропорция выгодно идти по второй, обратывая первую. если со временем первая стала, меньше чем вторая то IMS уже не перестроит схему доступа. завтра придумаю привязку к какой-нибудь предметной области ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 01:24 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппм Так вот вы с академического интереса и подходите. Можно вот КЛАДР структурку глянуть, запросики к ней создать. Кстати, в IMS есть аналог SPUFI, так что программировать не надо, чтобы запрос выполнить. а вот это интересно. если IMS на z/OS было бы прикольно налабать какой-нить пример и прогнать сравнить z9 с писюком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 01:46 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
какое неибическое key-value хранилище ты, барыга, просто ещё не знаешь как снег зимой продавать. улись и учись, мра.. пог.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 02:03 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Yo.!нет, я чуть усложню пример и вам будет не выкрутиться. сейчас лень придумывать какую-то прикладную область но суть такая: две таблицы, одна была больше, другая меньше. пока такая пропорция выгодно идти по второй, обратывая первую. если со временем первая стала, меньше чем вторая то IMS уже не перестроит схему доступа. завтра придумаю привязку к какой-нибудь предметной области Сразу усугубим. Три таблицы, ROUTE (базовые сборочные последовательности), SP_OUT (отгрузки запчастей на другие заводы), SP_IN (приход запчастей с других заводов). Найти все промежуточные сборки, отдаваемые на частичный аутсорсинг, то есть когда порция деталей вместо сборки прям в цехе может быть снята с начала участка конвейера, послана на другой завод, там собрана, и через несколько дней результат вернётся на тот же участок того же конвейера, только уже в самый конец. SELECT * from ROUTE r, SP_OUT o, SP_IN i WHERE o.R_ID = r.BEGIN_ID and i.ORIG_ID = o.DEST_ID and r.END_ID = i.R_ID Таблицы связаны в треугольник тремя "равноправными" равенствами, возможны шесть способов перебора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 02:23 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
iv_an_ruппмвы уж простите мне мою безграмотность - но что такое RDF, потому что гугл отсылает к http://www.w3.org/RDF/ Правильно отсылает. ну на досуге посмотрю. хотя, судя по некоторым признакам.... ему ещё долго щёки надувать, чтобы IMS уделать. iv_an_ru То есть у вас активное подмножество намного больше доступной ОЗУхи, я правильно понимаю? В таком случае интересно было бы узнать цену железок и какие-то циферки по размерам базы. А то вдруг выяснится, что кластер из 100 машинок по $5000 каждая и по цене сравним, и 100*10=1000 независимых винтов позволяют делать вполне недурственные цифры в т.ч. и на OLTP? э, хоть один референс кластера OLTP на 100 машинках банковской платёжной системы? Но вы не поверите - IMS может обойтись дешевле той же DB2 на сравнимой задаче - ресурсов меньше жрёт значительно, а в Z плата идёт за ресурс. Кстати, почему-то практически в 100% там, где стоит IMS, стоит и DB2. Неожиданно, правда? Дураки какие-то, разные инструменты для разных задач используют... То ли дело мы, одной кувалдой везде... Там есть ещё занятные цифры по сравнению совместно используемого софта, но уже не в базах данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 08:11 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Yo.! нет, я чуть усложню пример и вам будет не выкрутиться. сейчас лень придумывать какую-то прикладную область но суть такая: две таблицы, одна была больше, другая меньше. пока такая пропорция выгодно идти по второй, обратывая первую. если со временем первая стала, меньше чем вторая то IMS уже не перестроит схему доступа. завтра придумаю привязку к какой-нибудь предметной области Вот-вот - типичные слова человека от сохи, то есть от реляционной базы! Это оптимизатору выгодно! Я дополню вашу задачу - надо вернуть ОДНУ запись из первой таблицы, и затем ОДНУ запись из второй, которая соответсвует первой, затем ОДНУ следующую из второй, соответсвующую первой. И как бы оптимизатор ни пыжился, как бы не менял порядок таблиц, какой бы алгоритм не выбирал - я ведь вам писал про nested loop join - один хер в структуре IMS, где первая запись из первой таблицы содержит АДРЕС! связанной записи из второй, а та содержит адрес на следующую... Не получится, короче, у оптимизатора. А порядок возврата сегментов определяет не количество записей, а бизнес-потребности, требования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 08:16 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Yo.! а вот это интересно. если IMS на z/OS было бы прикольно налабать какой-нить пример и прогнать сравнить z9 с писюком. ну практически это и происходит. только вот какая штука.... Чтобы Z получился выгоднее, или задача должна быть очень здоровая. Или задач должно быть очень много. А лучше всё вместе. Тут даже не по деньгам сравнение. по аппаратно-программному устройству писюка и Z. z9 совсем не числогрыз, это последний z196 имеет 5 с лихуем гигагерц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 08:19 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
iv_an_ru Сразу усугубим. Три таблицы, ROUTE (базовые сборочные последовательности), SP_OUT (отгрузки запчастей на другие заводы), SP_IN (приход запчастей с других заводов). Найти все промежуточные сборки, отдаваемые на частичный аутсорсинг, то есть когда порция деталей вместо сборки прям в цехе может быть снята с начала участка конвейера, послана на другой завод, там собрана, и через несколько дней результат вернётся на тот же участок того же конвейера, только уже в самый конец. SELECT * from ROUTE r, SP_OUT o, SP_IN i WHERE o.R_ID = r.BEGIN_ID and i.ORIG_ID = o.DEST_ID and r.END_ID = i.R_ID Таблицы связаны в треугольник тремя "равноправными" равенствами, возможны шесть способов перебора. то есть историю возникновения IMS вы не глянули. Она была создана под проект Союз-Апполон, и как раз под учёт сборочных узлов, деталей, и прочих механических припамбасов. К тому же рекурсии решаются просто. Если хотите примерчик сделать - вы уж опишите, что за сущности имеем, как они взаимосвязаны, а то я не понял, что за базовая сборочная последовательность. Можно в терминах create table. Только возвращатся при каждом вызове будет ОДНА сущность, для возврата всех придётся в цикле повторять - про аналог Fetch я уже писал, лень повторятся. Вот из вашего запроса база тоже курсор сделает, из которого программа Fetch записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 08:25 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмНет, IMS не как бы реляционная. И DL/I не SQL. Просто анектод про "селект слон фром африка" - не про IMS. в DL/I не указывается порядок извлечения данных. Как бы это странно не казалось. А SQL и оптимизатор IMS не нужен. При всём при том, что всё-таки декларируется - какие данные надо вернуть. В прямом смысле слова - указывается Segment Search Argument, который и есть аналог WHERE Так понятнее? Про то что я спросил не понятнее. Вы просто более детально подтвердили то, что я утверждал, т.е и так знал. Ясно дело, что все производители наровят вставить деклпаративный язык. Но он может себя праздно являть. Вот Вы подверили, что порядолк не нужен. Т.е. не нужно иерархическое, а реляционого нет. Вот теперь возникает вопрос что за МД она поддерживает. Так понятнее про вопрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 08:29 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмiv_an_ru То есть у вас активное подмножество намного больше доступной ОЗУхи, я правильно понимаю? В таком случае интересно было бы узнать цену железок и какие-то циферки по размерам базы. А то вдруг выяснится, что кластер из 100 машинок по $5000 каждая и по цене сравним, и 100*10=1000 независимых винтов позволяют делать вполне недурственные цифры в т.ч. и на OLTP? э, хоть один референс кластера OLTP на 100 машинках банковской платёжной системы? Но вы не поверите - IMS может обойтись дешевле той же DB2 на сравнимой задаче - ресурсов меньше жрёт значительно, а в Z плата идёт за ресурс. Да я поверю --- если старая система ещё жива, значит у неё есть какое-то толстое уникальное преимущество. Просто хотелось бы простую цифирь: цена железки, размер базы в гигах и строках, число транзакций. Чтоб поконкретнее поверить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 08:47 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
vadiminfo Про то что я спросил не понятнее. Вы просто более детально подтвердили то, что я утверждал, т.е и так знал. Ясно дело, что все производители наровят вставить деклпаративный язык. Но он может себя праздно являть. Вот Вы подверили, что порядолк не нужен. Т.е. не нужно иерархическое, а реляционого нет. Вот теперь возникает вопрос что за МД она поддерживает. Так понятнее про вопрос? то есть вы уже знаете, что такое IMS, и я только подтверждаю ваши знания? Ну ладно. Вы не поверите, но нигде в доке я ни разу не встречал упоминание о том, что за модель данных поддерживает IMS. такое впечатление, что им положить на чаяния наших базовиков. Данные располагаются в сегментах, минимально обрабатываемой порции. Сегмент имеет служебную часть - префикс, недоступную программно. В префиксе находятся разные типы указателей. Указатели указвают на другой сегмент. Указатель может быть не сегмент из другой иерархии - logical reference. Сегменты расположены в иерархическом порядке, где один всегда root сегмент. Но используя logical reference и secondary indexes рутовым сегментом можно сделать любой. Только он уже будет не физический родитель, а логический родитель. Так, кстати, структура КЛАДР получилась, два сегмента, один рут, второй его потомок, но у потомка указатель на рут, и потомок выступает логическим родителем сегмента рут. Рекурсия то есть. Это какая модель данных? Мне лично - по барабану. Вы себе как-то её обзовите. Всё равно исходить надо из возможностей инструмента, а не подгонять его в ярлыковые рамки. Вот к примеру программа запустилась, надо обращатся к базе за данными. GU COURSE (COURBO = A1114) STUDENT (LNAME= ИВАНОВ) По выполнении этого в памяти программы будет сегмент типа STUDENT у котрого поле LNAME равно ИВАНОВ, при чём этот сегмент является дочерним сегментом сегмента COURSE, у которого поле COURNO равно A1114. Вот это что? Навигация? Декларация? По большому счёту по барабану, как это называется, это берёт абсолютно осознанное количество операций ввода-вывода, абсолютно осознанное количество процессорного времени, то есть абсолютно предсказуемо, за какой промежуток времени программа получит в память исходное. При чём этот промежуток времени не зависит от количества записей. Почему не зависит - гляньте описание HDAM и PHDAM. Только читать много, и материал не простой - они, гады, до байта всё разложили, что где лежит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 08:50 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
iv_an_ru Да я поверю --- если старая система ещё жива, значит у неё есть какое-то толстое уникальное преимущество. Просто хотелось бы простую цифирь: цена железки, размер базы в гигах и строках, число транзакций. Чтоб поконкретнее поверить. Старая??? Последняя версия вышла в этом году, следующая на подходе - чаще, однако, чем DB2, как мне кажется. Не старая - зрелая :) Ну референсов вы на сайте IBM и сами надыбаете, как мне кажется, там и по размерам, и прочим делам,только по поводу цены не обольщайтесь. Такого понятия как прайс лист в мире Z можно сказать нету - цена считается под конкретный аппарат конкретного заказчика. Поэтому цен вы точно не узнаете. Но главный принцип - платится за выполненную работу. Может быть организованно в прямом смысле слова - по сети отсылаются отчёты сколько времени потрачено каким софтом, и на основании этого выставляется платёж. То есть выключили на ночь сервер - нифига не платите. Да, если захотите, и проявите намерения, то вас могут свозить, к примеру, в Credit Susse, на посмотреть. Только как я уже говорил, россиян это практически не касается - н зачем в России такой софт? Какие задачи решть? Ни одна финансово-учётная система из разработанных под IMS не может провести проводку задним числом с пересчётом остатков. Более того, они считаю, что это криминал. Ну тупые... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 08:57 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмЕсли хотите примерчик сделать - вы уж опишите, что за сущности имеем, как они взаимосвязаны, а то я не понял, что за базовая сборочная последовательность. Можно в терминах create table. Только возвращатся при каждом вызове будет ОДНА сущность, для возврата всех придётся в цикле повторять - про аналог Fetch я уже писал, лень повторятся. Вот из вашего запроса база тоже курсор сделает, из которого программа Fetch записи. Ну давайте вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. поле DWG фактически нарезает таблицы на независимые ломтики. Оно есть почти в каждой таблице, и 90% запросов содержат одно и то же константное значение этого поля для каждого запроса. Проблема в том, что для каждого значения DWG кардинальности сильно различаются. Скажем, для DWG=1 оказывается, что есть один внешний цех, но с 5000 разных R_ID, а для DWG=2 внешних цехов 10, но с 1 R_ID каждый, для DWG=3 в таблице SP_OUT пусто, зато в SP_IN битком, а для DWG=4 наоборот пусто именно в SP_IN и т.п. SQL-оптимизатор, увидев текста запроса, выберет один из 6 порядков перемножения этих таблиц. Да, каждый из этих шести можно написать ручками в духе "сделай цикл тут а потом цикл там", плюс решатель, но геморно. Вот будь все DWG более-менее одинаковые, как какие-нибудь плательщики квартплаты... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 09:17 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмiv_an_ru Да я поверю --- если старая система ещё жива, значит у неё есть какое-то толстое уникальное преимущество. Просто хотелось бы простую цифирь: цена железки, размер базы в гигах и строках, число транзакций. Чтоб поконкретнее поверить. Старая??? Последняя версия вышла в этом году, следующая на подходе - чаще, однако, чем DB2, как мне кажется. Не старая - зрелая :)Дык одно другому не противоречит. Винда --- новая операционка? Нет, старая. Последняя версия свежая? Да. Значит винда "старая"+"живая" = "зрелая" а не "старая" и "дохлая", как какая-нибудь CP/M :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 09:23 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
iv_an_ru, хорошо, попробую, но быстро не обещаю, и наводящие вопросы могут быть. Только вот про ссылки-указатели вы так и не вчитались. IMS не работает с множествами, в принципе, и даже не перемножает их. Но если запись об объекте ROUTE имеет связаную запись объекта SP_OUT - то в первом будет прямой указатель на адрес последнего. То есть на выходе в IMS будет процедурка, которая позволяет перебрать сегменты, у которых в поле DWG значение 1234 Но давайте тогда попробуем этот пример, чем разбирать - что такое есть за модель данных в IMS. Если нет возражений у остальных читателей. всё больше интересно. Я просто сейчас убегаю, ближе к ночи займусь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 09:27 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
iv_an_ruДык одно другому не противоречит. Винда --- новая операционка? Нет, старая. Последняя версия свежая? Да. Значит винда "старая"+"живая" = "зрелая" а не "старая" и "дохлая", как какая-нибудь CP/M :)[/quot] Э, пардон, но винда новая операционка :) Не дохлая :) Но и не зрелая - Балмер сказал, что-то типа, есть ещё что улучшать :) В MVS по-моему, уже нечего :) Хотя, нет, чего-то там изменили в z/OS V11, кстати, глянуть бы чего... Но "старость" к делу не относится, согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 09:29 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
On 12.10.2010 15:24, ппм wrote: > Как-то давно обсуждали иерархические базы данных. > А мне пришлось по случаю попользовать IBM IMS. > Что там говорили? Типа, необходимость программировать обход деревьев вручную, > необходимость синхронизации деревьев между собой вручную, негибкость в смысле > трудностей изменения структуры. > Вот эти три утверждения - это из разряда мифов, если применительно к IMS. "Однако, за время пути Собачка могла подрасти ..." Не думал, что IBM-еры могли уже "подтянуть" функционал своей СУБД к реляционным, ослабив требования сетевой строгости и добавив возможности выполнения декларативных запросов ? К тому же главная проблема сетевых/иерархических СУБД не в том, что ты перечислил, а в том, что все возможные запросы вшиваются в структуру данных. Запрос, для которого нет пути в сети данных, просто не сможет выполниться. На реляционных СУБД, напротив, можно выполнять абсолютно любой запрос. А что у сетевых есть свои вкусности -- это и понятно, и известно. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 09:41 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
MasterZiv, пардоньте, но именно это я и писал выше. Сами посмотрите, или носом ткнуть? Да, структура делается под запросы. Точка. Если это не то, что надо - IMS использоватся не будет. То есть огромная область BI, и прочей аналитики - просто не для IMS. Я так мисал - в 100% случаев с IMS стоит DB2. ну дуракие, нет? Ну тупые они, тупые. Так что всё нормально - IMS отстой, RDBMS - кувалда. всё, пример уже не надо делать? то есть, уже не интересно? Или может понос закончим, научимся читать, а не только писать? И попробуем выполнить пример, эту псевдо-задачу разными средствами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 09:49 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппм, Даешь пример на задачу ив_ан_, я же пример давно просил=) One picture worth thousand of words. У меня ссылочка на доку ИМС в закладочках полгода висит, да все мрачно начать много читать из праздного интереса. Непонятно, что значит сегмент по отношению к данным - одна запись структуры данных, 100 или как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 10:09 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппм Вот к примеру программа запустилась, надо обращатся к базе за данными. GU COURSE (COURBO = A1114) STUDENT (LNAME= ИВАНОВ) По выполнении этого в памяти программы будет сегмент типа STUDENT у котрого поле LNAME равно ИВАНОВ, при чём этот сегмент является дочерним сегментом сегмента COURSE, у которого поле COURNO равно A1114. Вот это что? Навигация? Декларация? Навигация чистейшей воды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 10:13 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
MasterZivК тому же главная проблема сетевых/иерархических СУБД не в том, что ты перечислил, а в том, что все возможные запросы вшиваются в структуру данных. Запрос, для которого нет пути в сети данных, просто не сможет выполниться. На реляционных СУБД, напротив, можно выполнять абсолютно любой запрос. Это не грандиозная проблема. Данные вполне однозначно определяют взаимоотношения между сущностями, которые при реляционном разложении тупо теряются. Да на РДБМС оптимизатор усилием телепатической мысли пытается воссоздать выброшенные взаимоотношения из запроса (еще и оптимальным образом переразложить), но: -телепатия хорошо работает не всегда -то, что можно строить абсолютно любые,в т.ч.бессмысленные запросы, для приложений дает мало -все равно приходится вместо прямых взаимосвязей писать подсказки - индексы, форин-кеи, хинты ТС, можно прямую ссылочку на доку по DL/I? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 10:16 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
sdvsamaraппм Вот к примеру программа запустилась, надо обращатся к базе за данными. GU COURSE (COURBO = A1114) STUDENT (LNAME= ИВАНОВ) По выполнении этого в памяти программы будет сегмент типа STUDENT у котрого поле LNAME равно ИВАНОВ, при чём этот сегмент является дочерним сегментом сегмента COURSE, у которого поле COURNO равно A1114. Вот это что? Навигация? Декларация? Навигация чистейшей воды. Непонятно, слишком простой пример, хотя похоже. Уточним - а если на курсе А1114 будет пять разных ИВАНОВых - как их пролучить в программе ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 10:19 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмто есть вы уже знаете, что такое IMS, и я только подтверждаю ваши знания? Ну ладно. Нет. Я знал что IMS иерархическая. Больше ниче не надо знать было. Мои знания Вы потвердили в плане того что конкретно было написано про языки и структуры: декларативный язык не испотльзует упорядоченность. А без нее это типа подобие реляционной, ну типа множественная МД. Т.е. если она таки окажется иерархической, то понадобится императивность, навигационность. ппм Вы не поверите, но нигде в доке я ни разу не встречал упоминание о том, что за модель данных поддерживает IMS. такое впечатление, что им положить на чаяния наших базовиков. Вы не поверите, но это забивания не чаяния наших базовиков, а забивание на фундаментальное в БД. Потому сомлеваюсь, что если Вы не нашли, то этого там нигде нет. Нужны подтверждения. ппм Данные располагаются в сегментах, минимально обрабатываемой порции. Сегмент имеет служебную часть - префикс, недоступную программно. В префиксе находятся разные типы указателей. Указатели указвают на другой сегмент. Указатель может быть не сегмент из другой иерархии - logical reference. Сегменты расположены в иерархическом порядке, где один всегда root сегмент. Но используя logical reference и secondary indexes рутовым сегментом можно сделать любой. Только он уже будет не физический родитель, а логический родитель. Так, кстати, структура КЛАДР получилась, два сегмента, один рут, второй его потомок, но у потомка указатель на рут, и потомок выступает логическим родителем сегмента рут. Рекурсия то есть. Это какая модель данных? Ну скорее всего иерархическая. Тада все декларативное без дополнительных сведений выглядит как дополнительное что-то. Ну в ООМД тпам тоже типа есть декларативный ODL, но это типа не основное. Главное, возможно, императивное и навигационное. ппм Мне лично - по барабану. Вы себе как-то её обзовите. Это Вы возможно погорячились. Вы, поймите, что програмирование драйверов и разработка ИС - разные весчи. Если бы речь шла о драйверах это бы прокатило. Но Вы защищаете СУБД. И можете такими высказваниями сделать ей тока хуже. ппм Всё равно исходить надо из возможностей инструмента, а не подгонять его в ярлыковые рамки. И здесь самое время уточнить какую(ие) МД поддерживает инструмент и как поодерживает. Это избавит сразу от многих вопросов. ппм Вот к примеру программа запустилась, надо обращатся к базе за данными. GU COURSE (COURBO = A1114) STUDENT (LNAME= ИВАНОВ) По выполнении этого в памяти программы будет сегмент типа STUDENT у котрого поле LNAME равно ИВАНОВ, при чём этот сегмент является дочерним сегментом сегмента COURSE, у которого поле COURNO равно A1114. Вот это что? Навигация? Декларация? Это выглядит как декларация и ассоциация (не навигация). Но может оказаться с большой вероятностью, что реляционные выразительнее. И если Вы считаете, что этот пример означет отказ от имепративного, навигационного, то возникакет вопрос, а зачем это надо. Взял реляционную СУБД и не надо париться. ппм По большому счёту по барабану, как это называется, это берёт абсолютно осознанное количество операций ввода-вывода, абсолютно осознанное количество процессорного времени, то есть абсолютно предсказуемо, за какой промежуток времени программа получит в память исходное. При чём этот промежуток времени не зависит от количества записей. Почему не зависит - гляньте описание HDAM и PHDAM. Только читать много, и материал не простой - они, гады, до байта всё разложили, что где лежит. Вы тока какда СУБД толкаете, не может расчитывать, что то на что Вам по барабану, то действительно не имеет значения. Если, конечно, речь не идет о том, чтобы запутать всех с целью сокрытия недостатков поддержания МД или отсутсвия таковых. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 10:33 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ещё раз 1. Я не защищаю IMS. Она в моей убогой защите не нуждается. Я написал то, что написал. Иногда банан это просто банан, дочка. 2. Хотелось бы узнать, в каком месте и каким боком приведённый пример является навигацией. 3. Приведённый пример с вызовом GU никак не является чем-то дополнительным, это является основным вызовом DL/I и существует с 1968 года. Других вызовов, кроме тех, которые я уже описал - просто нет. 4. Зачем это надо? Взял РСУБД и не надо парится? Парится этим начинают когда нефункциональные требования к системе не позволяют её сделать на РСУБД, в том числе и потому, что на IMS это будет дешевле, вернее, на связке IMS+DB2. То, что такие области человеческой деятельности существуют - это факт. То, что вы в них не работаете - тоже факт. Вообще-то, архитектуру решения определяют именно нефункциональные требования. 5. Я не могу сделать IMS хуже :) Где я - и где IMS :) И как - хуже? ваша компания её не купит? Я вас уверяю - она её никогда не купит, вне зависимости от того, что я здесь напишу :) Или не напишу. Повторю. Я не защищаю. Я не продаю. У меня есть доступ к системе. Есть кого спросить. Кому-то это может быть интересно. Чего остальные напряглись-то? Вам разве что угрожает? 6. IMS не является заменой РСУБД, и IBM её не доводит до уровня РСУБД, это было бы большой глупостью, она нужна именно такая, как есть. Кстати, уровень устойчивости у неё выше чем у DB2/Z, отказов меньше и время восстановления меньше, но производитель заявляет что всё на Z одинаково полезное :) 7. Я не толкаю СУБД и не "сокрытия недостатков поддержания МД или отсутсвия таковых" - мне по барабану, МД, не МД, сеть, не сеть. Есть структура, есть запросы к ней. Я называть это не буду. Я могу показать, какая может быть структура под такие вот запросы, и запросы. Есть недостатков? Рассмотрим. Есть достоинств? Рассмотрим. Так понятнее? 8. Назвать IMS иерархическая - не сказать ничего. Ровным счётом. Именно поэтому я тут первый пост и запостил. Не надо было? Не интересно? 9. Если на курсе А1114 более одного сегмента с полем фамилии ИВАНОВ то вызов повторится, только уже не GU а GN, после этого вызова в памяти программы будет следующий сегмент с полем фамилии равно ИВАНОВ. И так в цикле, пока не получим статус выхода из вызова, означающий - больше сегментов нету. 10. Дока по IMS доступна в Инфоцентре онлайн, но уже с восьмой версии и старее нету. Там есть про всё, в том числе и про DL/I. Фух, никого не обидел? iv_an_ru - я так понял, что здесь занятся примером не получится, будут прерывать возгласами "ничего нового" и "я так и знал". То, что ничего нового - факт, система создана в 1968 году. То, что "я так и знал" - сильно сомневаюсь, куча высказываний говорит от том, что большинство как раз ни ухом, ни рылом, а по принципу "а, иерархическая, знаем, как же", при том, что выясняется не знают. Даже как запрос выглядит не знают. И вообще ничего. Я к чему - у меня в ходе рассуждения появляются дополнительные вопросы, потомы как инфы недостаточно, может, мы перейдём на почту, пишите, если хотите, на kindly точка ghost собачка gmail точка ком, переключимся на другой адрес, и по-работаем вечерами над примером, а результат и ход рассуждения потом сюда выложим. Не будем мешать обществу развлекать себя, они ведь уже всё знают, у них в руках кувалда, с помощью её и какой-то матери они любую задачу враз решат. Я на несколько часов опять выпаду. Если хотите - пишите, нет - будем здесь продолжать, но я на время работы над примером буду игнорировать остальное - извините, я, в отличие от Z - не многозадачный :( Да мне больше и сказать то нечего. Все ведь всё знают :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 12:15 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппм, Если пример вызывает проблемы, то не надо в него капитально зарываться, так как он и должен вызывать проблемы. Все ориентированные на OLTP системы плохо приспособлены к циклическим зависимостям на переменных, а если усугублять неравномерностями статистик внутри таблиц, то и многие реляционные СУБД пролетают мимо правильного плана. В IMS вполне могут быть функции для быстрого получения статистик из хранимок, тогда в хранимке можно написать кучку if-ов, чтобы на основании этих статистик выполнить одну из веток. Просто интересно, делают так на приктике или нет. Ну и по-прежнему интересны цифирки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 13:10 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмещё раз 1. Я не защищаю IMS. Она в моей убогой защите не нуждается. Я написал то, что написал. Иногда банан это просто банан, дочка. Вы на нее наезжаете? А вроде выглядело расхваливаеие, развенчание неких мифов. Про бананы, скорее всего, луче в какщм-то биологическом форуме. ппм 2. Хотелось бы узнать, в каком месте и каким боком приведённый пример является навигацией. Про пример не писал, что там есть навигация. Но нужно утверждение, что навигация никада не нужна в этой СУБД. Или Вы думаетен достаточно одного примера для всеобщных утверждений? Типа индукция путем перечисления? Раз это пример такой, то навигация никада не нужна? ппм 3. Приведённый пример с вызовом GU никак не является чем-то дополнительным, это является основным вызовом DL/I и существует с 1968 года. Других вызовов, кроме тех, которые я уже описал - просто нет. Т.е. никада по ссылкам в циклах ходить не надо? И упорядоченность не нужда? Значет МД множественная? Без этого языка DL/I там ниче нельзя получить? ппм 4. Зачем это надо? Взял РСУБД и не надо парится? Парится этим начинают когда нефункциональные требования к системе не позволяют её сделать на РСУБД, в том числе и потому, что на IMS это будет дешевле, вернее, на связке IMS+DB2. То, что такие области человеческой деятельности существуют - это факт. То, что вы в них не работаете - тоже факт. Т.е. можно было решить все функциональное с DB2, но тока из-за нефункциональны понадобился IMS? Ну что же? Вы, действительно, его не защитщаете. Наоборот. Однако, даже я все же вынужден признать, что он все же занимает более достойное место среди СУБД. ппм Вообще-то, архитектуру решения определяют именно нефункциональные требования. архитектуру решения? Однако, все же функциональные требования нуждаются в решении полюбасу. И в этом все дело. На этапе логического проектирования имеет значение типа СУБД: иерахическая, реляционная объекто-ориентированная и т.д. Т.е. какую она поддерживает МД имеет значение. ппм 5. Я не могу сделать IMS хуже :) Где я - и где IMS :) И как - хуже? ваша компания её не купит? Я вас уверяю - она её никогда не купит, вне зависимости от того, что я здесь напишу :) Или не напишу. Это правда. Но классификация имеет значение. Вы сделали утверждения меняющие привычные представления для меня. Это и привлекло мое внимание. ппм Повторю. Я не защищаю. Я не продаю. У меня есть доступ к системе. Есть кого спросить. Кому-то это может быть интересно. Чего остальные напряглись-то? Вам разве что угрожает? Ну я сделал вывод о защите в плане, что Вы выглядели как ее ярый сторонник. Вам же понадобилось Мифы развенчивать, не меньше. ппм 6. IMS не является заменой РСУБД, и IBM её не доводит до уровня РСУБД, это было бы большой глупостью, она нужна именно такая, как есть. Кстати, уровень устойчивости у неё выше чем у DB2/Z, отказов меньше и время восстановления меньше, но производитель заявляет что всё на Z одинаково полезное :) Ну вот тут то и непонятки. Возможно, она нужна как иерархическая? Раз ее в больших книжках к таковым относят. Но не знау. Вот и пытаюсь понять. ппм 7. Я не толкаю СУБД и не "сокрытия недостатков поддержания МД или отсутсвия таковых" - мне по барабану, МД, не МД, сеть, не сеть. Есть структура, есть запросы к ней. Я называть это не буду. Я могу показать, какая может быть структура под такие вот запросы, и запросы. Есть недостатков? Рассмотрим. Есть достоинств? Рассмотрим. Так понятнее? Нет конечно. Откуда понятнее то? Если про обычную прогу для драйверов, то да. А для СУБД не понятно в чем идея отказа от фундаментального в БД - МД. Мы же не дикари. ппм 8. Назвать IMS иерархическая - не сказать ничего. Ровным счётом. Именно поэтому я тут первый пост и запостил. Не надо было? Не интересно? Назвать IMS иерархическая - это сказать главнейшее про нее. Это значительно больше, чем мы тут понаговорили. Все остальное вторично, тем более нефункциональные требования. Возможно, интересным оказалось не то, на что Вы расчитывали. Если бы не громкое название, после того, что Вы про нее сказали, на нее можно было бы забить раз и на всегда. Потому сомнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 13:20 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмkdvта же фигня, что и Cache (MUMPS, ДИАМС). Вот на что это точно не похоже никаким боком - так это на Cashe - просто ничего общего :) очень похоже на CACHE принцип работы CACHE расписан здесь http://www.mgateway.com/docs/universalNoSQL.pdf почти бесплатный аналог CACHE здесь http://www.minimdb.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 13:25 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
On 13.10.2010 10:49, ппм wrote: > Ну тупые они, тупые. > Так что всё нормально - IMS отстой, RDBMS - кувалда. Я такого не говорил, кажется. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 13:29 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Судя по описанию ТС программирование (получение данных) очень похоже как работа со старым добрым Btrieve - получаешь значение по ключу, далее цикл (или несколько вложенных) пока не "кончится" значение ключа. Только структуру данных видимо проще менять, чем в IMS. Кстати да - скорость была просто дурная на весьма слабеньких машинах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 13:57 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
iv_an_ruппм, Если пример вызывает проблемы, то не надо в него капитально зарываться, так как он и должен вызывать проблемы. Все ориентированные на OLTP системы плохо приспособлены к циклическим зависимостям на переменных, а если усугублять неравномерностями статистик внутри таблиц, то и многие реляционные СУБД пролетают мимо правильного плана. В IMS вполне могут быть функции для быстрого получения статистик из хранимок, тогда в хранимке можно написать кучку if-ов, чтобы на основании этих статистик выполнить одну из веток. Просто интересно, делают так на приктике или нет. Ну и по-прежнему интересны цифирки. Немного не так. У вас в примере не сущности, а процессы, вот это и вызывает проблемы. Но я конечно могу обозвать их сущностями, сущность ROUTE, сущность SPIN, и так далее, но что-то подсказывает мне что надо не один в один отображать таблицы реляционки.... Потому как так не делают, не отображают один в один. Нет в IMS никаких функций для получения статистики, и самой статистики нет, просто в одном объекте естть указатель на связанный с ним. К примеру. Есть сущность (в рсубд хранящаяся в таблице, в IMS в сегменте) A. Есть вторая, B. Никаких связей. Нужно выбратть все А с соответствующими им В. Вот здесь важна статистика, и в зависимости от неё будут планы запросов разные. А теперь то же самое, но в каждом сегменте А есть указатель на первый сегмент В, который от него зависит, в том В естть указатель на следующий В, который зависит от этого же А. В этом случае нет статистики, и не нужны планы запросов - он всегда один. То есть - выбрали нужный сегмент А (по условию, или нет), и в этот момент уже известен адрес сегмента В, который зависит от А. При вызове программы - дай мне следующий, Fetch, IMS вернёт этот В и уже будет иметь адрес следующего В. Зачем здесь статистика и планы? Циклические зависимости - без проблем, я же писал про КЛАДР, сделали именно циклической зависимостью. В нашем примере найденный сегмент В имеет адрес зависимого от него сегмента А, нро уже другого, не того, с которого мы начали. Нет множеств - нет статистики распределения данных по этим множетсвам - нет операций над множествами. Кстати, случай полного обхода дерева будет запрограммирован как вызов GN в цикле без параметров до получения статуса возврата - сегментов больше нет. Эдакий аналог select * from table. Так мы пример будем делать? vadiminfo - я рад, что есть кому радеть за концепцию баз данных, и я выражаю уверенность, что вы разберётесь как следует и накажете кого попало. Что касается моих заявлений - если непонятно, могу пояснить, надо - сделаем примером. Что касается домыслов - увольте. Я не буду решать, что такое IMS и какая у неё модель данных. Вам надо - вы решайте. Хотите - я вам в ней примерчик слабаю, а вы решайте. А про функциональные требования - я же сразу ограничил область применимости IMS. Вернее не я :) Производитель :) Если это не вписывается в ваши задачи - это не для вас ещё до того, как дойдём до нефункциональных требований. Я бы сильно хотел уйти от теоретических мудрствований, с вашего позволения, я осознаю, что вы в этом лучше разберётесь. Если вот iv_an_ru не захочет примерчик делать - для интересующихся я могу реализацию КЛАДР выложить, почему её - потому как тоже циклическая зависимость. А ярлыки вешать - без меня, пожалуйста, если вам при виде слова "иерархия" сразу всё понятно - то я вам не доктор. Мне было непонятно, я решил разобратся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 14:59 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ну вот, а я так рассчитывал поглядеть как вы будите выкручиваться с этим примером. может все таки "не сущности, а процессы" назовем горшком, а пример оставим ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 15:13 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
в смысле - выкручиваться? Вам пример охота посмотреть, или что? Назвать можем как угодно - A B C A имеет зависимого от него B B имеет зависимого от него С С имеет зависимого от него А так пойдёт? Задача - по данному А вернуть связанный с ним В по полученному В вернуть связанный с ним С по полученному С пернуть связанный с ним А - но уже не тот, с которого начали. Это то? Вы разобраться хотите, или похихикать? Давайте по-хихикаем, я даже первый начну - хи-хи-хи, какое это иерахическое убожество! Всё, закончили? Если есть кто другой, кому интересно - продолжим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 15:25 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппм Вы разобраться хотите, или похихикать? я хочу продемонстрировать то что вам для решения придется зашить один из методов обхода иерархии, который будет оптимален только при одном соотношении кол-ва записей в A-B-C, а при все других будет не оптимален. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 15:31 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ну так автор примера на контак пока не идёт. Или берём на основе абстрактных сущностей? Я тоже за пример - растекаться мыслью по древу дело благородное, но не охота. Я вообще-то DB2-шник. Но вот довелось - я и делюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 15:33 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Yo.! я хочу продемонстрировать то что вам для решения придется зашить один из методов обхода иерархии, который будет оптимален только при одном соотношении кол-ва записей в A-B-C, а при все других будет не оптимален. Не делают при работе с IMS обход иерархий! Это совсем не типичная задача при работе с IMS. Сделать то можно, последовательным перебором, но надо иметь в виду, что иерархия будет - одна! из нескольких физических иерархий собирается одна логическая, посредством logical references и secondary indexes, и вот по ней уже выполняются запросы. Типичные запросы OLTP при работе с IMS - это возврат части записи (запись - иерархическая структура сегментов), то есть за запрос - один сегмент, за другой запрос - ещё один сегмент. При такой работе все соотношения количества записей не играют рояля, ещё раз медленно для специалистов по РСУБД. Нашли сегмент А по ключу, допустим. Всё, возврат из запроса, дальше IMS работает совсем без нас. Решили - надо получить сегмент В, который зависит от нашего текущего А. Выполняем вызов - получаем сегмент В, IMS берёт его по адресу, который находится в префиксе уже полученного сегмента А, в этот момент IMS до лампочки статистика, потому, как если в префиксе сегмента А есть адрес сегмента В - то она его и возвращает, если адреса там нет - она отвечает - звыняйте, хлопцi, бананiв нэма. Всё, получили сегмент В, IMS занята другой работой. Решили - нужен сегмент С, связанный с текущим сегментом В - не вопрос, если такой сегмент в природе существует, то его адрес есть в префиксе сегмента В - вот, получите. Решили - нужен сегмент А`, связанный с текущим сегментом С - если такой сегмент есть, то его адрес есть, то мы его получаем. Вопрос - напуркуа здесь ещё что-то, типа зависимойстей, распределений, статистики? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 15:42 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Yo.! я хочу продемонстрировать то что вам для решения придется зашить один из методов обхода иерархии, который будет оптимален только при одном соотношении кол-ва записей в A-B-C, а при все других будет не оптимален. Кстати, а какой может быть метод у обхода иерархии? Кроме того, который я уже изложил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 15:44 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмВопрос - напуркуа здесь ещё что-то, типа зависимойстей, распределений, статистики? странный вопрос для db2 спеца. это же так просто: для того чтобы не перелапачивать А в которой миллиард записей и от нее выходить на B и С в которых 100 записей, а наоборот прочисать 100 записей в С и выйти по адресу на B и С ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 15:57 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Yo.!ппмВопрос - напуркуа здесь ещё что-то, типа зависимойстей, распределений, статистики? странный вопрос для db2 спеца. это же так просто: для того чтобы не перелапачивать А в которой миллиард записей и от нее выходить на B и С в которых 100 записей, а наоборот прочисать 100 записей в С и выйти по адресу на B и С "и выйти по адресу на B и С" следует читать как "и выйти по адресу на B и А" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 15:58 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Yo.!ппмВопрос - напуркуа здесь ещё что-то, типа зависимойстей, распределений, статистики? странный вопрос для db2 спеца. это же так просто: для того чтобы не перелапачивать А в которой миллиард записей и от нее выходить на B и С в которых 100 записей, а наоборот прочисать 100 записей в С и выйти по адресу на B и С Йо, а вы в принципе, читаете, то что вам пишут? Вот в примере выше я писал - где там перелопачивание А? Там выбор сегмента А, по ключу, или нет. ОДНОГО сегмента! Зачем все перелопачивать? Если у этого одного сегмента А есть связанный с ним сегмент В - то его адрес находится в префиксе ОДНОГО конкретного сегмента А который мы только получили. Мда.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 16:00 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппм Что касается моих заявлений - если непонятно, могу пояснить, надо - сделаем примером. Что касается домыслов - увольте. Сначала все таки нуно выяснить, что именно поясняется примером. То что все СУБД понадабовляли декларативных для приличия и так известно. ппм Я не буду решать, что такое IMS и какая у неё модель данных. Мож тада вообще в разделе Сравнение СУБД не стоит создавать такие громкие ветки, чтобы не сбивать с толку. Мож луче было найти ветку и вставить этот пример зачем-то.. ппм Вам надо - вы решайте. А я и решал. Но Вы как бы поставвили под сомнения мои старые решения. Ну тада я опять решаю по старому вплоть до выявления новых обстоятельств: это, скорее всего, иерархическая СУБД. В нее встроен декларативный язык, но иерархичекое при его использование утрачивает силу, а до реляционного это не дотягивает, скорее всего. Ну пока так. ппм Хотите - я вам в ней примерчик слабаю, а вы решайте. Нет. Сначала нужно концептуальное заявление. А к нему примеры среди прочего. ппм А про функциональные требования - я же сразу ограничил область применимости IMS. Вернее не я :) Производитель :) Вот про эти ограничения и было бы ясно без нас с Вами, если была бы ясна модель. ппм Если это не вписывается в ваши задачи - это не для вас ещё до того, как дойдём до нефункциональных требований. Так это не известно теперь. Входит или не входит в задачи зависит от МД. А мы теперь не знам про это, тока предполагаем. ппм Я бы сильно хотел уйти от теоретических мудрствований, с вашего позволения, я осознаю, что вы в этом лучше разберётесь. Мы к теории и не подходили. Мы от главнового в СУБД ушли. Это да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 16:01 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Yo.! "и выйти по адресу на B и С" следует читать как "и выйти по адресу на B и А" Нет, выходим только на ОДИН конкретный сегмент. А не на два. С него уже можно на другой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 16:01 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппм[quot Yo.!] Йо, а вы в принципе, читаете, то что вам пишут? Вот в примере выше я писал - где там перелопачивание А? Там выбор сегмента А, по ключу, или нет. ОДНОГО сегмента! Зачем все перелопачивать? Если у этого одного сегмента А есть связанный с ним сегмент В - то его адрес находится в префиксе ОДНОГО конкретного сегмента А который мы только получили. Мда.... я то читаю, но не понимаю зачем вы прикидываетесь идиотом. если мне известен адрес, читай номер цилиндра и сегмент HDD то нафига мне вообще какие субд. а вот если поиск идет по полю, то у вас это будет выглядеть так, как я понял: GU STUDENT (LNAME= ИВАНОВ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 16:06 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
vadiminfo нет, вызов GU не вставляли в IMS для приличия - он там всегда, с самого начала. я ничего не собираюсь ставить у вас под сомнение - вы можете заниматься концепциями, я не хочу вас переубеждать. Я не собираюсь делать концептуальные заявления - в очередной раз повторяю. Вы с этим сами прекрасно справляетесь. Я дал ряд утверждений - могу их продемонстрировать примерами. Не нравится - не читайте. Непонятно - спрашивайте. Но утверждатб, что вызов GU был добавлен в IMS для приличия, чтобы была ещё и декларативность - верх невежества. Вот на это невежество я и указываю. Вы просто лепите ярлык. Ваше право. Может, мы сойдёмся, что мне слив защитан, и вы оставите меня в покое - я, может, поясню что-то кому интересно разобратся? В том числе и примером структуры и кода с запросами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 16:07 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Yo.! я то читаю, но не понимаю зачем вы прикидываетесь идиотом. если мне известен адрес, читай номер цилиндра и сегмент HDD то нафига мне вообще какие субд. а вот если поиск идет по полю, то у вас это будет выглядеть так, как я понял: GU STUDENT (LNAME= ИВАНОВ) Ну про то, что собой представляет адрес указателя - вы можете прочитать и сами, дока доступна. Про идиота опущу, спишем на горячность :) А вот про то, зачем базы данных - вот это очень интересно, действительно, хоть и офф-топ в этой теме. Есть мнение, что до появления DASD базы данных действительно небыли нужны - программы эксклюзивно блокировали набор данных, и работали с ним, порождая новый набор данных - так последовательно обрабатывались данные, в пакетном режиме. Устройства ввода вывода не позволяли более чем одной программе работать с набором данных. С появлением DASD - винчестеров - такая возможность появилась, можно было одновременно обрабатывать запросы более чем одной программы. Сразу в полный рост встали две проблемы. 1. Несколько программ одновременно пытаются работать с одной записью одного набора данных. 2. Одна программа работает с несколькими наборами данных. Потребовалось средство решения конфликтов. Поначалу это реализовывалось в ОС, рудименты остались местами до сих пор. Но быстро пришли к идее посредника между программой и данными - к СУБД. Вот затем она и нужна. А вы не знали? Странно, процесс жизненного цикла софта тоже не знаете... Интересненько. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 16:13 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
короче, если у кого есть вопросы касающиеся IMS по существу, вплоть до примеров структур и кода, или даже впихнуть это в железку и самому посмотреть - я готов. Если желание есть. А не по существу - мне не охота, лениво, честное слово, я не хочу про перелопачивание миллионов записей опять пояснять, имеющий глаза - прочитает, кто не понял - спросит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 16:15 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмYo.!ппмВопрос - напуркуа здесь ещё что-то, типа зависимойстей, распределений, статистики? странный вопрос для db2 спеца. это же так просто: для того чтобы не перелапачивать А в которой миллиард записей и от нее выходить на B и С в которых 100 записей, а наоборот прочисать 100 записей в С и выйти по адресу на B и С Йо, а вы в принципе, читаете, то что вам пишут? Вот в примере выше я писал - где там перелопачивание А? Там выбор сегмента А, по ключу, или нет. ОДНОГО сегмента! Зачем все перелопачивать? Если у этого одного сегмента А есть связанный с ним сегмент В - то его адрес находится в префиксе ОДНОГО конкретного сегмента А который мы только получили. Мда.... Даже я Ёё понял. Вро де бы так. Сегмент А - персона (мульен чел), сегмент В - долг персоны (1000 долгов), сегмент С - например банк персоны (10 банков). Задача - найти всех должников в каждом банке. можно: -Перебрать по сегменту А каждого, заглянуть, нет ли у него в В долгов, выдать результат, аггрегируя по С -По каждому банку С перебрать долги, просуммировать, выдать -По каждому счету В.... Как это будет выглядеть в IMS (можно в DL/I с комментами)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 16:19 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Siemargl, можно, но опять убегаю, тогда позже, но в принципе, не типичная задача для IMS, я же уже охрип повторять, работать с множествами не типично, но можно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 16:24 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмкороче, если у кого есть вопросы касающиеся IMS по существу, вплоть до примеров структур и кода, или даже впихнуть это в железку и самому посмотреть - я готов. Если желание есть. ппм Ну про то, что собой представляет адрес указателя - вы можете прочитать и сами, дока доступна. доктор, вы определитесь, а то туда-сюда меня раздражает (С) бородатый анекдот вам дают конкретный пример со структурой, вам он не подходит, вам на пальцах показывают в чем тухлость иерархической идеи - вы отсылаете на гуголь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 16:29 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
[quot Siemargl Даже я Ёё понял. Вро де бы так. Сегмент А - персона (мульен чел), сегмент В - долг персоны (1000 долгов), сегмент С - например банк персоны (10 банков). Задача - найти всех должников в каждом банке. можно: -Перебрать по сегменту А каждого, заглянуть, нет ли у него в В долгов, выдать результат, аггрегируя по С -По каждому банку С перебрать долги, просуммировать, выдать -По каждому счету В.... [/quot] имхо тут не интересно может получиться, коню ясно что банков никогда не будет больше чем долгов, а долгов больше чем персон. нужно что с деталями, типа двигатель, коробка передач, насос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 16:38 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Siemargl Даже я Ёё понял. Вро де бы так. Сегмент А - персона (мульен чел), сегмент В - долг персоны (1000 долгов), сегмент С - например банк персоны (10 банков). Задача - найти всех должников в каждом банке. можно: -Перебрать по сегменту А каждого, заглянуть, нет ли у него в В долгов, выдать результат, аггрегируя по С -По каждому банку С перебрать долги, просуммировать, выдать -По каждому счету В.... Как это будет выглядеть в IMS (можно в DL/I с комментами)?Только это даже близко не моя задача, если что. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 16:40 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
А можно для непонятливых? Например, чистое дерево - А->B->C. Для каждого А есть несколько В, для каждого В несколько С. Выбираем А, затем по ссылке получаем В, а вот дальше - где будет ссылка на следующее В и где будет ссылка на С ? Или может храниться несколько ссылок? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 16:55 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ладно, из вас постановщики задач, как из меня учитель :) http://www.gnivc.ru/Document.aspx?id=1571 вот описание структуры, данное нам в ощущениях, то бишь данное нам родным государством. если коротко, то есть структурка из - наименование - сокращёное наименование - код - почтовый индекс - код ифнс - код территориального участка ифнс - код окато берём до пятого уровня - улицы, номера домов не берём. самое интересное - поле код, оно выражает подчинённость объектов друг другу, при чём все объекты в одной структуре, то есть ссылка из структуру на эту же структуру. Всё хранится вот в этой структуре, но выстраевается в регион - район - город - населённый пункт - улица промежуточные узлы могут отсутсвовать, то есть регион - город - улица цель использования - в качестве НСИ, дабы при заведении клиента ему не вписывали левый адрес, или при смене адреса не вписывали что попало. Задачи, в каких будет использоваться. 1. При заведении клиента и записи его адреса, ну или вариант при смене адреса, в сегмент адреса клиента пойдёт код КЛАДР, номер дома и квартиру проставим там же 2. Ну мы не просто так храним адрес, чтобы было, а на слуачай, если захотим ему письмо отправить, ну или сразу собаку с милицией, как выйдет, так вот по данному клиенту надо вернуть адрес. Вот под это могу вытянуть структуру с z. Или ставте задачу понятно, а то человек есть, долги в количестве 1000 штук есть, банки есть - счетов нету, баланса нету, проводок нету... Обычно - банк, оперирует счетами, по которым делает транзакции, которые в одном UoW меняют баланс двух счетов, и добавляют записи о проведённой транзакции в оба этих же счёта, у счетов есть владелец - как правило, клиент, или банк-кореспондент. Ну или про ROUTE SPIN SPOUT, только надо будет понять, то есть спросить. Но судя по тому, что всё всем понятно, то я даже не знаю... IgorK - в структуре А -> B -> C есть разные типы ссылок-указателей, все они хранятся в префиксах сегментов, про типы я раньше уже писал, но повторю - исключительно для вас, остальные могут не читать. Тип ссылки определяется порядком извлечения сегментов, то есть функционалом. Если нам надо вернуть сперва А, потом В, потом С, потом опять В от этого же А, потом С от нового В, то есть один А содержит несколько В каждый из которых содержит несколько С, то при создании физической структуры - утилита DBDGEN, можете искать по доке - определим следующие элементы в псевдокоде и с допущениями сегмент А, Сегмент В, указатели physical twin forward Сегмент С, указатели physical twin forward По умолчанию будет в каждый из сегментов добавлен указатель physical child first. Имеем конкретный данный нам (найденный) сегмент А не имеет twin, не будет соответсвующего указателя, но имеет потомков, будет указатель physical child first, то есть следующим вызовом получаем В. В полученном В уже два указателя - physical child first и phisical twin forward, что даёт возможность двигаться как вниз, так и в сторону, но мы уже решили - двигаемся вниз, получаем после вызова первый C, у которого только один указатель - physical twin forward, потому как потомков у него нет, следующим вызовом получаем его близнеца, пока они не закончатся. Как закончились - получаем следующим вызовом следующий В, и возвращаемся к уже описанному моменту. Так понятно? Указателей в префиксе может быть больше одного, при чём разных типов. Их достаточно для любых эротических фантазий в пределах назначения продукта. Всё, пожрать пора, с утра не емши. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 18:16 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппм Или ставте задачу понятно давай поставим тебе внятно, вот сейчас посовещаемся и поставим. ты пока можешь передохнуть никто ни куда не опаздывает. сейчас посовещаемся и поставим тебе простенькую задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 18:42 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
IgorK, кстати, обход в указанном порядке можно сделать гораздо проще и экономичнее - одним указателем hierarchical. Как раз такой обход и будет, знай, делай себе GN, и всё. Но это редкий случай работы, и потому редко используемый тип указателей. Смысл этого указателя в том, что когда мы извлекли А, В, С, то в последнем С бдет указатель уже на B`, в нём опять на C`, до последнего C`, в нём уже на B", и так далее по правилу 1. Сверху вниз -от А к В и от В к С 2. Спереди назад - от первого С к следующему, от него к следующему, пока все С не закончатся 3. Слева направо - самый левый В мы уже взяли, теперича последний С содержит указатель на B`, который правее B. Только в запросах порядок обхода - нафигация - не указывается. Вызовы для чтения GU - первый в базе отвечающий условиям (условий может не быть) GN - следующий в базе отвечающий условиям (условий может не быть) А вот интересный вызов GNP - следующий в базе под текущим родителем. Всё, вызовы на чтение исчерпаны. Ну и есть особенность - при выходе из вызова наш SSA - аналог WHERE - оказыается дополненным информацией о типе и ключевом поле, для удобства, для послнедующего вызова можно не заполнять - и он уже будет квалифицированным. А можно изменить - будет уже другой результат. Всё быстро не расскажешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 18:42 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Yo.!, да ставьте, а я пока по КЛАДР пример стащу а от меня здесь может больше и не появится, пусть хоть один пример будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 18:43 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
2all у меня предложение завязаться на детали. типа есть детали A B C, оператор вбивает названия (важно чтоб не код) детали A+B или A+B+C система выдает ответ можно ли соорудить из такой комбинации деталей агрегат (и есть ли эти детали в наличии соответственно). наверно можно указать что агрегат состоит из одной детали А и 0 или несколько деталей B,C тогда у него рутом будет А, а вот дальше .. дальше будет интересно поглядеть. кто что думает ? может есть идеи как еще упростить ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 18:50 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмYo.!, да ставьте, а я пока по КЛАДР пример стащу а от меня здесь может больше и не появится, пусть хоть один пример будет КЛАДР никому тут не интересен, эта то самое, что идеально ложиться на иерархию. ничего нового вы нам на нем не покажите. реальная жизнь немного сложнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 18:52 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмТак понятно? Указателей в префиксе может быть больше одного, при чём разных типов. Их достаточно для любых эротических фантазий в пределах назначения продукта. Всё, пожрать пора, с утра не емши. Да, понятно - спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 18:52 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппм Но утверждатб, что вызов GU был добавлен в IMS для приличия, чтобы была ещё и декларативность - верх невежества. Он там был вседа? Таков тип МД? Впрочем, моно не отвечать. И так ясно. ппм Может, мы сойдёмся, что мне слив защитан, и вы оставите меня в покое - я, может, поясню что-то кому интересно разобратся? В том числе и примером структуры и кода с запросами. Хорошо. Оставляю Вас в покое. Бум ждать следующего спеца от иерархических. Надеюсь, это будет не просто проггер, а именно от БД. Тада будут не примеры (отдельные деревья), а МД в которой буит и про структурироывание и про системы запросов ясно все в целом (лес в целом). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 19:04 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Yo.! КЛАДР никому тут не интересен, эта то самое, что идеально ложиться на иерархию. ничего нового вы нам на нем не покажите. реальная жизнь немного сложнее ага, точно, а КЛАДР - из научно-фантастического журнала, а не из ГНИВЦ, ну да, ну да, и руководствоваться им надо только на страницах журнала, а не в реальной жизни. Ок, я понял, у вас очень богаты опыт эксплуатации систем в реальной жизни, и в них КЛАДР не наблюдается, да и структуры баз вы правите прям вживую, в промышленной системе. Так вот она какая, реальная жизня... ну не интересно - не буду выкладывать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 19:05 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
да, вызов GU был всегда, и он не имеет отношения к МД. Спасибо за одолжение, ждите. Только я - не спец в иерархических системах - не программист - мне просто удалось получить доступ к системе и поучится Вот и всё. Теоретические вопросы меня интересовали в меньшей степени - уж извините великодушно... Так вышло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 19:07 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ещё раз пересмотрел доку, ну нигде ничего про МД. Да они там вас за кого держат?? Может, невнимательно смотрел. Так дока доступна каждому - ищите, я признаюсь - не нашёл, но верю - должно быть. Вера, она жеть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 19:09 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппм ага, точно, а КЛАДР - из научно-фантастического журнала, а не из ГНИВЦ, я в российских абривиатурах не силен, не расшифруешь ? >Ок, я понял, у вас очень богаты опыт эксплуатации систем в реальной жизни да > и в них КЛАДР не наблюдается не наблюдается, да российских названий в наших адресных структурах негусто >да и структуры баз вы правите прям вживую в промышленной системе. нет >ну не интересно - не буду выкладывать :) неа, не интересно. интересен именно этот пример /topic/796995&pg=2#9597548 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 19:19 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Yo.!, КЛАДР - классификатор адресов россии, является руководящим документом ГНИВЦ - http://www.gnivc.ru/ пример гляну щаз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 19:28 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ага, пример тот же, ответ тот же - с кем бум общатся на эту тему, то есть, кто будет вопросы отвечать? Ну и, как я уже писал, select * - совсем не типичный пример использования IMS, хотя и возможный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 19:30 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ну ладно, не идёте на контакт - буду делать, как сам понимаю. Ой, и криков потом будет - "ага! это не то, что требовалось!" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 19:57 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Yo.! КЛАДР никому тут не интересен, эта то самое, что идеально ложиться на иерархию. ничего нового вы нам на нем не покажите. реальная жизнь немного сложнее я на что обратил внимание так поздно - идеально ложится на иерархию. О как. Я правильно понял, что данные так и предполагается хранить "Регион" -> "Город" -> "Нас.Пункт" -> "Улица" ? И не смущает, что данные во всех этих объектах абсолютно одинаковые? Поля данных, то есть. Может, экономней будет в одной структуре "Объект" со всеми нужными полями? И использовать рекурсию? Для вытаскивания подчинённых объектов? Если бы вы внимательно читали, то заметили бы - я про рекурсивную структуру писал, не про иерархическую. И всё равно - "ничего нового вы нам на нем не покажите" ? Вы годами не меняетесь, всё так же поспешны и .... гм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2010, 21:19 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
если вы видели кладр то должны были немного представлять структуру проблема в том, что областей гарантировано меньше нас. пунктов, а нас. пунктов гарантировано меньше улиц. поэтому я и так хорошо представляю какой обход в иерархии вы зашьете. поверьте, это не интересно. лучше напишите мне парсинг и расскладыватель по кладр адресов из егрюл, будет гораздо полезней ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2010, 22:49 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
так мы это сделали не в иерархии, а в закольцованной сама на себя структуре. Один сегмент (ну типа одна таблица) ссылается сама на себя. Ну чтобы по разным сегментам (таблицам) одинаковую информацию не хранить. интересно, чего вы себе напредставляли. а я - не программист. Так, пописываю для себя. А парсинг писал сервисник, на PL/I. Кстати, для загрузки данных первоначальной создаётся специальный PCB (view) используя который доступен только один тип операции - загрузка данных. При чём если структура имеет логические ссылки на другую структуру, то там не так просто, в несколько проходов приходится грузить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2010, 23:20 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
я не представлял, я смотрел структуру. то что вы сделали это называется по мотивам ... и все равно не интересно. интересно там где нельзя заранее предугадать где будет больше данных в А, B или С и соответственно не получается отгадать какая иерархия с A, B, C окажется оптимальной ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2010, 23:36 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
это оптимизатору надо гадать при работе с IMS сразу все данные не возвращают - ведь примеры были. Задача - вернуть один сегмент. И здесь не важно, где сколько данных. Нет задачи - все. Вернее, это редкие задачи. И всё равно гадать - не приходится. Потому, как если взяли экземпляр элемента А - то от него будет однозначная ссылка на первый (и опционально последний) экземпляр элемента В, с ним связанный. Далее так же к С. Что гадать? Если тут же переход к дочернему элементу. Зачем гадать? Ясный перец, не любая задача на это ложится - целая отрасль задач - не ложится. Так что, надо придумывать задачу, которая на это не ляжет? А зачем? Может, не надо одну кувалду под всё использовать? Ну не ложится ряд задач в IMS - ну и что? А те, которые ложатся - работают. Пилили русские мужики лес пилой дружба-два. И дали им норвежскую чудо-машину, лесной комбайн. сунули мужики ему берёзу. - Вжик! - сказала машина. сунули ему мужики сосну. - Вжик! - сказала машина. сунули ему мужики дуб. - Вжик! - сказала машина. сунули ему мужики лом. - Вжжжшшшшззззз...... - сказала машина. - Ага! - сказали русские мужики, и пошли валить вручную лес... Дивные вы, русские мужики. Я, как-то, в 2000 году поставил посудомойку. Русский мужик cisco-вод тут же задал вопрос просто влоб: - а сковородку старую закопчёную она отмоет? ну вот что за народ, а? Если возвращать по элементам, то без разницы, где сколько данных, а элементы все связаны. Если возвращать множество, да ещё AVGm да ещё с подсуммой за квартал, да ещё у кого больше определённой сумы, да ещё чего-нибудь - IMS не для этого. Можете говорить: - Ага! и идти дальше всё делать на 100 писюков в кластере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 00:41 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппм, Просто так и не видно простых цифр. Просить их четвёртый раз уже как-то невежливо получается, а без них грустно. У меня своего большого банка нет, мне такую штуку можно было бы привинтить ровно в одно место --- есть толстая SCADA, в неё нужен журнал состояний тэгов. Ну так хотелось бы знать, почём оно будет. А то ведь кроме иерархической БД с одним хранилищем есть ещё один вариант для свербыстрых вставок --- толстое хранилище обновляемое пакетами плюс маленькое хранилище для данных уже закоммиченных но ещё не накатанных в толстую часть, и каждый поиск сначала быстро глядит в маленькое хранилище, потом только в большое. Скажем, BigOWLIM обгоняет таким способом Оракла, по их замерам, раз в 10, причём масштабируется просто замечательно и снапшоты делаются чрезвычайно дёшево. Но при этом BigOWLIM не только сложные запросы держит, там ещё и OWL inference в полный рост. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 01:34 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
iv_an_ru, каких цифр? стоимости? помилуйте, понятия не имею... идите в IBM. но быcтро это не закончится.... Да ещё выяснить надо, подходит ли вам IMS. И готовы ли вы на z/OS в принципе? Культурного шока не будет? Кстати, есть программы продажи шелезяки за смешную стоимость и софта на три года забесплатно на предмет изучить и разработать. Но только с этой целью, в продакшн поставить не полчится. Из компонет, кроме тех, что я упоминал, есть компоненты MPR (Message Processing Region) - чистый OLTP, и BMP (Batch Message Procesing) - ну батч он и в африке батч. Кстати, по распределению данных по сущностям. Если у нас сущности А и В, и никак не связаны между собой, и мы хотим выбрать экземпляры, где поле `ааа` сущности А равно, больше и равно, не равно, и прочая, полю `ввв` сущности В, то таки да - тут распределение данных нужно для построение эффективной программы, чем и занимается оптимизатор. А если у нас, к примеру, механизмы, состоящие из агрегатов, состоящие из узлов, состоящие из делатей, и надо или получить список деталей механизма, или список механизмов, в которых используется деталь - то это только на раз в IMS, и никакого распределения не надо, почему - читай выше. Ещё интересные аналогии. Вызовы GU и GN устанавливают позицию курсора (знакомо, не правда ли?). А вот вызов GNP работает в пределах установленной позиции курсора, не меняя его. С чем это можно сравнить, ну вот есть таблица из полей id, name, fact, и в ней есть строка вида 1; "AAA";"aa,bb,cc" то к примеру вызов EXEC DLI GU USING PCB( name ) SEGMENT ( name ) WHERE(ID=1) установит курсор на эту строку. А последовательные вызовы GNP можно сравнить с функцией, которая сперва вернёт "aa", затем "bb", затем "cc" Как и все аналогии - кривая, но если уж в терминах IMS не всем понятно, то хоть так может яснее станет. То есть GNP возвращает сегменты дочерние по отношению к текущей позиции курсора, не меняя позицию курсора. Кстати, технологии дошли до фантастических позвожностей, и в принципе, можно бы было, если наберётся несколько желающих, организовать что-то типа семинарчика на предмет пощщупать. Если нет аллергии на 3270. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 09:56 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
кстати, по поводу большого и маленького хранилища. Есть в IMS понятие Full Function Databases - те, которые с самого начала. А есть Fast Path Databases, возникли позже, не имеют всех функциональных возвожностей первых, но имеют большую производительность обработки данных, по сравнению с Full Function. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 09:59 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
да ну нафиг. пять страниц фанатизма. то же самое пишут и кашисты, и другие "иерархисты", постреляционисты и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 13:24 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
э, в чём, простите, фанатизм? В том, что у этого продукта исключительно узкая ниша в РФ? То есть - отсутсвует полностью? В том, что она явно ограничена в приминении? по срвнению с любой другой базой, даже MySQL? В том, что "проинсталлировать" её нормальному человеку не получится ни в жисть? Потому как ни кнопок Install, ни кнопок Setup не предусмотрено? В том, что структуры создаются макросами ассемблера? В чём конкретно? В том, что она показывает результаты производительности и устойчиости недостижимые другим? И уступает только zTPF? Ну так простите - "достоинства являются продолжением недостатков". Небыло бы достоинств без этих недостатков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 13:59 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Ха, к тому же, ситуация гораздо хуже чем с любой "постреляционной" вещью - их, как правило, можно взять забесплатно на-попробовать. Вот уж чего не получится с IMS - железяка здоровая к ней нужна, в дверь квартиры не пройдёт. Это да, основной недостаток. Как говорят - почему mainframe самая безопасная платформа? Сколько ноутбуков было украдено и утеряно за последний год? А мэйнфреймов за всю историю? То-то и оно! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 14:02 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
а, я понял, в чём корни фанатизма. В том, что никто здесь её не видел. Тогда да, люое отклонение от нормы - фанатизм. Ну мне хотелось разобраться - я добился. А фанатизм в том, что я теперь хоть что-то о ней знаю изнутри, а не по мифам, и могу её точнее спозиционировать, так, чтобы по максимуму использовать достоинства, и нивелировать недостатки - то есть, определить, в каких условиях она применима, а в каких - лучше не надо. Ведь переходить на неё компании, у которой небыло Z вообще... Вернее так - само по себе внедрение Z должно сопровождаться изменением организационно-штатной структуры организации со сменой принципов управления, по сравнению с обучением специалистов и переписыванием софта - это реальный гемморой. Поэтому получить окупаемость проекта в таких условиях - это надо считать и считать. Если так - то да, это фанатизм, который и позволяет мне заявлять, что в текущей инфраструктуре ИТ департаментов российский компаний (самых крупных, естественно) места IMS нет. И задач на под неё - нет. Задачи могут появится только тогда, когда будет проведена консолидация разных задач, с сокращением полчища специалистов и департаментов с начальниками и бюджетами, однотипные задачи будут централизованы в одну, и все эти мероприятиявынесут на поверхность все программные и прочие огрехи, все накладные расходы всех уровней, и платить за это станет гораздо дороже, чем изменить. Вы сильно верите, что все руководители всех региональных структур и прочих департаментов откажутся от своих собственных автоматизированных систем, дабы отдать их какой-то централизованной структуре, которая будет обслуживать всех? Это же автоматом означает урезать себе власти и бюджета... Из российских организаций только одна более-менее централизована. И она таки на Z :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 14:25 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмНу так простите - "достоинства являются продолжением недостатков". я на этих пяти страницах только от Вас сообщения и вижу, и Вы же этот топик затеяли. IMS да IMS... и без остановки... ппмхоть что-то о ней знаю изнутри, а не по мифам, и могу её точнее спозиционировать, так, чтобы по максимуму использовать достоинства, и нивелировать недостатки - то есть, определить, в каких условиях она применима, а в каких - лучше не надо. я рад за Вас. Вы именно об этом хотели сообщить? Только вот, непонятно, к кому за консультациями-то обращаться, если что. Аноним же... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 14:46 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
kdvппмНу так простите - "достоинства являются продолжением недостатков". я на этих пяти страницах только от Вас сообщения и вижу, и Вы же этот топик затеяли. IMS да IMS... и без остановки... ппмхоть что-то о ней знаю изнутри, а не по мифам, и могу её точнее спозиционировать, так, чтобы по максимуму использовать достоинства, и нивелировать недостатки - то есть, определить, в каких условиях она применима, а в каких - лучше не надо. я рад за Вас. Вы именно об этом хотели сообщить? Только вот, непонятно, к кому за консультациями-то обращаться, если что. Аноним же... Пардонте... А что - я должен был назвать топик IMS, а писать о DB2??? Простите - не знал, непосильная для меня логика. Хотел сообщить, что те мифы, в которые я свято верил, и которыми сам многократно пользовался, не соответствуют действительности, если речь идёт об IMS. Ну и показать интересующимся - почему. А к кому обращатся? Мда, странный вопрос - я думал, к компании-вендору... Или вы всегда так, в подворотне и на форуме спрашиваете консультаций? не, ну тоже позиция... Один не знает, как внедряются промышленные решения в эксплуатацию и зачем вообще нужны базы данных (ну, в принципе, понятно, оракла скоро и за пивом бегать будет, на этом фоне просто забыть первоначальное назначение), другой спрашивает, кто же консультировать будет... Вас - уж не я точно, и по одной простой причине - не нужна вам IMS. Как заказчику. Но может быть интересна. Как инженеру. Я писал для инженеров. Которым интересно - а попробовать не могут, не Cashe всё-таки, на писючок не взгромоздишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 14:54 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
kdvда ну нафиг. пять страниц фанатизма. то же самое пишут и кашисты, и другие "иерархисты", постреляционисты и т.д. Судя по отсутствию примеров, это еще не фанатизм, а слюнки, капающие с отвисшей челюсти _впервые_ увидевшего мейфрейм неофита ))) -"Такая такая такая классная штука!!!!" -"Какая?" -"Сказать не могу!" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 14:58 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
эээ, ну что сказать - пример могу дать только один, по кладру, было сказано - не надо, знаем. пример iv_an_ru - пардоньте, структуру в db2 сделал, а вот тестовые данные загрузить никак не могу - ну тупой я, что поделать. а не поняв, что и как - не смогу сделать структуру и запросы в IMS. Это кстати её недостаток - нельзя сгавнякать на скорую руку. А вообще то я DB2 и MQ занимаюсь, в том числе на Z, но при столкновении с IMS слюньки закапали, точное выражение, потому и захотел узнать поближе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 15:03 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
сказать то я как раз сказал. Чем хороша, и как хороша. Могу и чем плоха - уже начал. И показал - примерами вызовов, вона они выше. Но если это всё, что может сказать российская инженерная общественность по этому поводу - то это грустно. Ну да, меня обсудили... И всё? Грустно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 15:05 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Я что-то никак не пойму автора. Открыл интересную тему - я думаю многие с удовольствием послушают про примеры использования, про позиционирование и т.п. Какую-то инфу я почерпнул из топика, признаю. Но ё-маё, зачем через раз повторять - "вы все лохи и никогда и на километр к IMS не подойдете, а я вот такой суровый - подошел и даже структуру сделал!" Здесь таки технический форум, а не мерялка одним местом. Вот упомянул, что кто-то и ну нас юзает IMS (или одну Z? я не понял до конца) - ну так расскажи что да как, под какие задачи используют (если не тайна, конечно). Нафига все время подчеркивать, что оно вам и нафиг не нужно! Снобизм? Непонимаю... ps Про IMS и какие задачи решаются и как - с удовольствием почитаю и послушаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 15:47 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмХотел сообщить, что те мифы, в которые я свято верил, и которыми сам многократно пользовался, не соответствуют действительности, если речь идёт об IMS. Круть? Круть. Специализированная? Специализированная. Кто работал раньше с иерархическими БД - не возбудился. Another one bites the dust. Если хотите понять, что я имею в виду - почитайте в этом разделе топики с участием людей, работающих с Cache. Аналогия почти полная. Как по общему смыслу, так и по Вашему усердию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 16:06 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
IgorK, Ну так согласитесь - меня вынудили на фигню отвечать. Какой вопрос - такой ответ, уж извините. Кто задавал вопросы по существу - получил ответы, могу ещё, не проблема. Про суровость - это вы зря подъ...ваете. Опыт у меня в ней небольшой. Но я хоть пробовал! В отличие от многих. бросать это дело пока не собираюсь - система интересная, устроена неплохо, но неткорые вещи сложны для понимания - например, структура HDAM описана очень подробно, в таких деталях, что понять это с первого раза у меня не совсем получилось. Вернусь позже. Но она работает - казалось, пользуйся, и не думай. Но так ведь интересно же, как она устроена. А тут ещё описание есть, полностью до байта где что лежит. Ну грех не посмотреть. Так что на все вопросы ответить не смогу - но у меня есть кого спросить, опять же. А вы сравните количество вопросов про саму IMS здесь, что мне задали, по сравнению с прочим количеством всякой фигни, на которую я вынужден был отвечать. IMS в РФ нету. Не нужна - из-за распределённой модели бизнеса. И соответсвующего ему состояния ИТ. Это снобизм? Аналитики замечают, что россиянские АБС настолько затратны, что не позволяют банкам получать прибыль из множества мелких клиентов - то есть работать с маленькой маржой. Удобнее окучивать жирных олигархов. Пока модель построения бизнеса не сменится - не будет изменения в ИТ. Если начать резать косты, то рано или позно придётся задуматься о централизации - когда одна дежурная смена тащит нагрузку системы на всю страну за все департаменты. И это реально. Вот тогда Z в целом и IMS в частности получат шанс в РФ. Это - снобизм? Ну пусть будет снобизм. А по-моему - снобизм под каждую вновь возникающую задачку покупать сервачок. Ну или дурость. И шальные незаработанные бабки. Про задачи IMS - так это... неужто на IBM сайте нету? Я не смотрел, честно, но гляну теперь точно. Я уже писал - крупнейшие мировые финансовые структуры - не только банки - сидят на системах с использованием IMS. Почему с использованием а не на IMS? Потому что сама по себе она практически нигде не стоит, это только Оракл сам по себе может. Принцип другой - под каждую задачу свой специализированный тулз. Что ещё? http://www.google.ru/search?sourceid=chrome&ie=UTF-8&hl=ru&q=site:ibm.com+fiducia мне вот этот пример нравится. Я себе где-то оттуда документик скачал, PDF, и фильму. Вопрос - сколько администраторов надо, чтобы обслуживать и развивать систему, предоставляющую услуги 12 (если правильно помню, может, 6, и 6 тестовых) систем для около 700 коммерческих банков? Там какая-то дикая цифра отделений и рабочих мест. УПравляет этим хозяйством - 8 (восемь) человек. Сравним с российскими банками? Начнём с того, что это в принципе невозможно российскому банку отдать платёжную систему на аутсорсинг или купить сервис платёжной системы. Поневоле поймёш аналитиков и задумаешься (сейчас полетят тухлые помидоры - фигли думать, прагать надо, то есть, больше ораклов RACом поставить). Есть что спросить - спрашивайте. Создать структуру - вместе с вами. То есть думать вместе будем, угадывать что кому-то хотелось - я не буду. будем считать, что это из-за врождённой туповатости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 16:24 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
IgorK, Ну вот - что я вам говорил? "Не парте нам мозги! Мы и так всё знаем и этим нас не возбудишь!" Вот что ему отвечать? Ну если для него что IMS, что Cashe - дерьмо из одной задницы. И прошу заметить - таких здесь большинство. Хотелось бы ошибаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 16:26 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Снобизм в данном случае - повторять через раз, что никому это тут недоступно и НЕБУДЕТ доступно. Один раз сказали - достаточно! Это не в качестве наезда, а дабы снизить накал (почемуто он у Вас повышен - ИМХО), и не похоронить тему. ппмIgorK, Ну вот - что я вам говорил? "Не парте нам мозги! Мы и так всё знаем и этим нас не возбудишь!" Вот что ему отвечать? Ну если для него что IMS, что Cashe - дерьмо из одной задницы. И прошу заметить - таких здесь большинство. Хотелось бы ошибаться. Ответить - почему это не так! Хотя бы вкратце - я, например, не в курсе в чем разница и ЧТО там не так. -- Упоминалось, что обычно рядом DB2 стоит, вопрос - напуркуа? Что делают на нем, как перегружают данные, структуру данных меняют (сложность перегруза возрастает тогда) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 16:55 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмIgorK, Ну вот - что я вам говорил? "Не парте нам мозги! Мы и так всё знаем и этим нас не возбудишь!" Вот что ему отвечать? Ну если для него что IMS, что Cashe - дерьмо из одной задницы. И прошу заметить - таких здесь большинство. Хотелось бы ошибаться.уважаемый, а Вы сами отложите на пару минут клаву в сторону и почитайте что Вы тут пишите не покладая рук увы, информации - ноль мало кого тут интересует что Аналитики замечают, что россиянские АБС настолько затратны , вот взял практически наугад Ваш текст: Задачи могут появится только тогда, когда будет проведена консолидация разных задач, с сокращением полчища специалистов и департаментов с начальниками и бюджетами, однотипные задачи будут централизованы в одну, и все эти мероприятиявынесут на поверхность все программные и прочие огрехи, все накладные расходы всех уровней, и платить за это станет гораздо дороже, чем изменить. Вы сильно верите, что все руководители всех региональных структур и прочих департаментов откажутся от своих собственных автоматизированных систем, дабы отдать их какой-то централизованной структуре, которая будет обслуживать всех? Это же автоматом означает урезать себе власти и бюджета... это вот всё к чему было писать? хочется поделиться чем-то - ну опишите реальную задачу, объемы, как она решается, чем оно лучше, чем хуже я лично в таких объёмах пустой текст не могу читать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 16:59 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппм, интересно читать. Но вы пока больше рассказываете как IMS устроено, а я так понимаю, что основная фишка не сколько в ней, сколько в связке IMS+железо. И эта связка дает результат по производительности, которых у других нет. Это наверное как с грузовыми машинами, их много классных и удобных, но если надо возить руду из карьера - то Белаз и пофиг насколько там удобный руль и рычаги управления. И если уникальные фичи платформы раскрываются на этом стыке, то было бы интересно, что-бы вы немного просвятили на эту тему. Я например про мэйнфреймы ничего путнего сказать не могу с технической точки зрения, кроме того, что это большое железо. Но какие там заложены инженерные фишки я не знаю. Слышл когда-то давно, что одно и тоже вычисление может выполнятся двумя блоками параллельно, а потом результат сравнивается. И если вдруг он отличается(например из-за ошибки в процессоре), то происходит повторное вычисление. И это типа один из многих механизмов отказоустойчивости. Если ест хорошие ссылки про то, что есть Z без маркетинговоой шелухи, то поделитесь пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 17:04 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
SergSuper, Ну это вообще-то было ответом IgorK, почему я не вижу перспектив широкого внедрения Z в текущих российских условиях. Реальная задача? автоматизиваронные банковские системы крупнейшего россиянсекого банка. Или не так - фигли мелочится - что там говорил наш Президент? Нам необходима отечественная национальная платёжная система! Зачем - не важно, ему видней. Мы технари. Как? Как мы её построим? Вот здесь - IMS есть место. Чем оно лучше и чем хуже - так я об этом и писал. Читать не пробовали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 18:07 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
IgorK Ответить - почему это не так! Хотя бы вкратце - я, например, не в курсе в чем разница и ЧТО там не так. -- Упоминалось, что обычно рядом DB2 стоит, вопрос - напуркуа? Что делают на нем, как перегружают данные, структуру данных меняют (сложность перегруза возрастает тогда) ? 1. Ответить почему не так - провести курс IMS Fundamentals прямо здесь? Описать архитектуру, назначение состав и взаимодействие частей и механизмов? Ну можно попробовать. Местами даже уже. Местами. Состав. Структура. В том числе и данных. Но ведь ВСЁ это в открытом доступе. 2. Почему рядом с IMS DB2? Хороший вопрос. DB2 как RDBMS универсальна. Может выполнять все задачи. Но часть задач IMS выполняет лучше, по ряду своих характеристик она к ним лучше походит. Но она не универсальна - она только для OLTP систем. Только! Что такое OLTP система? Ну давайте попробуем сформулировать признаки. - Все запросы известны заранее, отсутсвие ad-hoc запросов - запросы затрагивают малые порции данных, редко всю запись, чаще часть. - большая доля запросов на изменение мелких порций данных - большое количество этих мелких запросов в единицу времени. Что там ещё? Наверняка что-то забыл Критические системы - высокие требования к надёжности, выраженной в том числе и изоляцией запросов между собой, отказоустойчивостью, прочее - высокие требования к безопасности - в широком смысле, а не проверки пароля. можно я не буду безопасность описывать, из чего состоит и что это есть? - высокие требования на время реакции, то есть на время выполнения запросов - большая цена простоя, отсутсвие окон для планируемого простоя, в том числе на смену версий и прочее. Почему IMS в OLTP лучше? Ну я уже про это много писал - накладные расходы на выполнение одних и тех же задач в IMS банально меньше, чем в RDBMS (в условиях OLTP только!!!). Отсутсвие необходимости в JOIN и использование ссылок, отсутсвие в дублировании данных, более компактные структуры данных. Типичное позиционирование - финансово-учётные системы, платёжные системы, с очень высоким SLA (пардон, но когда пол дня сбербанк г.Москва не обслуживает свои банкоматы, и это повторяется из раза в раз... и за это никого не уволили... ну я не знаю... но это не уровень) Но кроме задач быстро и надёжно проводить платежи есть и другие задачи - анализировать, а чего там наплатили? Аналитика, все BI, OLAP. и всё прочее. Я читал, что Cognos и с IMS теперь работаеть умеет, но это уж если по принципу - ну теперь вот и так даже можно! Всё таки нецелевое использование. Кроме того множество второстепенных задач - CRM, ERP, MDM, что там ещё... Да их валом. Одни задачи на IMS решать будет дорого - аналитические, тогда придётся к каждому аналитику сажать программиста, и будет убиваться куча времени, на то, что любой (почти) оптимизатор RDBMS сделает на раз и вернёт данные. Другие - второстепенные - тоже решать на IMS будщет дорого, в мире Z принцип платежей такой. Поэтому ставится связка IMS+DB2, аттачменты специально для них разрабатываются, в обе стороны, что с хранимок DB2 в IMS, что из транзакций IMS к DB2 ( транзакция - программа, процедура, а перевод базы из одного консистентного состояния в другое - Unit of Work, в IMS и в CICS - транзакции, финансовые - транзакции, а в базах данных - UoW, welcome to IBM терминологию) Кроме того все эти DataStage (с которыми свои проблемы, их ещё применять надо уметь, то есть три человека - спецы по IMS, DataStage, и по DB2 должны встретится, чтобы решение получилось хорошим, а не как всегда) фух. если что подробнее - давайте углублятся, а то широко замахнулись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 18:28 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Ggg_oldппм, интересно читать. Но вы пока больше рассказываете как IMS устроено, а я так понимаю, что основная фишка не сколько в ней, сколько в связке IMS+железо. И эта связка дает результат по производительности, которых у других нет. Это наверное как с грузовыми машинами, их много классных и удобных, но если надо возить руду из карьера - то Белаз и пофиг насколько там удобный руль и рычаги управления. И если уникальные фичи платформы раскрываются на этом стыке, то было бы интересно, что-бы вы немного просвятили на эту тему. Я например про мэйнфреймы ничего путнего сказать не могу с технической точки зрения, кроме того, что это большое железо. Но какие там заложены инженерные фишки я не знаю. Слышл когда-то давно, что одно и тоже вычисление может выполнятся двумя блоками параллельно, а потом результат сравнивается. И если вдруг он отличается(например из-за ошибки в процессоре), то происходит повторное вычисление. И это типа один из многих механизмов отказоустойчивости. Если ест хорошие ссылки про то, что есть Z без маркетинговоой шелухи, то поделитесь пожалуйста. охохо, больная тяжёлая тема. Прекрасная платформа - и ноль знаний, одни слухи, хорошо, хоть вы это понимаете. Я коротко по пунктам, потом подробнее если надо пробежимся. Если не понятно что - не надо сразу обзывать, я тезисами, раскрывать широко не буду - пока. IMS и сама по себе софтово интересна (имхо) но и отрицать тесной зависимости от железа - глупо. Пример, все (надеюсь) знают что есть VSAM. Многие даже знают, что это основной метод доступа. ЧТо даже DB2 свои данные хранит в VSAM, что само по себе даёт ништяки, ибо аппаратура заточена на работу с ними, да и сам VSAM это типа foxpro, что ли. Но для IMS был разработан свой метод доступа - OSAM, который на аппаратном уровне - в канале, канальной программой (канал - не только путь доступа, не только замена шине, у unix шина одна, а каналов, чтоб не соврать, то ли 2048, то ли 1024, нехилое так количество шин, но канал - это больше, это по сути дела компьютер выполняющий специализированные программы по работе и обработке данных, не только их извлечению) - так вот OSAM способен определять способ доступа клиентской программы к данным IMS, и если они со случайных становятся последовательными - начинает упреждающее чтение. Само по себе - фигня вопрос, но реализованно аппаратно, что есть преимущество. Мэйнфрейм - это сам по себе кластер из разных вычислительных комплексов в одном устройстве. Поэтому сравнение с любыми другими платформами - не корректно. - постоянная работа с 100% загрузки GPU, которые ЦПУ - каналы, катастрофически большой ввод вывод, множественность путей к одному устройству I/O - 16 адресных регистров, 16 адресных пространств могут работать на GPU без переключения контекста - офигительная скорость переключения контекста, не с чем сравнивать (это позволяет на одном ящике совмещать кучу разнородных задач более эффективно, чем на других от z/OS - address space - аналогов нет - изначальная многозадачность и многопользовательскость, это лезет изо всех щелей, сквозной контект безопасности всем задачам, а не так - тут безопасность оракла, тут WebSphere, тут DB2 - WLM workload manager, это нечто, управляется бизнес целями, а не технологическими понятиями - простота админстрированя громадных комплексов на фоне сложности по сравнению с другими, если комплекс мелкий Фух, Да, в GPU реализован механизм проверки результатов вычислений, дублировано всё, включая конвейеры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 18:42 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
Я всегда говорю - у нас мудрые партия и правительство. Мы не вступаем в ВТО бездумно. Польша вступила. Праткически потеряла свою национальную банковскую систему - всё скупили на корню С другой стороны по развитости ИТ Польша обходит Россию. Иностранцы принесли свои системы, свои бизнес-процессы, свои критерии. С одной стороны плохо для России потерять свою национальную банковскую систему. С другой стороны и в таком состоянии её оставлять нельзя... как чемодан без ручки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 19:35 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
другая точка зрения. Система работает на двух ЦПУ писюка. Ну юникса, не вопрос. Что такое в таких условиях увеличение производительности в два раза? Да, по-большому счёту, ничего заметного по деньгам. Даже с учётом лицензирования по ядрам (что само по себе заговор вендоров, жестоко наказывающих лопухов за десятилетия веры в безостановочный опережающий рост вычислительной мощности компов, и расхлябаный подход к проектированию и программированию - а, фигли, всё одно быстро будет - ну на эту тему ещё много можно, но если коротко - лицензирование по ядрам резко аукнулось, а специалистов потеряли, выросли поколения кодеров, а не программистов, живущих по принципу "а фигли думать? DB2 и WebSPhere и вперёд!") А если система работает на 64 ЦПУ Z? Что даст увеличение производительности в два раза? Это большие деньги. А если вспомнить, что ряд софта на z/OS лицензируются на основе по-месячных платежей, то с течением времени это будут просто очень большие деньги. Если решение даже части задач выполнить с ускорением в два раза - на этой платформе это уже имеет смысл, как бы дико нам это не казалось, даже разношёрстность софта и специалистов покроется экономией. Так, мысли вслух. С другой стороны вспомним ситуацию с каналами связи 10 лет назад? Стоимость/доступность/качеством? Произошли изменения? А вспомним ситуацию с доступностью/качеством/стоимостью специалистов 10 лет назад? Произошли изменения? Были характерные жалобы - нет, наша платформа только windows, только выучишь специалиста на AIX, и он через месяц в Москве. Спросите, какое это отношение имеет к IMS? А подумать? 8 немцев тянут 700 банков.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 21:03 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
кстати, кто-то тут упрекнул меня в анонимности - пардоньте, email я дал, кто хотел бы - написал. мимо кассы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 21:09 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмSergSuper, Ну это вообще-то было ответом IgorK, почему я не вижу перспектив широкого внедрения Z в текущих российских условиях. Реальная задача? автоматизиваронные банковские системы крупнейшего россиянсекого банка. Или не так - фигли мелочится - что там говорил наш Президент? Нам необходима отечественная национальная платёжная система! Зачем - не важно, ему видней. Мы технари. Как? Как мы её построим? Вот здесь - IMS есть место. Чем оно лучше и чем хуже - так я об этом и писал. Читать не пробовали?Вы бы себе этот совет адресовали... извините, но у меня сложилось впечатление что Вы просто флудер(в лучшем случае), ЧАЛ и автор TJ7 писали более конкретно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 23:22 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
по поводу - что IMS, что Cahe - одно дерьмо. Я знаю, что Cashe храниет данные в глобалях, и что "хранить данные в объёме удобнее, чем на плоскости". Было тут такое, на форуме, годы назад. Но можно разобрать, в чём хранит данные IMS. Я говорил - в сегментах. А сегменты в VSAM или OSAM. Ну для начала сам сегмент. Код: plaintext 1. 2. 3. 4. 5. 6. 7. Занимает 85 байт, это данные, доступные приложению. Плюс префикс с указателями TwinForward & Backward. То есть два указателя по по 4 байта. Плюс два служебных байта - байт типа сегмента и DC - deletion byte. Никаких "обёмов", всё плоско. расписано до байта. Это то, что будет элементом операции ввода-вывода. минимальная обрабатываемая порция информации. Теперь нечто интересное, если выше более-менее понятно, то вот это может вызвать шквал негодования у неокрепших мозгов. По условиям работы с сегментом, мы чётко знаем, что в операциях поиска будет учавствовать только один сегмент - CODE. Ну задача такая. Код: plaintext 1. 2. Данные сегмента просто загрузятся в I/O Area приложения, которое в приложении является, допустим, COBOL структурой. Или C структурой. И всё - приложение имеет доступ ко всем полям, а базу фигнёй не перегружаем, у неё и так забот по горло - тысячи таких дураков обслуживать. Прям как сейчас вижу - ну один к одному Cahe. Ага, вот ещё до OSAM/VSAM дойдём... Так там ну просто близнецы, полная аналогия. И Logical References между иерархиями. Мне так кажется, не все поняли что это такое, а из скромности молчат... Ну чтобы реноме не уронить. Хотя, по-большому счёту... Может в той же каше и круче. Во всяком случае - загадочней, это уж точно - "объём", он жеть не плоскость... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 23:23 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
SergSuper, и вам спасибо. я от вас массу нового и полезного узнал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 23:25 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмсегменты в VSAM или OSAM. Ну для начала сам сегмент. Код: plaintext 1. 2. 3. 4. 5. 6. 7. Живо вспомнилась монография Калиниченко и Рывкина "машины баз данных и знаний", 1989-го года написания. Надеюсь, оно на диске всё же не в таком виде валяется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 00:30 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
iv_an_ru, ну так они скомуниздили. Это с 1968 года http://img824.imageshack.us/img824/5980/formatv.png ну вот, к примеру, так на диске. Кстати, по структуре - если обратили внимание на START - поля вполне могут пересекатся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 09:55 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
iv_an_ru, вот интересно - а в каком виде оно должно валятся? кстати, само вот это определение это кусок макроопределения ассемблера, после компиляции помещается в библиотеку структур, прообраз системного каталога, что ли, ну уже и используется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 10:11 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмвот интересно - а в каком виде оно должно валятся?Стех пор отношение скорости процов к скорости чтения с жёсткого диска увеличилось настолько, что стало выгодно сжимать данные, причём выгодно и по деньгам и по производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 11:15 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
iv_an_ru, ой, народ, ну а на основании чего сделан вывод что она НЕ используетися? Если она выполнена аппаратно, и в софтовом слое не представлена - это что, не кошерно? Вот нельзя было по-другому - спросить "а компрессия не используется?" вместо утверждения, что она не используется.... не конструктивно. Кстати, DB2 L/U/W и DB2/Z имеют компрессию, но в последней опять же не в софтовом слое, а в аппаратном. Стратьс IBM к реализации фич на самом нижнем уровне. Вот к примеру сортировка - с z/OS опционально поставляется подсистема DFSORT, которая предоставляет сервис сортировки всему, начиная COBOLу и заканчивая DB2. Если кто-то забудет купить эту опцию, то DB2/Z сильно разочаруется :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 12:02 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
[quot iv_an_ruСтех пор отношение скорости процов к скорости чтения с жёсткого диска увеличилось настолько, что стало выгодно сжимать данные, причём выгодно и по деньгам и по производительности.[/quot] прям создаётся впечатление, что вы уверены - в IBM об этом не знают. То есть ни процов не создают, ни технологий не создают, которые потом все остальные процестроители покупают у IBM... Отстали ну просто совсем.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 12:10 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
ппмВот нельзя было по-другому - спросить "а компрессия не используется?" вместо утверждения, что она не используется....Вот нельзя было написать "так представляется каналом ввода-вывода" вместо "так на диске"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 13:48 |
|
||
|
IMS
|
|||
|---|---|---|---|
|
#18+
iv_an_ruВот нельзя было написать "так представляется каналом ввода-вывода" вместо "так на диске"? ээ, нет :) так на диске! Декомпрессия происходит после извлечения из VSAM/OSAM, и перед отдачей приложению :) А компрессия, соответственно, после получения от приложения, и перед записью на диск в структуре VSAM/OSAM. Так что структура VSAM/OSAM, на рисунке, вполне справедливая - сегмент там уже пожатый. Это всё ваше предвзятое мнение, что IBM ничего толкового сделать не может, и хреновый IBM маркетинг, который допустил такое ваше предвзятое мнение :) Если серёзно - то не могу же я сразу во всех подробностях, очень много деталей приходится опускать. Но это не повод! Можно и нужно спрашивать! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 15:00 |
|
||
|
|

start [/forum/topic.php?all=1&fid=35&tid=1552760]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
261ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 352ms |

| 0 / 0 |
