CS216367B1 - Pamět s výběre» podle obsahu, zejména pro adresář databázového procesoru - Google Patents
Pamět s výběre» podle obsahu, zejména pro adresář databázového procesoru Download PDFInfo
- Publication number
- CS216367B1 CS216367B1 CS479480A CS479480A CS216367B1 CS 216367 B1 CS216367 B1 CS 216367B1 CS 479480 A CS479480 A CS 479480A CS 479480 A CS479480 A CS 479480A CS 216367 B1 CS216367 B1 CS 216367B1
- Authority
- CS
- Czechoslovakia
- Prior art keywords
- memory
- database
- inputs
- directory
- output
- Prior art date
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
číslicové počítače, specializované procesory pro obsluhu datové báze. Výběr číslicových informací podle obsahu (podle klíče). Uspořádání obvodů paměti pro uložení adresáře datové báze, umožňujících rychlé vyhledávání podle předem daného klíče. Předpokládá se využití paaětovýeh prvků sériové povahy, např. magnetických bublin, Pamět je rozdělena de řady modulů, z niohi každý jo vybaven vlastním jednoduchým porovnávacím procesorem. Porovnávání probíhá vo věech modulech současně. Zpracování dat, vyhledávání informací, datové báze.
Description
(54) Pamět s výběre» podle obsahu, zejména pro adresář databázového procesoru číslicové počítače, specializované procesory pro obsluhu datové báze. Výběr číslicových informací podle obsahu (podle klíče). Uspořádání obvodů paměti pro uložení adresáře datové báze, umožňujících rychlé vyhledávání podle předem daného klíče. Předpokládá se využití paaětovýeh prvků sériové povahy, např. magnetických bublin, Pamět je rozdělena de řady modulů, z niohi každý jo vybaven vlastním jednoduchým porovnávacím procesorem. Porovnávání probíhá vo věech modulech současně. Zpracování dat, vyhledávání informací, datové báze.
216 367
Tento vynález ee týká penáti e výběrem podle obsahu, zejména pre adresář databázovéX.
ho procesoru, tody spedlálníoh procesorů, pro řízení a obsluhu datových bází.
Z literatury jsou známa zařízení, zvaná databázový prooesor, někdy také baok-ondV procesor, určená pro řízení a obsluhu datové báze. Předností těchto zařízení jo podstatné zrychlení operací a datovou bází, možnost Interakčního čili dialogového způsobu styku uživatele s datovou bází, rozěířoní funkcí datové báze a v neposlední řadě 1 radikální zjednodušení programových prostředků pro řízení a obsluhu datové báze ve srovnání s dnes běžným způsobem, kdy je datová báze uložena ve vnějěí paměti číslicového počítače a řízení a obsluha datové báze ee uskutečňuje pouze speciálními programovými prostředky tohots počítače.
Základní operací datových bází je vyhledávání podle obsahu. Protože asociativní paO aěti pro požadovaný rozsah datové báze, zpravidla více než 10 slabik, nejsou ekonomicky realizovatelné, řeěí ae výběr podle obsahu kombinací normální paměti s adresovým výběrem, zpravidla sériového typu, a porovnávacího obvodu ěi procesoru. Aby se i při sériovém porovnávání splnil požadavek doby odezvy, který bývá u interakčního režimu kolem 2 s, sestaví se pamět datové báze z řady pamětových modulů, každý s vlastním porovnávacím obvodem, jež pracují současně, takže porovnání probíhá ve všech pamětových modulech paralelně.
V případě nižšíoh požadavků na rozsah datové báze, například kolem 10 slabik, je možno uvažovat o použití právě zmíněného uspořádání pro uložení datové báze. Databázový procesor so tedy v tomto případě skládá z řady pamětových modulů, každý je vybaven vlastním porovnávacím obvodem, a z jednoho nebo několika procesorů, které obstarávají ostatní funv kos databázového procesoru, to jest styk s počítačem, k němuž je databázový procesor připojen, zpracování odezvy datové báze, to jest vyhledaných informací, řízení databázového procesoru, u datosýoh bází společných pro několik uživatelů také ochrana uložených informací před přístupem neoprávněného uživatele a podobně. Jako pamětové moduly zde mohou sloužit polovodičové integrované prvky CCD, magnetické bubliny neb· i diskové paměti s plným počtem hlav, i když první dva způsoby mají výhodu. Že nepracují a mechanickým pohybem, jsou to tak zvané prvky pevné fáze.
Funkci tohoto databázového procesoru můžeme zjednodušeně popsat takto* Z číslicového počítače přicházejí požadavky na činnost databázového procesoru. Je-li požadovanou funkcí například dotaz na obsah datové báze, tento požadavek obsahuje jednak označení funkce, jednak klíče čili klíčová slova, podle kterýoh se mi žádaná informace v datové bázi vyhledat. Tyto klíče se předají do porovnávacích procesorů a pak es spustí vlastní vyhledávání. Všechny pamětové moduly začnou vysílat uložené informace do evýoh porovnávaoích procesorů, kdo proběhne jejioh sériové porovnání s danými klíči. Informace, jež obsahují dané klíče, so přesunou do pomocné paměti, odkud se - po případném zpracování, například seřazení vyšlou do počítače.
Jak je uvedeno výše, požadovaný rozsah datové báze však zpravidla značně přesahuje γ mez 10 slabik, takže zmíněné jednoduché uspořádání by pro značné náklady nebylo únosné.
V tom případě jo třoba volit složitější řešení s použitím adresáře. Popsaná kombinace s paralelními pasátovými moduly a porovnávacími obvody ae použije pro uložení adresáře. Účelem adresáře je na základě daných klíčů odvodit fysická umístění žádaných informací v datová básl, která jo v tomto případě uložena v disková paměti so svazky disků a s přestavovanými. hlavami. U táto disková paměti je další skupina porovnávacích obvodů, umožňujících i zdo výběr podle obsahu* Počet jednotek diskové paměti se volí takový, aby odpovídal požadovanému rossahu datové báze. čím větší jé tento rozsah, tím větší musí být i adrosář, i když rozsah adresáře závisí podstatně i na dalších faktorech, zejména na způsobu organisaco datové báze* Udává se, že rozsah adresáře obnáší asi 1 % rozsahu datová báze.
Funkci tohoto složitějšího uspořádání, jež bychom mohli označit jako dvouúrovňová, můžeme popsat takto· Z číslicováhe počítadla opět přicházejí požadavky na činnost databázového procesoru, například při dotazu v podobě označeni požadované funkoo a příslušných klíčů. Klíče se předají do obou skupin porovnávacích procesorů, jak u adresáře, tak u disková paměti. Nyní proběhne pracovní cyklus adresáře, kdo so na základě^danýeh. klíčů operací výběru podle obsahu vyhledá označení jednotky disková paměti a válce, což je skupina stop na svazku disků, přístupná při jedná poleze hlav, kdo Jsou požadovaná informace uloženy. Potom se jednak nastaví hlavy na označený váleo, jednak se určená disková jednotka propojí s druhou skupinou porovnávacích procesorů. Pak začne vlastní vyhledávání, kdy informace z vybraného válce procházejí paralelně do skupiny porovnávacích procesorů a porovnávají so s danými klíči. Informaoo jež obsahují tyto klíče, se převedou dó pomocná paměti, odkud oo - po případném zpracování - vyšlou do počítače.
Tento popis činnosti jo ovšem značně zjednodušený, nebot neuvažuje složitější případy, že se dotaz týká současně několika váloů nebo i několika diskových jednotek nebo žo kritérium výběru nůže být složitá funkce přítomnosti a nepřítomnosti klíčů s podobně. Pro vysvětlení účelu adresáře jo však tento popis postačující.
Podstatou paměti s výběrem podle obsahu, zejmána pro adresář databázového procesoru podle vynálezu je konkrétní způsob uspořádání adresáře databázového procesoru) tento adresář sestává z řady pantátových modulů sériového typu s výběrem informaoo po blocích, realizovaných například magnetickými bublinovými prvky, přičemž výstup každého z těchto pamětových modulů je samostatně připojen na první vstup jednoho z porovnávaoíoh procesorů, zatímco druhé vstupy všech těchto porovnávacích procesorů jsou společně připojeny na výstup dotazovaného registru a třetí vstupy těchto procesorů jsou společně připojeny na výstup maskovacího negistrm a na výstup každého tohoto porovnávaoího proeeseru jo připojen vstup paměti shody, roulizovamá na příklad jako klopný obvod, pro registraci shody klíčo s obsahem příslušného pamětového modulu.
Databázový procesor β adresářem podle vynálezu umožní provádění operací datové báze s mnohokrát vyšším výkonem a vyšší rychlostí, to jest s krátkou dobou odezvy, než jak to dovolují dnešní datové báze e obsluhou pouze programovými prostředky. I u rozsáhlých datových bází bude možný interakční styk uživatele s datovou bází.
Podstata vynálezu jo zřejmá z následujícího popisu příkladů provedení s odkazy na připojená obrázky.
Obr. 1 znázorňuje příklad převedení paměti 0 výběrem podle obsahu podle vynálezu.
Na obr. 2 jo přiklad uspořádání informací v adresáři.
Obr. 3 znázorňuje uspořádání vícebitové paměti shody.
Na obr. 4 je znázorněno provedení paměti s výběrem podle obsahu podlé vynálezu s blokem registrů na výstupu.
Na obr. 5 je příklad paměťového modulu složeného z několika paměťových prvků, praouj íoíoh a Sašovým proložením.
Na obr. 1 je naznaěona paměť X a výběrem informací po blocích, sestávající z řady paměťových modulů 22 až ln sériového typu, na příklad s magnetickými bublinovými doménami. Každému paměťovému modulu 11 až ln je přidružen jeden z porovnávacích procesorů 21 až 2n se třemi signálními vstupy. Na první vstup je přiveden výstup paměťového modulu. Druhé vstupy všeoh porovnávacích 21 až 2n jsou vzájemně spojeny a připojeny na výstup dotazovaného registru 31 a obdobně jeou vzájemně spojeny třetí vstupy věech porovnávacích procesorů £2 až 2]i a připojeny na výstup maskovacího registru 3.2. Na výstup každého z porovnávacích procesorů 21 až 2n je připojen samostatný paměťový obvod, tak zvaná paměť shody 51 až £b· Součástí naznačené paměti s výběrem podle obsahu jsou ještě další obvody pro generování a rozvod posouvaoích impulsů, pro záznam informací do paměti, pro řízení činnosti a synchronizaci jednotlivých částí. Tyto obvody nesouvisejí e podstatou vynálezu a pro přehlednost nejsou na obrázcích naznačeny.
Obrázek 2 znázorňuje příklad uspořádání adresáře pro předpokládaný relační datový model datové báze. Každá řádka představuje jeden blok adresáře. První pole každého bloku jo vyhraženo pro klíč K, další dvě pele pak obsahují skupinu hodnota klíče A a číslo fiR relace. Tyto dvojice polí se pak opakují s různými hodnotami klíče. Význam těohto veličin bude zřejmý z podrobnějšího popisu funkoe.
Pokud je potřeba pro jeden klíč K počítat s větším počtem hodnot A, je možné přidělit jednomu klíči několik bloků. Naznačený příklad pracuje s pevným formátem polí uvnitř bloků, ale je možno uvažovat i proměnný formát, jestliže by například na začátku každého bloku bylo předsunuto záhlaví, definující formát jednotlivých polí uvnitř tohoto bloku.
S odkazy na obrázky 1 a 2 můžeme nyní popsat činnost paměti s výběrem podle obsehu podle tohoto vynálezu» Na začátku operaoa adresáře se daný klíč, případně i jeho hodnota, vloží do dotazovaného registru 31 a odpovídající maska do maskovacího registru 22. Maska má například tvar dvojkového čísla, jehož jedničkové číslice určují řády (bity), v nichž porovnávaoí procesory 21 až 2n mají porovnávat daný klíč a jeho hodnotu s obsahem adresáře. Při pevném formátu může být maskovací registr 22, nehražen tiepernějším programovaná generátorem masky.
Po naplnění dotazovaného registru 31 a maskovacího registru 32 se spustí vlastní vyhledávání. Z výstupu všech paměťových modulů 11 až ln začnou procházet informace v sériové podobě do porovnávacích procesorů 21 až 2n. kamž současně přicházejí i obsahy obou registrů 31 a 32. V případě, ie se zjistí shoda daného klíčového slova klíče a jeho hodnoty, a obsahem adresáře, dojde k překlápění příslušné paměti 22 Žfi shody. Porovnávacími pre. 4 oesory 21 až 2n projdou postupně všechny bloky uložené v paraětových modulech 11 až ln.
Po skončení celého vyhledávacího cyklu označují překlopené paměti 51 až 5n shody ty paraěibvé moduly 11 až ia, v nichž byla zjištěna shoda. T další® pracovním cyklu by nyní byle možno přečíst požadovaná čísla ČR těch relací, jež obsahují daná klíčová sleva.
Tento způsob by ovšem zpravidla vyžadoval druhé prohledání celé paraěti, což je příliš zdlouhavé. Z toho důvodu je výhodnější realizovat každou pamět 51 až 5n shody jako pamět o kapacitě |xl bit, kde g je počet bloků informace v jednom pamětové® modulu 11 až ln s tím, že adresování věech těchto pamětí se řídí současně, například podle obr. 3, kde všechny paměti shody 51 až 5,n mají společný čítač X, jehož výstupy jaou spojeny s adresovými vstupy všeoh pamětí 51 až 5n shody. Počet stavů čítače odpovídá g, to jest kapacitě pamětí 51 až 5n shody v bitech. Na začátku porovnání se čítač nastaví do stavu 1, čili výstupy porovnávacích procesorů 21 až 2n jsou spojeny s prvními pamětovými prvky pamětí 51 až 5n shody. Po prohledání prvního bloku adresáře se stav čítače 7 změní o jedničku, takže výstupy porovnávacích procesorů 21 až 2n přejdou na druhé pamětové prvky pamětí 51 až 5n shody a tak dále. Podle toho, které bity pamětí 51 až 5n shody budou po prohledání v překlopeném stavu, vyvolá se přečtení čísel ČR relací jen z příslušných bloků pamětových. modulů 11 až ia.
Radikálnější zkrácení doby potřebné k prohledání adresáře a stanovení čísel ČR relací umožňuje udokonalené uspořádání podle obr, 4. Zde je opět použito jednobitových pamětí 51 až 5n shody, z nichž každá ovládá jedno z hradel 41 až 4n. Druhý vstup každého z těchto hradel 41 až 4a je připojen na výstup příslušného pamětového modulu 11 až ln. Výstup tohoto hradla je spojen ee vstupem jednoho z registrů 6l až 6n. Když se v průběhu porovnání zjistí shoda daného klíčového slova s příslušným obsahem adresáře, překlopí se paaět 51 až 5n shody a otevře své hradle 41 až 4n. takže číslo ČR relace, jež bezprostředně následuje za hodnotou klíče, viz obr. 2, se přenese do registru 6l až 6n. Na konoi tohoto přenosu se pamět 51 až 5n shody vynuluje a pokračuje porovnávání s další hodnotou v adresáři. Kapacita registrů 6l až 6n musí ovšem odpovídat možnému počtu čísel ČR relací v jednom parnětovém modulu. Protože se čísla ČR relací uvnitř jednoho bloku budou většinou opakovat, je možno toto uspořádání dále zdokonalit tak, že by porovnávací procesory 21 až 2n obsahovaly registr na uložení posledního čísla ČŘ a obvod pro porovnání čísel ČR rolací s tím, že by se přenos do registrů 6l až ·η provedl jen tehdy, pokud by se další číslo ČR relace lišilo od předešlého.
Nevýhodou magnetických bublinových prvků je poměrně nízká přenosová rychlost řádu 100 až 150 kbitů/s. Z hlediska použití jako adresář databázového procesoru je i velikost bloku, zpravidla kolem 1 K bitů poměrně malé. Tyto nevýhody lze odstranit realizací každého z pamětových modulů ϋ až Xg několika pamětovými prvky, například dvěma, třemi ..., pracujícími v časovém proložení, takže přibližně za dobu, potřebnou pro výstup jednoho bloku z jednoho prvku se nyní prohledá dvakrát, případně třikrát a tak dále větší část adresáře. K tonu účelu je jen třeba, aby místo jednoho generátoru posóuvaoíoh impulsů pro pamětové prvky byly k disposici dva, tři ..., tyto gnerátory, pracující s fázovým posuvem odpovídajícím počtu pamětových prvků v jednom pamětovám modulu 11 až ln.
Příklad tohoto uspořádání je naznačen na obr. 5, kde je znázorněn jeden pamětový medul XX obsahující čtyři parně tové prvky XXX, H2, H2 a 114. každý z nioh je spojen s jedním z generátorů βχ, 82., βχ, 8£ posouvaoích impuleů, výstupy těchto generátorů jsou vzájemně posunuty o 2Z/g, kde g je počet generátorů a taká pamětovýoh prvků v jednom modulu
XX až Ja· tedy o #?2.
Všechna dosud zmíněná uspořádání podle vynálezu vyžadují, aby se pro každý daný klíč (atribut) prohledal celý adresář. Existuje však ještě další možnost zdokonalení spočívající v tom, že se z klíče tak zvanou rozptylovou funkcí, hash-function, což může být některá jednoduchá aritmetická nebo logická operace, odvodí hodnota, jež se použije jako adresa výměru bloků adresáře. Tento způsob umožňuje, že pro jeden daný klíč stačí ve většině případů prohledat jen po jednom bloku v každém pamětovém modulu 11 až ia, čímž se doba operaoe adresáře, to jest nalezení čísel ČB relaoí pro daný klíč, podstatně zkrátí.
Získané čísle SR relace ss v dalším použije pro vlastní operaci datové báze, například vyhledání záznamů, vět, jež obsahují daná klíčová alova, atributy a jejich hodnoty, v diskové paměti.
Součástí čísel ČR relací mohou být dále tak zvané ochranné parametry, jež umožní kontrolovat, zda daný uživatel je oprávněn požadovat určitou informaci, provádět změny v obsahu datové báze a podobně, oož je v systémech, určených pro několik uživatelů, nutné.
Claims (4)
- p Se duí i v yjí i e zo1. Pamět e výběrem podle obsahu zejména pro adresář databázového procesoru, vyznačující se tím, žo sestává z řady pamětovýoh modulů (ll až ln) sériového typu s výběrem informace po bloeích, tvořených například magnetickými bublinovými prvky, přičemž výstup každého z těchto pamětovýoh modulů (ll až ln) je samostatně připojen na první vstup jednoho z porovnávacích procesorů (21 až 2n), zatímco druhé vstupy vžech těchto porovnávacích procesorů (21 až 2n) jaou společně připojeny na výstup dotazovaného registru (31) a jejioh třetí vstupy jsou společně připojeny na výstup maskovacího registru (32), přičemž výstupy těchto porovnávacích procesorů (21 až 2n) jsou jednotlivě připojeny na vstupy pamětí (51 až 5n) shody.
- 2. Pamět s výběrem podle obsahu podle bodu 1, vyznačující se tím, že na výstup každé paměti (51 až 5n) shody, tvořené jednobitovým paaětovým prvkem, je připojeno jedno ze skupiny hradel (41 až 4n), druhé vstupy těchto hradel (41 až 4n) jsou jednotlivě spojeny s výstupy příslušných pamětovýoh modulů (ll až ln) a výstup každého z těchto hradel (41 až 4n) je spojen se samostatným registrem (6l až 6n) pro uložení vyhledaných informací.
- 3. Pamět s výběrem podle obsahu podle bodu 1, vyznačující se tím, že paměti (51 až 5n) shody jsou tvořeny pamětovými prvky s organizací | x 1 bit, kde g je počet bloků informace, uložených v jednom pamětovém modulu (ll až ln), přičemž adresové vstupy těohto pamětovýoh prvků jsou společně spojeny s výstupy pomocného čítače (7) bloků vybírá3ných z paměťových modulů (ll až ln).
- 4. Paměť β výběrem podle obsahu podle bodu 1 až 3, vyznačující se tím, že každý z paaěťo vých modulů (ll až ln) je tvořen skupinou nejméaě dvou paměťových prvků (lil, 112 ... sériového typu, jejichž posouvaeí vstupy jsou samostatně spojeny e výstupy generátorů (81, 82 ...) posouvaoích impulsů na výstupech generátorů (81, 82 ...) odpovídá počtu paměťových prvků (lil, 112 ..,) uvnitř paměťových modulů (ll až ln).
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CS479480A CS216367B1 (cs) | 1980-07-04 | 1980-07-04 | Pamět s výběre» podle obsahu, zejména pro adresář databázového procesoru |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CS479480A CS216367B1 (cs) | 1980-07-04 | 1980-07-04 | Pamět s výběre» podle obsahu, zejména pro adresář databázového procesoru |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CS216367B1 true CS216367B1 (cs) | 1982-10-29 |
Family
ID=5391495
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CS479480A CS216367B1 (cs) | 1980-07-04 | 1980-07-04 | Pamět s výběre» podle obsahu, zejména pro adresář databázového procesoru |
Country Status (1)
| Country | Link |
|---|---|
| CS (1) | CS216367B1 (cs) |
-
1980
- 1980-07-04 CS CS479480A patent/CS216367B1/cs unknown
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5758148A (en) | System and method for searching a data base using a content-searchable memory | |
| Kohonen | Logic Principles of Content-Addressable Memories | |
| EP0048056B1 (en) | Device for the sequential processing of data records | |
| EP0899743B1 (en) | Content addressable memory system | |
| US4064489A (en) | Apparatus for searching compressed data file | |
| JP2511435B2 (ja) | ル−ルベ−スのデ−タ検索方法及び装置 | |
| US20010052062A1 (en) | Parallel computer within dynamic random access memory | |
| US4283771A (en) | On-chip bubble domain relational data base system | |
| US4131947A (en) | Random access digital sorter | |
| US4796222A (en) | Memory structure for nonsequential storage of block bytes in multi-bit chips | |
| Robinson | Pattern-addressable memory | |
| US4044336A (en) | File searching system with variable record boundaries | |
| US4992979A (en) | Memory structure for nonsequential storage of block bytes in multi bit chips | |
| US3548385A (en) | Adaptive information retrieval system | |
| US3984821A (en) | Associative memory using recirculatory shift register cells | |
| CS216367B1 (cs) | Pamět s výběre» podle obsahu, zejména pro adresář databázového procesoru | |
| EP0232376B1 (en) | Circulating context addressable memory | |
| TW200832408A (en) | Hierarchical search line with internal storage irrelevant entry control | |
| US3714634A (en) | Method and system for sorting without comparator | |
| JPS6127771B2 (cs) | ||
| US7577784B1 (en) | Full-ternary content addressable memory (CAM) configurable for pseudo-ternary operation | |
| US20220138338A1 (en) | Data replacement apparatus, data replacement method, and program | |
| RU2037215C1 (ru) | Запоминающее устройство | |
| Ozkarahan et al. | On-the-fly and background data filtering system for database architectures | |
| JPH1139344A (ja) | 2次元配列コードを用いた文字列検索方法 |