Кіріспе

Изотопты сұйыту массалық спектрометриясы

Интегралды деректерді басқару жүйесі (IDMS) – негізгі компьютерлер үшін желілік модель (CODASYL) деректерді басқару жүйесі. Ол алғаш рет B. F. Goodrich компаниясында әзірленді, кейін Cullinane Database Systems (1983 жылы Cullinet деп қайта аталды) компаниясы тарапынан саудаға ұсынылды. 1989 жылдан бастап өнім Computer Associates (қазір CA Technologies) компаниясына тиесілі болды, олар оны Advantage CA IDMS деп, кейін CA IDMS деп атады. 2018 жылы Broadcom CA Technologies компаниясын сатып алып, оны қайта IDMS деп атады.

Тарих

IDMS-тің тамыры 1964 жылы General Electric компаниясында Чарльз Бахман басқарыған команда әзірлеген және алғаш рет шығарылған Integrated Data Store (IDS) деп аталатын базалық деректерді басқарудың ізашарлық жүйесіне салады. 1960 жылдардың басында IDS B. F. Goodrich химиялық бөлімшесінің компьютерлік тобымен бастапқы түрінен алынып, аралық жүйелік тіл (ISL) деп аталатын тілде қайта жазылды. ISL – әртүрлі мақсатты машиналар үшін код жасай алатын портативті жүйелік бағдарламалау тілі ретінде құрылды. ISL іс жүзінде ISL-де жазылғандықтан, оны басқа машина архитектураларына салыстырмалы түрде оңай көшіруге болады, содан кейін олармен орындалатын кодты шығаруға болады. Химиялық бөлімнің компьютерлік тобы IDMS көшірмелерін басқа компанияларға сатуды ойлады, бірақ басшылық олардың бағдарламалық өнімдер бизнесімен айналыспайтынын айтты. Ақырында Джон Куллиненмен келісімшарт жасалып, ол құқықтарды сатып алып, өнімді нарыққа шығарады. Cullinane компаниясы B. F. Goodrich компаниясына авторлық жарналарды қайтаруды талап еткендіктен, барлық қосымша өнімдер жеке өнімдер ретінде тізімделіп, есептелді, тіпті олар негізгі IDMS өнімінің жұмыс істеуі үшін міндетті болса да. Бұл кейде клиенттерді шатастыратын. Бастапқы платформалар GE 235 компьютері және GE DATANET 30 хабарлама коммутациялау компьютері болды: кейін өнім IBM мейнфреймдеріне және DEC және ICL аппараттарына көшірілді. IBM портталған нұсқасы IBM негізгі компьютерлік жүйелерінде (System/360, System/370, System/390, zSeries, System z9) жұмыс істейді. 1980 жылдардың ортасында IDMS-тің шамамен 2500 лицензиясы сатылды деп хабарланды. Пайдаланушылардың арасында Стратегиялық әуе командасы, Канаданың Ford, Еуропаның Ford, Jaguar Cars, Clarks Shoes UK, AXA/PPP, MAPFRE, Royal Insurance, Tesco, Manulife, Hudson's Bay Company, Кливленд клиникасы, Канада банкі, General Electric (Ұлыбританияда), Aetna және BT компаниялары болды. Digital Equipment Corporation PDP 11 компьютерлер сериясында пайдалану үшін нұсқасы DEC-ке сатылды және DBMS 11 ретінде таныстырылды. 1976 жылы бастапқы код ICL-ге лицензияланды, олар бағдарламалық жасақтаманы 2900 сериялы мейнфреймдерде, содан кейін 1900 сериясында орындауға арналған. ICL бағдарламалық жасақтаманы Cullinane-ден тәуелсіз түрде әзірлеуді жалғастырды, бастапқы портталған өнімді ICL 2900 IDMS атауымен және IDMSX ретінде жетілдірілген нұсқамен сатуды жалғастырды. Бұл формада оны көптеген ірі Ұлыбритания пайдаланушылары қолданды, мысалы, Inland Revenue компаниясы жүргізген "Pay As You Earn" жүйесі. Ұлыбритания үкіметінің IDMSX жүйелерінің көбі 2013 жылы әлі де жұмыс істеп тұрды. 1980 жылдардың басында және ортасында аппараттық қуаттылықтың артуы және миникомпьютерлер мен клиент-сервер архитектурасына көшу арқасында реляциялық деректер қорын басқару жүйелері танымал бола бастады. Реляциялық деректер базалары CODASYL жүйелеріне қарағанда даму өнімділігін арттырды, ал нашар өнімділікке негізделген дәстүрлі қарсылықтар баяу азайып барады. Cullinet IBM-нің DB2 және басқа реляциялық деректер базаларына қарсы бәсекелесуді жалғастыруға тырысты, соның ішінде автоматты жүйелік құрылғы (ASF) жасады, ол LRF (логикалық жазба құрылғысы) деп аталатын бұрыннан бар IDMS функциясын пайдаланды. ASF – кестелерді сақтау үшін шағын қосымшаны да құрайтын бос орынға деректер қорының генераторы. Мұндай мүмкіндіктер өнімнің сатылу мерзімін ұзартуда табысты болғанын бағалау қиын, бірақ олардың ұзақ мерзімді әсері шамалы болды. IDMS-те қалған пайдаланушылар, ең алдымен, оның қатынастық мүмкіндіктеріне емес, оның жоғары өнімділігіне қызығушылық танытты. Бұл кеңінен танылды (электрондық байланыс моделінің әкесі Э. Ф. Коддтың жоғары деңгейдегі науқаны арқылы), реляциялық деректер қоры мен реляциялық қаптамасы бар желілік деректер қоры арасында айтарлықтай айырмашылық бар екендігі. 1989 жылы Computer Associates Cullinet сатып алғаннан кейін дамуды жалғастырды және 1992–93 жылдары толық SQL-мен 12.0 нұсқасын шығарды. CA Technologies CA IDMS-ті және одан кейінгі релиздерде TCP/IP қолдауын, екі фазалы коммит қолдауын, XML жариялауды, zIIP арнайы процессорды қолдауды, CA IDMS Серверімен, SQL Option-мен және CA IDMS Visual DBA құралы арқылы GUI деректер қорын басқару арқылы веб-желісін қамтамасыз етуді және қолдауды жалғастырды. CA IDMS жүйелері бүкіл әлем бойынша бизнестің жұмысын қамтамасыз етеді. Көптеген клиенттер CA Technologies компаниясының қос дерекқор стратегиясының бөлігі болып табылатын CA IDMS SQL опциясы арқылы өздерінің қосымшаларын веб-желіге қосуды таңдады.

Біріктірілген деректер сөздігі

IDMS-тің күрделі мүмкіндіктерінің бірі – оның кіріктірілген деректер сөздігі (IDD) болды. IDD негізінен деректер базасының анықтамаларын сақтау үшін әзірленді. Оның өзі IDMS дерекқоры еді. Деректер қорының әкімшілері (DBA) және басқа қолданушылар IDD-мен деректер сөздігінің анықтама тілі (DDDL) деп аталатын тіл арқылы байланысты. IDD IDMS отбасының басқа өнімдерінің, мысалы ADS/Online және IDMS DC анықтамалары мен кодтарын сақтау үшін де қолданылды. IDD-нің басты артықшылығы – оның кеңейтілуге қабілеттілігі және дерлік кез келген нәрсенің анықтамасын жасауға мүмкіндік беруі. Кейбір компаниялар оны ішкі құжаттаманы жасау үшін пайдаланды.

Логикалық деректер моделі

Пайдаланушыларға ұсынылатын деректер моделі – CODASYL желілік моделі. Бұл модельдегі негізгі құрылымдық ұғымдар – жазбалар және жиынтар. Жазбалар негізінен COBOL үлгісін ұстанады, түрлі типтегі өрістерден тұрады: бұл қайталанатын элементтер мен қайталанатын топтар сияқты күрделі ішкі құрылымдарды құруға мүмкіндік береді. Codasyl моделінің ең ерекше құрылымдық ұғымы – жиын. Математикалық жиынмен шатастырмау керек, Codasyl жиыны жазбалар арасындағы бір-көп қатынасты көрсетеді: бір иесі, көптеген мүшелері. Жазба бірнеше жиынның мүшесі бола алады, бұл желілік модельді бұрынғы иерархиялық модельден ерекшелейтін маңызды фактор. Жазбалар сияқты, әр жиын аталатын жиын типіне жатады (әр түрлі жиын типтері әртүрлі логикалық қатынастарды моделейді). Жиындар реттелген, ал жиын ішіндегі жазбалардың тізбегі ақпаратты жеткізу үшін пайдаланылуы мүмкін. Жазба кез келген жиынның иесі де, мүшесі де бола алады. Жазбалардың идентификаторы бар, ол деректер қорының кілті деп аталатын мәнмен көрсетіледі. IDMS-де, көптеген басқа Codasyl жүзеге асыруларындағыдай, деректер қорының кілті дискідегі жазбаның физикалық мекенжайымен тікелей байланысты. Деректер қорының кілттері сондай-ақ тізімдер мен ағаштар түріндегі жиындарды іске асыру үшін көрсеткіштер ретінде қолданылады. Логикалық модель мен физикалық іске асыру арасындағы осы тығыз сәйкестік (Codasyl моделінің міндетті бөлігі емес, бірақ барлық табысты жүзеге асырулардың ерекшелігі) деректерді іздеудің тиімділігін қамтамасыз етеді, бірақ деректерді жүктеу және қайта құрылымдау сияқты операцияларды қымбатқа соқтырады. Жазбаларға деректер қорының кілті арқылы, жиын қатынастарын орындау арқылы немесе кілт мәндерін пайдалану арқылы тікелей қол жеткізуге болады. Бастапқыда тікелей қол жеткізу тек хэштей отырып мүмкін болды, бұл механизм Codasyl моделінде CALC қол жеткізуі деп белгілі. IDMS-де CALC қол жеткізуі ішкі жиын арқылы іске асырылады, ол бірдей хэш-мәні бар барлық жазбаларды иеленуші жазбамен байланыстырады, ол әр дискі бетінің алғашқы бірнеше байтын алады. Кейінгі жылдары IDMS-тің кейбір нұсқалары BTree сияқты индекстерді пайдалану арқылы жазбаларға қол жеткізу мүмкіндігін қосты.

Сақтау

IDMS деректер қорын файлдар тізбегі ретінде ұйымдастырады. Бұл файлдар картаға түсіріліп, алдын ала форматына келтіріледі. Аймақтар дискідегі физикалық блоктарға сәйкес келетін беттерге бөлінеді. Деректер базасының жазбалары осы блоктардың ішінде сақталады. ДБА әр аймаққа файлдағы беттердің белгілі бір санын бөледі. Содан кейін ДБА әр аймақта қандай жазбалар сақталуын және оларды қалай сақтау керектігін анықтайды. IDMS деректер базасының бойымен арнайы орын бөлу беттерін орналастырады. Бұл беттер деректер базасының әрбір бетіндегі бос орынды қадағалау үшін қолданылады. I/O талаптарын азайту үшін бос орын тек аймақтың бос орыны 30%-дан төмен түскенде барлық беттер үшін қадағаланады. IDMS деректер базасында жазбаларды сақтау үшін төрт әдіс бар: Тікелей, Реттік, CALC және VIA. Fujitsu/ICL IDMSX нұсқасы осы әдістерді екі қосымша әдіспен толықтырады: Page Direct және Random. Тікелей режимде пайдаланушы мақсатты деректер қорының кілтін көрсетеді және ол осы ДБ кілтіне мүмкіндігінше жақын сақталады, ал жазба сақталған нақты ДБ кілті қолданба бағдарламасына қайтарылады. Реттік орналастыру (индекстелген реттікпен шатастырмаңыз) жаңа жазбаны аймақтың соңына орналастырады. Бұл опция сирек қолданылады. CALC жазбаны қайда орналастыру керектігін шешу үшін хэш алгоритмін пайдаланады; хэш кілті кейін жазбаны тиімді іздеуді қамтамасыз етеді. Барлық CALC аймағы әрқайсысы арнайы CALC "иесі" жазбасынан тұратын бас жазбамен алдын ала форматына келтіріледі. Хэш алгоритмі бет нөмірін анықтайды (одан физикалық дискінің мекенжайын анықтауға болады), содан кейін жазба осы бетке немесе оған мүмкіндігінше жақын сақталады және CALC жиынтығын пайдаланып осы беттің бас жазбасына байланыстырылады. CALC жазбалары беттің CALC иесі жазбасына бір сілтеме тізімі (нұсқаулар) арқылы байланыстырылады. Бет басында орналасқан CALC иесі оның нақты бетіне бағытталған немесе басқа бетке ашқан жазбалардың барлық жиынтығына ие. CALC өте тиімді сақтау және іздеуді қамтамасыз етеді: IDMS 1.1 I/O операциясында CALC жазбасын іздеуге болады. Алайда, бұл әдіс негізгі кілттің мәнінің өзгеруіне жақсы төтеп бермейді және беттер санын кеңейту қажет болса, қымбат қайта ұйымдастыру қажет. Аймақты кеңейту және содан кейін әр CALC жазбасы үшін аймақты ретті түрде сканерлейтін бағдарламаны іске қосу, содан кейін әр жазбаны жаңарту үшін MODIFY операторын пайдалану осының шешімі болып табылады. Бұл әрбір CALC жазбасының аймақтың жаңа беттер диапазоны үшін есептелген дұрыс мақсатты беттің CALC жиынтығына байланыстырылуына әкеледі. Бұл әдістің кемшілігі - көптеген CALC жазбаларының мақсатты беттерінде болмайды және әр беттің CALC жиынтығында жүруге көптеген I/O операциялары қажет болуы мүмкін. Нәтижесінде, бұл жұмысқа тек өте қажет болған жағдайларда ғана жүгіну ұсынылады, өйткені өнімділік төмендеуі мүмкін. VIA орналастыру белгілі бір жиынтықтағы иесіне жақын жазбаны сақтауға тырысады. Әдетте жазбалар меншік иесімен бірдей физикалық бетке топтастырылады. Бұл жиынтық қатынасын орындау арқылы жазбаға қол жеткізген кезде тиімді навигацияға әкеледі. (VIA деректерді басқа IDMS аймағында сақтауға мүмкіндік береді, сондықтан оларды иесінен бөлек сақтауға болады, бірақ тиімділік үшін топталған күйде сақталады. IDMSX-те олар меншік иесінен белгілі бір беттер санымен де ығыстырылуы мүмкін). Page Direct (тек IDMSX) Тікелей режимге ұқсас, бірақ мақсатты деректер қорының бетінің нөмірі көрсетіледі және жазба сол беттің CALC тізбегіне қосылады. Random (тек IDMSX) CALC алгоритмін пайдаланып сақталған кезде жазбаның орын алуына мақсатты бет нөмірін береді (бұл жазбаның ішіндегі кілтті пайдаланады немесе кілті жоқ кездейсоқ жағдайда, CALC алгоритмі үшін тұқым ретінде сақтау күні мен уақытын пайдаланады). Жиынтар әдетте сілтемелі тізімдер ретінде сақталады, деректер қорының кілтін нұсқау ретінде пайдаланады. Әрбір жазба келесі жазбаға сілтеме береді; деректер қорының дизайнера иеленуші нұсқауларын және алдыңғы нұсқауларды қосуды таңдай алады (көрсетілмесе, бұл бағыттағы навигация баяу болады). Кейбір IDMS нұсқалары кейіннен индекстерді анықтау мүмкіндігін қосты: жазба индекстері, екінші реттік кілттің мәлімдігінен жазбаларды табуға мүмкіндік береді немесе жиын индекстері, жиынның мүшелерін кілт мәні бойынша іздеуге мүмкіндік береді. IDMSX Page Direct және Random орналасу жазбалары әдетте жоғарыда сипатталғандай Record Index-термен бірге қолданылады. Индекстердің өзінде орналасу ережесі қолданылады, Тікелей (әдетте "индекс ID кілті ретінде пайдаланылатын CALC") немесе CALC.