W kontekście systemów wielodostępnych uwidaczniają się czte
ry aspekty problemu zarządzania danymi /czyli kierowania prze
pływem danych/: wspólne zbiory dla wielu użytkowników; bardzo duże zbiory dla poszczególnych zastosowań; łączność i współwy- mienność /zgodność/ między zbiorami; oraz techniki utrzymywania i odzyskiwania /regeneracji/ zbiorów. Zarządzanie danymi jest przedmiotem godnym osobnych rozważań i dlatego inne sprawozdania Ptogramu Badawczego Diebolda szczegółowo zajmują się tym zagad
nieniem. Tutaj zajmujemy się tymi aspektami problemu zarządza
nia danymi, które są szczególnie kłopotliwe w środowisku syste
mów wielodostępnych - chociaż nie ograniczają się tylko do tego środowiska.
1. Wspólne zbiory
Około roku temu na Konferencji Kierownictwa BEMA Charles W. Adams oświadczył, co następuje:
"Istnieje szeroko rozpowszechnione rozumowanie, że w wielodostępie największą wagę posiada udział w ary
tmetycznych i logicznych zdolnościach komputera ...
- 144
-Znacznie ważniejszym aspektem wielodostępu, szczegól
ni e z punktu widzenia działacza gospodarczego, jest to, iż pozwala on na wspólne jednoczesne korzystanie ze zbiorów wielu użytkownikom. Przede wszystkim zna
czenie mają zalety ekonomiczne wspólnego korzystania ze zbiorów; wysoką wartość ekonomiczną posiada bez
pośrednio współpracujące wyposażenie do przechowywa
nia informacji. Jednakże często jeszcze większe zna
czenie posiada zdolność scentralizowania i ujednoli
cenia danych dotyczących całej organizacji. Dane muszą być stale aktualne, a jednak zawsze dostępne, by spro
stać potrzebom jednostek w organizacji nawet gdy jej struktura jest zdecentralizowana".
Tam,gdzie użytkownicy wzajemnie oddziaływają na to same zasto
sowania, bazę danych , oraz na system zbiorów, zarządzanie zbio
rami w systemie jest znacznie bardziej złożonym problemom niż tam, gdzie wielu użytkowników oddziaływaje na niezależne zasto
sowania. W przypadku zastosowania, w którym chodzi o zapytania i wyszukiwanie informacji - to znaczy tam, gdzie wspólny zbiór
jest tylko odczytywany - problem sprowadza się zazwyczaj do dziedziny toorii kolejek. Zapytania użytkowników muszą po pros
tu oczekiwać w kolojce na dostęp do zbioru /co podlega wyjątkom w zależności od priorytetu oraz jest zależne od techniki dostę
pu/. Z punktu widzenia projektanta systemu sprawa nie wygląda tak prosto, gdy w jakimś zastosowaniu' w grę wchodzi aktualiza
cja przez użytkownika informacji zawartej w zbiorze, kasowanie A
"News Roundup", Modern Data Systems. February 1968, str. 14.
starych danych, zamieszczanie nowych danych, modyfikacja aktual
nych danych. Przy założeniu, że każdy z użytkowników, gdy zadaje pytanie, żąda informacji z ostatniej chwili, jedyną obecnie wy
konalną metodą zapewnienia takiej informacji jest wyłączenie wszystkich zapytań odnoszących się do właśnie aktualizowanego rekordu lub zbioru. Takie zapytania muszą czekać, aż zostanie zakończony proces aktualizacji przetwarzanych rekordów danych.
/Gdy w rachubę wchodzą wielorakie zbiory, to jak zobaczymy, pro
blem jest jeszcze poważniejszy/. Rozwiązanie tego problemu przez wyłączenie pewnych zapytań nie jest złe i prawdopodobnie pozos
tanie jedynym możliwym do przyjęcia rozwiązaniem mechanizmu uaktualniania wspólnych zbiorów.
Sednem problemu wspólnych zbiorów jest niepewność odnośnie wieku i ważności informacji. Przypuśćmy, że użytkownik A przed
stawia zapytanie i wyszukuje dane X, Podczas gdy użytkownik A bierze pod uwagę dane X, użytkownik B wprowadza jakąś transak
cję, która dane X zmienia na dane Xt Zwykle użytkownicy A i B bezpośrednio nic nie wiedzą o swojej działalności i dlatego użytkownik A znajduje się wówczas w sytuacji, w której podejmu
je pewn9 decyzje w oparciu o informacje, które - bez jego wie
dzy - straciły-na wartości, a być może stały się całkowicie bezużyteczne. Jedynym wyjściem z tego kłopotliwego położenia, o którym nic nie wiemy, jest by system wskazał użytkownikowi A iż jego zapytanie zostało unieważnione. Wymaga to, by system był przez cały czas "świadom” , którymi danymi użytkownik się interesuje /opierając się na ostatnim zapytaniu/ i by albo wys
iał automatycznie nową informację do każdego użytkownika, który otrzymał obecnie już przestarzałe dane, albo by wysyłał alarm żądający od tych samych użytkowników ponowienia zapytania.
146
-W rzeczywistości jest to tylko częściowe rozwiązanie. Rozwiązu
je ono jedynie problem zapytań, które system otrzymał w ostat
niej chwili. Jak wygląda ta sprawa dla użytkownika, który
przedstawił systemowi zapytanie pół godziny temu, następnie ko
lejno zadał kilka dalszych zapytań /przy czym w międzyczasie miało miejsce podjęcie pewnego rodzaju decyzji lub rozwiązanie problemu/ i obecnie część zbioru, do którego skierował zapyta
nia przed 30 minutami, przechodzi modyfikację? Czy to oznacza, że cała jego działalność w ciągu ostatniej pół godziny zostaje unieważniona? Czy system powinien mu zwrócić uwagę, że w wyniku wcześniejszego zapytania otrzymał dane obecnie już bezużytecz
ne? Czy system z tego powodu powinien nawet zachowywać historię zapytań każdego z użytkowników? By odpowiedzieć na te pytania należy przeprowadzić ocenę wartości samej informacji«/W rozdzia
le V bada się to zagadnienie/. Te aspekty problemu wspólnych zbiorów z pewnością zależą od istoty zastosowań, lecz wydaje się, że nikt bezpośrednio nie przedstawiał tego problemu. Suge
rowałoby to iż nie jest to prawdziwy problem, albo że nie na
tknięto się nań zbyt często by go wyłonić. Odnosimy wrażenie, że zachodzi ten ostatni przypadek, oraz oczekujemy, że w ciągu najbliższych pięciu lat nabierze on rozgłosu skoro tylko wejdą w życie bardziej wyszukane systemy wspólnych zbiorów.
2. Bardzo duże zbiory
Ogólną niedomogą większości dawniejszych systemów wielodos
tępnych była niezdolność do tworzenia i manipulowania bardzo dużymi zbiorami danych. Na przykład obsługa wielodostępna fir
my General Electric początkowo ograniczała wielkość zbiorów użytkowników do 6.144 znaków, świeższa wersja zezwalała na co
najmniej dv/a razy większą pojemność pamięci. Jednakże nawet systemy, które pozwalają na niezwyczajną /według obecnych norm/
pojemność zbiorów dla jednego użytkov7nika - rzędu, powiedzmy, miliona znaków - będą daleko za małe w stosunku do narastają
cych potrzeb. Towarzystwa naftowe już w tej chwili utrzymują nadzwyczaj wielkie zbiory danych o ujęciach ropy naftowej, a towarzystwa ubezpieczeniowe korzystają z olbrzymich zbiorów danych dotyczących ich klientów. Ściśle mówiąc, jesteśmy przed dniem, w którym będą miały zastosowanie zbiory o pojemności mi
liarda znaków.
Przyjmując, że jest dostępny sprzęt,w którym można umieścić bardzo duże zbiory /stacja komórek danych IBM 2321 posiada po
jemność 400 milionów’ bajtów, lecz wolny dostęp/, oraz przyjmu
jąc, że możemy wymyślić taką superstrukturę, która w ten spo
sób organizuje zbiory iż można w nich umieszczać dane /techni
ki podziału, metody katalogowania, taktyki badania zbiorów - zostały już od lat wypróbowane/, to wówczas stajemy przed naj- V7ażniejszą kwestią bardzo dużych zbiorów/ wielodostępnych: czas dostępu. Użytkownik pracujący w trybie wzajemnego oddziaływa
nia chce otrzymać odpowiedź na swoje zapytani© .iuż obecnie, w ciągu kilku sekund, a nie w ciągu kilku minut. Dzisiejsze tech
niki adresowania oraz środki przechowywania informacji po pros
tu nie nadają się dobrze do natychmiastowego wyszukiwania infor
macji z bardzo dużych zbiorów w środowisku wielodostępnym.
Ponieważ nie przewiduje się, by urządzenia pamięci - znów wchodzi w grę hierarchia pamięci - przeszły przez nagły prze
łom w szybkości, pojemności, lub cechach funkcjonalnych przed końcowymi latami siedemdziesiątymi, natychmiastowe rozwiązanie
148
-problemu czasu dostępu może tylko wyjść od strony techniki ad
resowania. Nawet wówczas, gdy wskutek pewnych innowacji wypro
dukuje się bardzo duże, bardzo szybkie i ekonomiczne pamięci, to i wtedy pewne nowe zastosowania mogą być może narzucić na
wet większe wymagania w stosunku do wielkości zbiorów, by w ten sposób skutecznie zniwelować postęp w technologii pamięoi.
Jednym z potencjalnych rozwiązań jest pamięć asocjacyjna, lub adresowana na zawartość. Rosnące znaczenie bardzo dużych
zbiorów ożywiło badania w tej dziedzinie, które w ciągu ostat
niej dekady raz kontynuowano a potem z kolei wstrzymywano.
Pamięć asocjacyjna nie będzie posiadała konwencjonalnie formu
łowanych adresów. "Odwołanie się do pamięci jest dokonywane przez określenie wszystkich lub którejkolwiek skojarzonej ko
mórki /z innymi komórkami/, przy czym wzmiankuje się wszystkie komórki, które są skojarzone z tym polem.... W pamięci konwen
cjonalnej skojarzenie zachodzi między fizycznym adresem a jego zawartością. Jednakże odwołanie się do pamięci może tylko nas
tąpić przez określenie adresu, nie można bowiem bezpośrednio żądać dostępu do wszystkich komórek, których zawartość wynosi np. zero! Do prawdziwie asocjacyjnej pamięci dostęp dokonuje
się przez określenie którejkolwiek komórki z N komórek uczest- niczących w asocjacji." Prostym przykładem adresowania na za
wartość jest książka telefoniczna. Tutaj asocjacja /skojarze
nie/ - związek między dwoma pozycjami - zachodzi między nazwis
kiem każdego abonenta a jego numerem telefonu, chociaż nawet
^ Wiliam L.Ash and Edgar H.Sibley, "TRAMP": An Interpretive Associative Processor with Deductive Capabilities", Procee
dings, ACM National Conference. 1968, str. 143.
książka jest zamierzona jako urządzenie do tłumaczenia jedno
kierunkowego /dane jest nazwisko, po prostu należy określić odpowiadający mu numer - działanie w odwrotnym kierunku nie posiada cech skojarzenia i wymaga przeszukiwania pozycji za pozycją/. W prowadzonych w chwili obecnej badaniach przede wszystkim przebadano możliwość wdrożenia tej koncepcji na sprzęcie i w dalszym ciągu w wyniku tych badań nie uzyskano ekonomicznie wykonalnej pamięci. Jak dotychczas, jedyną prak
tyczną odpowiedzią na problem szybkiego dostępu do niezwyk
le dużych zbiorów jest w dalszym ciągu wdrażanie oprogramowa
nia w formie skojarzonych struktur danych.
3. Znaczenie powiązań między zbiorami
Pierwszorzędne znaczenie ma tutaj duża baza danych,w której pojedyncza transakcja wpływa na jeden zbiór, co z kolei wpły
wa na związane z nim inne zbiory informacji. Taka "potokowa aktualizacja" jest skomplikowanym zadaniem nawet w niektórych systemach przetwarzania partiowego, jeśli do tego dodamy wie
lu użytkowników, z których każdy jednocześnie oddziaływuje na różne zbiory, to wówczas problem łączności między zbiorami staje się niezwykle złożony. Jeśli system ponosi dodatkowe brzemię działania "na bieżąco" /real-time/, to wówczas łącz
ność między zbiorami jest dodatkowo ograniczona surowymi wyma
ganiami w stosunku do czasu. Problem aktualizacji wielorakich zbiorów może być postawiony następująco: jeśli zachodzi jakaś transakcja, która zmienia stan informacji w danym zbiorze, to zapytania dotyczące tego zbioru muszą być wstrzymane przez sys
tem aż do momentu, gdy wszystkie związane zbiory zostaną zmody
fikowane celem odzwierciedlenia tej zmiany. Jedyną możliwością
- 150
-wyboru, lub sankcją, jest dostęp do przestarzałej informacji*
Jak już poruszaliśmy to zagadnienie w odcinku dotyczącym
"wspólnych zbiorów", wysoka cena takiej sankcji zmienia się w zależności od istoty wchodzącego w rachubę zastosowania. Na przykład wartość aktualnej informacji jest oczywiście wyższa w wojskowych systemach dowodzenia i sterowania niż w syste
mach sterowania zapasami dla produkcji, ponieważ w pierwszym przypadku stawka jest bardzo wysoka w określeniach ostateczne
go przeżycia narodu. Dlatego zasadniczą cechą łączności między zbiorami jest czas dostępu w stosunku do aktualnej informacji.
W tych przypadkach, gdzie aktualna informacja posiada najwyż
sze znaczenie, zazwyczaj użytkownik odczuwa zwiększony czas dostępu i na odwrót, czas dostępu może być bardzo krótki, jeś
li wczorajsza informacja /lub z ubiegłej nocy, albo z ostat
niej godziny/ jest praktycznie biorąc tak samo dobra jak przed chv/ilą odczytana.
Współwymienność także posiada duże znaczenie dla powiązań między zbiorami. Jest to kij, który posiada dwa końce: współ
wymienność zbiorów między systemami wielodostępnymi, oraz współwymienność zbiorów między systemem przetwarzania partio
wego a systemem wielodostępnym. Pierwszy problem posiada duże znaczenie gdy się przechodzi z zewnętrznych usług systemu wie
lodostępnego do systemu wewnętrznego, lub może on się wysunąć na czoło o ile korzysta się z kilku usług wielodostępnych.
Zbiory wytworzone przez system IBM $60 są po prostu niezrozu
miałe dla komputera PDP—10 i na odwrót. Czytelnik może tu pod
stawić swoich ulubionych produc.entów oraz numery modeli sprzę
tu. Drugi problem staje się oczywisty gdy zbiory wytworzone
przez system wielodostępny zostają poddane przetwarzaniu poś
redniemu /off-line/ w systemie przetwarzania partiowego, albo gdy system przetwarzania partiowego tworzy zbiory, które będą używane w systemie wielodostępnym. 0 ile nie będą przedsięwzię
te odpowiednie środki ostrożności w trakcie projektowania, to dwa różne programy wykonawcze, nawet na tym samym komputerze, zazwyczaj będą oczekiwały różnych struktur i formatów zbiorów.
0 ile stosuje się w tym przypadku różne komputery, to wówczas problem ten się zwielokrotnia.
Jeśli zbiory wytworzone w jednym systemie nie mogą być od
czytane z pamięci lub ze środka łączności przez drugi system, to w takim przypadku chodzi o problem współwymienność! /zgod
ności/ sprzętu a nie oprogramowania. Dla celu pośredniego tłu
maczenia może być potrzebny specjalny procesor. Wszystkie inne przypadki są wariantami na temat obcych formatów. Można je roz
wiązać przez wprowadzenie "wstępnych procesorów zbiorów" /lub
"procesorów końcowych"/, które przeformowują początkową struk
turę zbioru na strukturę rozpoznawalną przez system docelowy, lub można je rozwiązać przez modyfikowanie /jeśli nie zaprojek
towanie/ każdego systemu w taki sposób, by wykrywał on i akcep
tował format zbiorów z każdego innego systemu, lub przez za
projektowanie od samego początku "uniwersalnej" struktury zbio
rów, w miarę konieczności z dobrze określonymi specjalnymi wa
riantami. Omawiane zadanie może być trudne, lecz nie do nie- przezwyciężenia.
Ostatnim aspektem tych rozważań na temat powiązań między zbiorami jest problem płaszczyzny styku /interface/ między sie
ciami komputerów. Łączność między bazami danych a komputerami
- 152
-jest żywotnym składnikiem każdej sieci systemu informacji. Pew
na liczba takich sieci znajduje się w opracowaniu, ponieważ kilka organizacji przedłożyło koncepcję publicznej sieci kompu
terowej. Agencja Przodujących Projektów Badawczych /ARPA/ two
rzy sprzężoną sieć kilku systemów wielodostępnych, którą wspie
rała finansowo /patrz Tablica 12/. Sieć ta będzie mieszaniną różnorodnych, dużych i małych»maszyn drugiej i trzeciej genera
cji, reprezentujących kilku producentów. Computer Sciences Corporation buduje nieco podobną ogólnonarodową sieć, lecz uży
wa do tego celu jednolitych komputerów regionalnych /UNIYAC 1108/. Wydawnictwa gospodarcze oraz publikacje różnych przedsię
biorstw informują nas regularnie o innych bliskich realizacji sieciach komputerów. Piśmiennictwo jest już od dawna lekceważo
ne, lecz stanie się nieczytelnym gryzmołem, o ile nie zostaną przedsięwzięte pewne kroki celem zapewnienia normalizacji. Nie wystarcza przyjęcie kodu ASCII /American Standard Code for In
formation Interchange/, prędzej czy później muszą zostać usta
nowione normy dla formatów danych i komunikatów celem współpra
cy między komputerami, oraz musi zostać ustanowiony protokół łączności. Użytkownik powinien być odizolowany od tych wewnę
trznych problemów i nie należy mu narzucać żadnych warunków w tym względzie.
4. Regeneracja
"Regeneracja" w tutaj użytym znaczeniu jest zdolnością od
tworzenia systemu do stanu działania po pewnym zdarzeniu, któ
re spowodowało częściowe jego niedziałanie. Zakres takiego przypadku może sięgać od błędu parzystości do awarii systemu, i w wyniku może powstać stan wyrażający się bądź to małą
przer-wą w obsłudze bądź nawet katastrofą. Zamierzeniem zdolności regeneracji danych jest w każdym przypadku uchronienie użyt
kownika przed utratą informacji. /Wprowadziliśmy ten przed
miot przy omawianiu niezawodności i odłożyliśmy pełniejsze je
go omówienie do niniejszego odcinka celem przedstawienia go w kontekście zarządzania danymi/.
Klasycznym przykładem tego problemu jest użytkownik, który spędził długie godziny przy swoim terminalu tworząc zbiór dla dalszego wykorzystania i gdy zbliżał się do zakończenia sys
tem uległ awarii. Gdy system doprowadzono do porządku, zbiór użytkownika tajemniczo zniknął. Chociaż taka sytuacja zdarza się w obecnych systemach znacznie rzadziej, jest to godne za
pamiętania doświadczenie dla wielu użytkowników i z pewnością przedstawia potrzebę istnienia zdolności odpowiedniej regene
racji.
Jak już wcześniej to omawiano, współczesne systemy wielo
dostępne posiadają pewną formę zdolności restartu. Technika
’'fotografowania” stanu systemu wydaje się być stosunkowo sku
teczna dla odtwarzania programów i ograniczonej ilości danych, lecz system zarządzania danymi nie może w sposób ciągły two
rzyć kopii zbiorów, gdy zachodzą w nich zmiany, dla przypusz
czalnego późniejszego wykorzystania. Ostatnio stała się popu
larna technika zwana kopiowaniem przyrostów w zbiorach.
Kopiuje się okresowo tylko te części zbiorów, które się zmie
niły od momentu ostatniej "fotografii” systemu. Powstała teo
ria, która twierdzi iż zbiór może zostać odtworzony po katas
trofie przez wzięcie jego starszej kopii i kolejne nanoszenie
154
-zmian w rekordach, w ten sposób rekonstruując jego genealogię.
Krytycznym punktem w tej metodzie jest to, że sam system za- rządania danymi oraz jego rekordy we wszystkich zbiorach po
winny przetrwać katastrofę nieuszkodzone, by mogły przystąpić do zadania odtwarzania uszkodzonych zbiorów.
Innym ważnym aspektem zdolności regeneracji systemu jest koordynacja restartu naruszonych programów i zregenerowanych zbiorów. Na przykład jeśli kompilator FORTRAN został przerwa
ny przez awarię, to jego zbiór wejściowy musi zostać "przesu
nięty” do ostatniego znanego prawidłowego badanego przez kom
pilator miejsca a przebieg logiki kompilatora musi restarto
wać w odpowiadającym temu miejscu momencie czasu. Podobne wy
magania mają miejsce w przypadku zbiorów wyjściowych dla wy- listowania i dla wytworzonych kodów, jak również dla prowizo
rycznych zbiorów tablic, etykiet itp. W obliczu takich kompli
kacji, oczywiście z punktu widzenia projektanta systemu, naj
łatwiejszą techniką regeneracji jest żądać, by każdy użytkow
nik rozpoczynał swoją pracę od punktu wyjściowego, skreślając zaszłości.
5. Utrzymanie
Problem utrzymania zbiorów polega w zasadzie na usuwaniu z nich zdezaktualizowanych danych. Większość systemów dokonuje tego przez żądanie od użytkowników określenia czasu "życia”
ich zbiorów /"nie niszczyć zbioru do takiej a takiej daty"/, lub zapisując częstotliwość korzystania /zbiory "często" uży
wane pozostają czynne, podczas gdy zbiory najmniej używane, o ile nie są zabezpieczone w jakiś inny sposób, mają tendencję
do "wypadania" z systemu/, albo przez połączenie obu tych me
tod. Użytkownicy, którzy są ludźmi i cierpią na omylną pamięć, mogą doznać przykrego zawodu, gdy żądają dostępu do zbioru, który, ku ich przerażeniu, został wczoraj wymazany z systemu /zgodnie z harmonogramem, jeśli się patrzy na to od strony sy
stemu/. W systemach bardziej uwzględniających taką ewentual
ność obecnie praktykuje się wcześniejsze komunikowanie właści
cielom zbiorów terminu wymazania, tak że użytkownik może żądać, o ile to konieczne, wstrzymania wyroku dla jego zbioru.
Proces kasacji jest złem koniecznym, ponieważ środki pamię
ci o skończonej pojemności nie mogą pomieścić stale rosnącej liczby zbiorów. Stare zbiory, które już nie są użyteczne, mu
szą ustąpić miejsca nowym zbiorom. W typowych przypadkach, stare zbiory, które muszą być zatrzymane z powodu ich wartości historycznej, rezydują w archiwum na taśmach magnetycznych.
W każdym przypadku problem utrzymania zbiorów wydaje się być mniej palący niż inne aspekty zarządzania danymi, chociaż na
wet użytkownicy od czasu ¿0 czasu bezpośrednio się z nim sty
kają. Problem ten jest co najmniej częściowo rozwiązany.
Obecnie powinno być widoczne, że to co uważaliśmy jako wy
dzielone aspekty zarządzania danymi, w rzeczywistości się na
kłada na siebie, formując zbiór powiązanych ze sobą problemów, li ciągu najbliższych kilku lat waga zarządzania danymi znacz
nie wzrośnie, jako problemu samego dla siebie, a nie jako częś
ci systemów wielodostępnych, jak tylko komputery będą stosowa
ne do problemów cechujących się stale rosnącą pojemnością da
ne do problemów cechujących się stale rosnącą pojemnością da