NO331821B1 - Organisering av data i en database - Google Patents
Organisering av data i en database Download PDFInfo
- Publication number
- NO331821B1 NO331821B1 NO20033790A NO20033790A NO331821B1 NO 331821 B1 NO331821 B1 NO 331821B1 NO 20033790 A NO20033790 A NO 20033790A NO 20033790 A NO20033790 A NO 20033790A NO 331821 B1 NO331821 B1 NO 331821B1
- Authority
- NO
- Norway
- Prior art keywords
- end set
- level
- end sets
- decision
- sets
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 2
- 238000013508 migration Methods 0.000 claims description 2
- 230000005012 migration Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 6
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000013479 data entry Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99935—Query augmenting and refining, e.g. inexact access
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
En database er tilveiebragt ved hvilke sluttsett (20, 22, 24, 26, 28 og 30) er delt inn i hierarkiske serier av nivåer (nivå 1, nivå 2, nivå 3). Data blir lagt til et sluttsett ved det første nivået (nivå 1) inntil tiden hvor sluttsettet er fullt. Data blir deretter flyttet fra sluttsettet (20) til dens underordnede sluttsett (24, 26) for derved å redusere mengden av disktilgang nødvendig for å legge til data til databasen siden multiple oppføringer blir flyttet ved relativt få disktilgangsoperasjoner.
Description
Den foreliggende oppfinnelsen omhandler en metode for organisering av data i en database, og til en databaseimplementering av en slik metode.
Typiske databaser, enten de er av typen beskrevet i søkerens tilsvarende egne britiske patentsøknad GB 0029238.3, eller om de er av andre kjente typer, slik som "B-tree" struktur har en avgjørelsesgraf (eng.: decision graph) eller annen indeks som peker mot sluttsettet (eng.: conclusion set) som lagrer data som matcher søkekriteriet. I tillegg og/eller alternativt kan sluttsettet lagre pekere som peker til lokasjonen til dataene som matcher søkenøkkelen.
I enhver database av en rimelig størrelse, blir sluttsettet lagret på massemedia, som for tiden typisk betyr harddisker. Hardiskinnretninger har en tendens til å være betraktelig tregere enn halvlederminnet og følgelig kan databaseytelsen være et kompromiss ved å måtte utføre disse innmatnings/utmatnings (I/O) operasjonene på disse masselagringsinnretningene. Selv ved en minimal indeksoperasjon (eng.: index overhead) må en database typisk utføre to I/O-operasjoner som del av lese, modifisering og skrivesyklusen for å sette inn data i indeksen og sluttsettet.
I publikasjon "Jagadish H V et al. "Incremental organization for data recording and warehousing" Proceedings of VLDB 97: 23RD International Conference on very large Databases, Athen Greece 26-19 August 1997 (1997.08.26)-(1997.08.29), pages 16-25, Morgan Kaufmann Publishers, San Francisco, CA USA" beskrives et system og en metode for organisering av datalagring i en database, hvor sluttsettet er arrangert i en hierarkisk struktur.
Den foreliggende oppfinnelsen har en annen tilnærming som kjennetegners ved å fordele sluttsettene gjennom hele avgjørelsetreet kan grenfaktoren (dvs. antallet sluttsett generert i neste nivå i hierarkiet når innholdet i et sluttsett blir flyttet) enkelt bli valgt ved å velge graden ved hvilket sluttsett blir "fordelt" gjennom avgjørelsesgrafen. Det vil si "mellomliggende avgjørelsessatt avstand" av avgjørelsetrehierarkiet (eller antall hierarkinivåer uten sluttsett mellom de med sluttsett) kan enkelt bli valgt. Dette er det ikke mulig å gjøre med systemet beskrevet i den nevnte publikasjonen.
I henhold til et første aspekt ved den foreliggende oppfinnelsen, er det tilveiebragt en metode for organisering av data i en database, hvor sluttsettet for databasen er arrangert i en hierarkisk struktur, og hvor sluttsettet er arrangert slik at enheter blir ført inn i et valgt sluttsett ved første nivå av betydning inntil antall enheter når en terskelverdi for valgte sluttsett, og da vil innholdet av det valgte sluttsettet migrere til et underordnet sluttsett, for derved å tømme det valgte sluttsettet.
Det er dermed mulig å tilveiebringe en modifisert sluttsettstruktur som betraktelig reduserer antall av sluttsett som nærmest følger utgangen av avgjørelsesgrafen.
Videre er det også mulig å fordele sluttsettet innenfor avgjørelsesgrafen.
En tidligere kjent database vil ha et enkelt "lag" av sluttsett tilgjengelig fra avgjørelsesgrafen. Enhver ny enhet med data innført i sluttsettet vil trenge i det minste to I/O-operasjoner for å innbefatte de dataene (dersom dataene bare kan tilhøre ett sluttsett, og muligens flere I/O-operasjoner dersom de innførte dataene kan tilhøre flere enn ett sluttsett).
Ved å organisere sluttsettene i en hierarkisk struktur, kan antall sluttsett som er øyeblikkelig tilgjengelig fra avgjørelsesgrafen bli svært redusert. Det er faktisk mulig å beholde det mest betydningsfulle hierarkiet (dvs. toppnivået) sluttsettet i et raskt minne, slik som et halvlederminne. Dette er spesielt riktig i de utførelsene av oppfinnelsen hvor sluttsettet er fordelt gjennom avgjørelsesgrafen.
Ved å ha toppnivåsluttsettet i halvlederminnet, vil ingen I/O-kostnader bli påført når data føres inn i databasen. Det er dermed mulig å tilveiebringe en signifikant forbedring i databaseytelsen under nøkkel- og datainnføringsoperasjoner.
Fordelaktig vil høynivåsluttsettet effektivt hurtigbufre data inntil tiden hvor sluttsettet blir fullt eller antall av innføringer overstiger et forhåndsbestemt nivå. Sluttsettet blir deretter tømt ved å flytte dets innhold til underordnede sluttsett. Under flytteprosessen blir dataene sortert med hensyn til et søkekriterium, som er en søkenøkkel, slik at dataene kan forventes å være tilfeldig fordelt mellom øyeblikkelige underordnede sluttsett. Denne fyllings- og flytteprosessen kan bli repetert for et flertall av hierarkiske nivåer innenfor sluttsettstrukturen.
Flyttingen av data kan kreve, og krever faktisk ofte, overføring av data mellom ett eller flere sluttsett på en massemedielagringsenhet. Dermed blir disk lese og disk skrive operasjoner pådratt, men nå oppstår disse for sluttsettet som helhet i stedet for hver individuelle enhet innenfor sluttsettet og følgelig blir I/O kostnader pr. enhet redusert mye.
Fordelaktig blir, under nøkkelhenting eller sletting, det passende toppnivåsluttsett og hvert underordnede sluttsett hvilket avgjørelseskriterie matcher søkenøkkelen undersøkt for å se om matchende data er lagret der. Dermed vil databaseforespørseloperasjonen økes sammenlignet med tidligere kjente databaser, men dette er akseptabelt i noen databasestrukturer hvor antall av innsettinger er stort, men antall forespørsler er relativt lavt.
I de utførelsene av oppfinnelsen hvor sluttsettene blir fordelt gjennom avgjørelsesgrafen, kan mellomsluttsettavstanden bli vurdert for å hindre sluttsettene fra å oppstå for ofte.
Fordelaktig er en sluttsettavstandsparameter definert av et heltall Q. Q kan ha et tall større enn eller lik null. Dermed kan f.eks. en database bli laget hvor:
Q = 0: Et sluttsett kan bli dannet ved hver grennode.
Q = 1: Et sluttsett kan bli dannet ved enhver annen grennode.
Q = 2: Et sluttsett kan bli dannet ved hver andre grennode.
Og så videre.
Disse reglene kan bli opprettholdt gjennom avgjørelsesgrafen inntil et slutt Q-nivå av avgjørelsesgrafen blir nådd. I disse lagene blir reglene som omhandler den hierarkiske avstanden mellom sluttsettene ikke gjennomførbare og blir dermed ikke strengt anvendt.
I henhold til et annet aspekt ved den foreliggende oppfinnelsen, er det tilveiebragt en database hvor sluttsettet for databasen er arrangert i en hierarkisk struktur, og hvor sluttsettet er arrangert slik at enhetene blir innført inn i et valgt sluttsett ved et første nivå av betydning inntil antall av enheter der når en terskelverdi, og deretter blir innholdt av det valgte sluttsettet flyttet til underordnede sluttsett, for derved å tømme det valgte sluttsettet.
I henhold til et tredje aspekt ved den foreliggende oppfinnelsen er det tilveiebragt et datamaskinprogramprodukt for å sørge for at dataprosessoren opererer i henhold til det første aspektet ved den foreliggende oppfinnelsen.
Beskyttelsesomfanget til den foreliggende oppfinnelsen er definert av de selvstendige kravene 1 og , mens ytterligere aspekter ved oppfinnelsen fremkommer fra tilhørende uselvstendige krav.
Den foreliggende oppfinnelsen vil bli videre beskrevet ved hjelp av eksempler, med referanse til tilhørende tegninger hvor: Fig. 1 skjematisk illustrerer en database som har et sluttsett arrangert på en konvensjonell måte; Fig. 2 skjematisk illustrerer en database som har et sluttsett arrangert i henhold til den foreliggende oppfinnelsen; og Fig. 3 skjematisk illustrerer en database som har et sluttsett fordelt innenfor avgjørelsesgrafen, og utgjør en utførelse av den foreliggende oppfinnelsen.
Databasen vist i fig. 1 har en indeks 2 som omfatter avgjørelsesgrafen 4 og et flertall av sluttsett 6, 8, 10, 12 og 14. Hvert sluttsett blir nådd ved én, og kun én, sti gjennom avgjørelsesgrafen. Imidlertid peker hver avslutning da til relevante oppføringer innenfor et datalager 16.
Avgjørelsesgrafen 4 omfatter et flertall av avgjørelsesnoder hvor en søkenøkkel blir tilpasset ved avgjørelseskriteriet for å definere hvilken sti som bør bli tatt gjennom avgjørelsesgrafen. Den interne organisasjonen av taster innenfor avgjørelsesgrafen utgjør ikke en del av den foreliggende oppfinnelsen, og trenger derfor ikke å bli beskrevet i detalj her. Imidlertid kan tidligere kjente indekseringsstrukturer, slik som B-tree indeks bli utnyttet innenfor avgjørelsesgrafen.
I arrangementet vist i fig. 1, har alle avgjørelsessettene 6, 8, 10, 12 og 14 lik signifikans og derved er ingen sluttsett mer hierarkisk signifikant enn andre sluttsett og det kan derfor være mange hundre eller faktisk tusener av sluttsett.
I arrangementet vist i fig. 2 er sluttsettene arrangert i en hierarkisk struktur. I arrangementet illustrert finnes det tre nivåer av sluttsett hvor nivå 1 er det hierarkisk mest signifikante, og nivå 3 er det hierarkisk minst signifikante. Dermed er det i dette arrangementet bare en fjerdedel av antall nivå 1 sluttsett som det er nivå 3 sluttsett, og igjen i dette eksemplet markerer ett nivå 1 sluttsett oppføringen til seks andre sluttsett. Det er klart at ettersom antall av nivåer øker, vil for et gitt antall sluttsett ved det minst signifikante nivået antall første nivå sluttsett bli progressivt forminsket.
Anta nå at det er ønskelig å innføre en oppføring i databasen. Avgjørelsesgrafen blir navigert i henhold til innføringsnøkkelen for oppføringen, som vil være tilfelle i tidligere kjente databaser, for å finne hvilket sluttsett som oppføringen tilhører. I databasen illustrert i fig. 1, vil dette lede til et sluttsett som er unikt definert. Imidlertid i den foreliggende oppfinnelsen vil resultere dette i at et sluttsett 20 av et antall av nivå 1 sluttsett (hvor bare to 20 og 22 er vist for klarhets skyld) blir identifisert. Fordelaktig er nivå 1 sluttsettene 20 og 22 også inneholdt i fast minne, dvs. enten i fast massemedialagringsinnretning eller enda bedre i halvlederminnet, slik at tidsoperasjonen (eng.: time overhead) for innføring av datasluttsett 20 er mindre sammenlignet med tiden nødvendig for å innføre data i ett av sluttsettene 6, 8, 10, 12 og 14 til en konvensjonell database. Dersom nivå 1 sluttsettene 20 og 22 er holdt på et halvlederminne er det ingen I/O kostnader innbefattet i å skrive til dem. 1 løpet av tiden, ettersom mer og mer data blir innført i databasen, begynner sluttsettet 20 å fylles. Når antall oppføringer i sluttsettet når et forhåndsbestemt tall, korresponderende til at sluttsettet er fullt, blir oppføringene i sluttsettet 20 migrert ned til rett underliggende (eng.: subordinate) sluttsett 24 og 26 som tilhører til nivå 2 av den hierarkiske strukturen.
Avgjørelsen på hvilken av de nedre nivåsluttsettene 22 og 24 som mottar en oppføring fra nivå 1 sluttsettet 20 blir bestemt ved å fortsette navigasjonsreglene som eksisterer innenfor avgjørelsesgrafen 4. Dermed vil, f.eks. dersom avgjørelsesgrafen 4 har regler basert på individuelle bitverdier i økende rekkefølge av bittallet, regelen for å flytte data fra toppnivåsluttsettet til det andre nivåsluttsettet 24 og 26 bruke neste bit i søkenøkkelen for å bestemme hvilket av sluttsettene 24 eller 26 som skal være mottaker av hver enhet av data. Under flytteprosessen, blir sluttsettet 20 tømt.
Prosessen med å flytte fra det Nte nivået til et N+l nivå oppstår ved hvert nivå innenfor sluttsetthierarkiet ettersom hvert sluttsett der fylles opp. Dermed straks sluttsett 26 blir fullt, vil det i tur flytte sine data til dens underordnede sluttsett 28 og 30 på det tredje nivået av hierarkiet. I dette eksemplet er det tredje nivået det laveste nivået til hierarkiet og sluttsettene 28 og 30 er ikke i stand til å videreføre sine data ned til underordnede sluttsett. Imidlertid, dersom fire eller flere nivåer av sluttsett ble innbefattet innenfor denne hierarkiske strukturen, vil sluttsettene 28 og 30 kunne flytte sine data til deres egne underordnede sluttsett når de blir fulle. Det kan forventes at, ved å anta en tilfeldig fordeling av nøkler, at under flyttingen vil halvparten av oppføringene i sluttsettet 20 gå til sluttsettet 24 og den andre halvparten vil gå til sluttsettet 26. Denne prosessen blir repetert for hvert nivå av flytting slik at alle oppføringene i store trekk blir likt fordelt gjennom det nedre nivået av sluttsett. I/O kostnadene ved flytting kan bli illustrert i operasjonen med flytting av data fra sluttsettet 26 til sluttsettet 28 og 30.1 denne prosessen, må data leses fra sluttsettene 26, som trenger én lesing fra disk. Det nedre nivåsluttsett 28 og 30 må også ha sine data lest fra disk, noe som trenger to leseoperasjoner. Dataene fra sluttsettet 26 blir deretter sortert for å korrekt peke til destinasjonssettet 28 eller 30, oppføringene blir deretter oppdatert, og deretter blir dataene for de to nedre sluttsettene 28 og 30 skrevet tilbake til disken, noe som trenger to skriveoperasjoner. Deretter blir sluttsettet 26 tømt, noe som trenger én skriveoperasjon. Dette gir dermed en totalkostnad på seks input/output operasjoner pr. migrasjon. Imidlertid kan denne enkle flyttingen påvirke flere hundre av oppføringer. Det skal også bemerkes at flyttingen fra toppnivåsluttsettet 20 også vil bli mindre fordi den typisk er i minnet og følgelig må bare to lesinger til settene 24 og 26 og skrivingene til disse settene 24 og 26 bli utført.
Anta at den hierarkiske strukturen som er vist i fig. 2, hvor sluttsettet har S undernivåer (hvor S = 2 i dette tilfellet, S = (L-l) hvor L er antallet av nivåer), antall I/O operasjoner nødvendig for å flytte oppføringen til det nederste nivået er 6S. Imidlertid ettersom hver flytte operasjon flytter et helt (fullt) sluttsett som inneholder E oppføringer, så vil I/O kostnadene pr. oppføring være gitt ved:
derfor er E stor nok og/eller S liten nok slik at I/O kostnaden kan bli signifikant redusert sammenlignet med tidligere kjente systemer illustrert i fig. 1 som har en I/O kostnad på 2 pr. oppføring. Dermed vil sluttsettet ha hundre oppføringer, og sluttsettdybden på åtte, hvor I/O kostnaden pr. oppføring er 6 x 0,48.
Det skal bemerkes at for en fast indeksstørrelse, mens redusering av S øker innføringsgjennomgangen, øker den også antall av sluttsett som må holdes i minnet for at fordelen skal bli realisert.
Ved etterspørring av indeksen til en spesiell nøkkel, må hvert sluttsett i en enkel sti som går fra minst signifikante sluttsettet bli forespurt. Dermed, dersom den hierarkiske strukturen består av L nivåer, må L sluttsett bli forespurt for å kunne finne alle resultatene som matcher nøkkelen, siden nøkkelen må være på ethvert av nivåene innenfor hierarkiet. Dermed vil dette indekseringsskjemaet øke gjennomgangen, eller lettheten ved at oppføringer kan bli lagt til indeksen på bekostning av degradering av forespørselsytelse. Imidlertid er denne avveiningen akseptabel i enhver applikasjon som må akseptere store mengder data men forespør dem sjelden. Et eksempel på en slik applikasjon er et svindeldeteksjonssystem som må laste hver transaksjon, men som bare forespør de transaksjonene som omhandler en suspekt aktivitet.
Det er dermed mulig å tilveiebringe en forbedret databaseytelse ved å modifisere strukturen til sluttsettene i en hierarkisk struktur.
Oppfinneren har innsett at sluttsettene nødvendigvis ikke alle trenger å være av nederste nivå av databasestrukturen. Som bemerket over, i den fordelte strukturen vist i fig. 2, blir data innført i det første sluttsettet funnet, dvs. nivå 1 sluttsettene, og blir deretter progressivt flyttet til lavere nivåer.
Dermed kan innføringsoperasjonen bli videre redusert dersom sluttsettene er fordelt gjennom avgjørelsesindeksstrukturen. Fig. 3 viser en modifisert database hvor sluttsettene er arrangert i en hierarkisk struktur og hvor strukturen strekker seg inn i avgjørelsesgrafen. Fig. 3 illustrerer en del av avgjørelsesgrafen hvor avgjørelsesgrafen har blitt konstruert med en mellomsluttsettavstand Q = 3, slik at et sluttsett 40, 50 og 60 er tillatt ved hver tredje forgreningsnode. Anta at vi forener databasen ved tiden hvor data inneholdt i den er slik at sluttsettet 40 akkurat har blitt laget, men at sluttsettene 50 og 60 ikke ennå har blitt laget.
Under bruk blir data lagt til databasen, og innholdet av disse dataene er slik at sluttsettet 40 blir fullt. Når dette oppstår blir informasjonen innenfor sluttsettet omfordelt som helhet ved å lage en lavere nivånode 42, tilleggsnode 43, og fordele dataene fra sluttsettet 40 inn i et nytt temporært sluttsett 44 og 45 vist i utkastet i fig. 3. Fylling av databasen fortsetter inntil sluttsettet 40 igjen fylles. Den forsøker deretter å omfordele sitt innhold til sine underordnede sluttsett. Dette vil i sin tur gjøre én av dem fulle og det blir dermed nødvendig å fjerne det fulle midlertidige sluttsettet fra utgangsstien til node 42 og å innføre én eller flere noder og tilleggssluttsett etter behov.
Dette kan fortsette inntil sluttsettet 50 er etablert som en utgang til node 46. Ved denne tiden korresponderer mellomsluttsettavstanden mellom sluttsettene 40 og 50 til avstanden Q spesifisert av utvikleren eller brukeren av databasen. Ved slike forhold, blir en sjekk utført for å se om et mellomsluttsett eksisterer i avgjørelsesstien som strekker seg mellom nodene 41 og 46. Ethvert sluttsett i denne avgjørelsesstigen blir fjernet og deres innhold blir fjernet fra sluttsettet 50.
Ettersom sluttsettet 50 fylles opp, kan nye temporære sluttsett bli laget inntil sluttsettet 60 er laget, osv. Det blir dermed mulig for mellomsluttsettavstanden mellom sluttsettene som ikke er på det laveste nivået til avgjørelsesindeksen å holdes ved en spesifisert mellomsluttsettavstand. I arrangementet vist i fig. 3 representerer settene 62 og 70 de laveste nivåene til databasen, og sluttsettene 60, 62 og 70 kan representere nivåene 1, 2 og 3 av sluttsettene i arrangementet vist i fig. 2.
Som før resulterer masseomfordeling av sluttsettoppføringer til laveste nivå sluttsett i redusert disk input/output straff sammenlignet med skrivingen av individuelle enheter av data. Videre er dataoppføringskostnadene i strukturen vist i fig. 3 ytterligere redusert siden oppføringen er innført i det første sluttsettet funnet. Hver oppføring fra et fullt sluttsett blir deretter flyttet til passende lavt nivå sluttsett som blir funnet ved å følge avgjørelsesgrafen fra det fulle sluttsettet via oppføringen som skal flyttes.
Ved forespørring av databasen, må avgjørelsesstigen for relevant nøkkel navigeres riktig til det laveste nivået sluttsett, og hvert sluttsett funnet på ruten må også bli forespurt ettersom den kan inneholde data som matcher søkenøkkelkriteriet.
Claims (18)
1. Metode for organisering av lagring av data i en database (2), hvor sluttsettene (20, 24, 26, 28, 30; 40, 50, 60) for databasen er arrangert i en hierarkisk struktur med et flertall signifikante nivåer innbefattende en første signifikantnivå (nivå 1) og et siste signifikantnivå av betydning, hvor sluttsettene lagrer data som matcher søkekriteriet eller pekere som peker til lokasjonen til dataene som matcher søkekriteriet og hvor sluttsettene er arrangert på en slik måte at enheter blir innført i et valgt sluttsett ved et første nivå av betydning (nivå 1) inntil antall enheter når en terskelverdi for valgte sluttsett, og deretter blir innholdene av valgte sluttsett flyttet til underordnede sluttsett, for derved å tømme det valgte sluttsettet, og hvor det etterfølgende flyttingen av innholdet fra det valgte sluttsettet kan utføres videre innføringer i sluttsettet,
karakterisert vedat sluttsettene blir fordelt gjennom avgjørelsesgrafen til databasen, hvor avgjørelsesgrafen omfatter et flertall av grennoder ved hvilke en søkenøkkel blir tilpasset avgjørelseskriteriet for å definere hvilken avgjørelsesti som bør bli tatt gjennom avgjørelsesgrafen, hvor hvert sluttsett blir nådd av én, og kun én avgjørelsesti gjennom avgjørelsesgrafen; hvor sluttsett blir dannet ved noen, men ikke alle av grennodene (41, 46); og grennodene ved hvilket det ikke er dannet sluttsett definerer avgjørelsestier som strekker seg mellom grennoder ved hvilke sluttsett er dannet.
2. Metode i henhold til krav 1, hvor hvert sluttsett (20, 24, 26, 28, 30) har null, én eller to nærmeste underordnede sluttsett.
3. Metode i henhold til krav 1 eller 2, hvor under flytting av data i det valgte sluttsett blir sammenlignet med søkekriterier for å velge hvilken av de nærmeste underordnede sluttsettene som en oppføring skal overføres til.
4. Metode i henhold til krav 3, hvor databasen innbefatter en avgjørelsesgraf og søkekriteriet er effektivt en utvidelse av avgjørelsesgrafen.
5. Metode i henhold til et av de foregående kravene, hvor den hierarkiske strukturen til sluttsettene er arrangert i en struktur i lag.
6. Metode i henhold til krav 5, hvor strukturen i lag omfatter L-nivåer, med hvert sluttsett i det første til (L-l)te nivået som har to nærmeste underordnede sluttsett i den andre av Lte nivå respektivt.
7. Metode i henhold til krav 6, hvor når et gitt sluttsett i det Nte nivået, hvor N er et heltall fra 1 til (L-l) har et forhåndsbestemt antall av innføringer i seg, dens innhold flyttet til dens nærmeste underordnede sluttsett.
8. Metode i henhold til et av de foregående kravene, hvor sluttsettene har en hierarkisk betydning over en forhåndsbestemt verdi lagret, i bruk, i fast minne.
9. Metode i henhold til et hvert av de foregående kravene, hvor avgjørelsesgrafen er konstruert for å opprettholde en spesifisert mellomsluttsettavstand gjennom hoveddelen av avgjørelsesgrafen.
10. Metode i henhold til et hvert av de foregående kravene, hvilket under flytting av data fra sluttsettet blir dataene flyttet til underordnede sluttsett på bakgrunn av det spesifiserte datainnholdet.
11. Metode i henhold til et hvert av de foregående kravene, hvor innholdet av sluttsettet blir flyttet som helhet.
12. Metode i henhold til et hvert av de foregående kravene, hvor det når databasen forespørres etter data eller pekere som matcher et søkekriterium må hvert sluttsett i en enkel sti som går fra det minst signifikante sluttsettet bli forespurt, siden data eller pekere kan være på ethvert nivå av hierarkiet.
13. Metode i henhold til et hvert av de foregående kravene, hvor innholdet av de valgte sluttsett blir flyttet til et sluttsett på lavere nivå som blir funnet ved å følge avgjørelsesgrafen.
14. Metode i henhold til et hvert av de foregående kravene, hvor avgjørelsesgrafen er konstruert til å holdes ved en spesifisert mellomsluttsettavstand ved: å etablere et første sluttsett (40) ved det første nivået av betydning (nivå 1), å etablere en eller flere temporære sluttsett (44, 45); og å flytte innholdet av det første sluttsettet (40) til det midlertidige sluttsettet inntil et andre sluttsett (50) er etablert ved den spesifiserte mellomsluttsettavstanden fra det første sluttsettet (40), hvor da det temporære sluttsettet blir fjernet og deres innhold blir flyttet til det andre sluttsettet.
15. Metode i henhold til krav 9, hvor avgjørelsesgrafen omfatter et flertall grennoder, og hvor avgjørelsesgrafen er konstruert slik at det opprettholdes en spesifisert mellomsluttsettavstand definert av heltall Q gjennom i store trekk hele avgjørelsesgrafen ved å danne et sluttsett ved annenhver grennode dersom Q=l, ved hver andre grennoder dersom Q=2, osv., hvor Q er større enn null.
16. Database hvor sluttsettene til databasen er arrangert i en hierarkisk struktur med et flertall av signifikantnivåer innbefattende et første signifikantnivå av betydning (nivå 1) og et siste signifikantnivå av betydning, hvor sluttsettene lagrer data som matcher søkekriteria eller pekere som peker til lokasjonen med data som matcher søkekriteriet, og hvor sluttsettene er arrangert slik at enheter blir innført i et valgt sluttsett ved et første nivå av betydning inntil antall av enheter når en terskelverdi for valgte sluttsett, og hvor deretter innholdet av valgte sluttsett flyttes til underordnede sluttsett, for derved å tømme det valgte sluttsettet, og hvor videre innføringer kan utføres i sluttsettet etter flytting av innholdet fra valgte sluttsettet,karakterisert vedat sluttsettene blir fordelt gjennom avgjørelsesgrafen (41, 42, 43, 46), hvor avgjørelsesgrafen omfatter et flertall av grennoder ved hvilke en søkenøkkel blir tilpasset avgjørelseskriteriet for å definere hvilken avgjørelsesti som bør bli tatt gjennom avgjørelsesgrafen, hvor hvert sluttsett blir nådd av én, og kun én avgjørelsesti gjennom avgjørelsesgrafen; hvor sluttsett blir dannet ved noen, men ikke alle av grennodene (41, 46); og hvor grennodene ved hvilket det ikke er dannet sluttsett definerer avgjørelsestier som strekker seg mellom grennoder ved hvilke sluttsett er dannet.
17. Database i henhold til krav 16, hvor sluttsettene (40, 50, 60) blir fordelt gjennom en avgjørelsesgraf.
18. Datamaskinprogramprodukt for å sørge for at en dataprosessor implementerer metoden i henhold til et av kravene 1-15.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0104823A GB2372598A (en) | 2001-02-26 | 2001-02-26 | Organising data in a database |
PCT/GB2002/000706 WO2002069185A2 (en) | 2001-02-26 | 2002-02-19 | Organising data in a database |
Publications (3)
Publication Number | Publication Date |
---|---|
NO20033790D0 NO20033790D0 (no) | 2003-08-26 |
NO20033790L NO20033790L (no) | 2003-08-26 |
NO331821B1 true NO331821B1 (no) | 2012-04-10 |
Family
ID=9909606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NO20033790A NO331821B1 (no) | 2001-02-26 | 2003-08-26 | Organisering av data i en database |
Country Status (13)
Country | Link |
---|---|
US (1) | US7577673B2 (no) |
EP (1) | EP1364317A2 (no) |
JP (1) | JP4349803B2 (no) |
KR (1) | KR100904875B1 (no) |
CN (1) | CN100583087C (no) |
CA (1) | CA2439243C (no) |
EA (1) | EA005269B1 (no) |
GB (1) | GB2372598A (no) |
IL (2) | IL157385A0 (no) |
MY (1) | MY140396A (no) |
NO (1) | NO331821B1 (no) |
NZ (1) | NZ527494A (no) |
WO (1) | WO2002069185A2 (no) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7293022B2 (en) * | 2005-04-14 | 2007-11-06 | International Business Machines Corporation | List update employing neutral sort keys |
US8122220B1 (en) | 2006-12-20 | 2012-02-21 | Marvell International Ltd. | Memory usage in imaging devices |
GB0704018D0 (en) * | 2007-03-01 | 2007-04-11 | Coppereye Ltd | Database index |
US8185551B2 (en) | 2007-06-08 | 2012-05-22 | Massachusetts Institute Of Technology | Disk-resident streaming dictionary |
US8996563B2 (en) | 2010-04-06 | 2015-03-31 | Tokutek, Inc. | High-performance streaming dictionary |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5018060A (en) * | 1989-01-26 | 1991-05-21 | Ibm Corporation | Allocating data storage space of peripheral data storage devices using implied allocation based on user parameters |
FR2653020B1 (fr) * | 1989-10-17 | 1993-03-26 | Roussel Uclaf | Utilisation d'un polypeptide ayant l'activite de l'interleukine 2 humaine pour la preparation de compositions pharmaceutiques destinees au traitement des leucemies. |
US5130936A (en) * | 1990-09-14 | 1992-07-14 | Arinc Research Corporation | Method and apparatus for diagnostic testing including a neural network for determining testing sufficiency |
US5204958A (en) | 1991-06-27 | 1993-04-20 | Digital Equipment Corporation | System and method for efficiently indexing and storing a large database with high data insertion frequency |
US5734791A (en) * | 1992-12-31 | 1998-03-31 | Apple Computer, Inc. | Rapid tree-based method for vector quantization |
JP2682811B2 (ja) * | 1994-03-22 | 1997-11-26 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データ記憶管理システム及び方法 |
US5893102A (en) * | 1996-12-06 | 1999-04-06 | Unisys Corporation | Textual database management, storage and retrieval system utilizing word-oriented, dictionary-based data compression/decompression |
US5852822A (en) | 1996-12-09 | 1998-12-22 | Oracle Corporation | Index-only tables with nested group keys |
US6269353B1 (en) * | 1997-11-26 | 2001-07-31 | Ishwar K. Sethi | System for constructing decision tree classifiers using structure-driven induction |
US6564197B2 (en) * | 1999-05-03 | 2003-05-13 | E.Piphany, Inc. | Method and apparatus for scalable probabilistic clustering using decision trees |
WO2001067209A2 (en) * | 2000-03-09 | 2001-09-13 | The Web Access, Inc. | Method and apparatus for performing a research task by interchangeably utilizing a multitude of search methodologies |
US6826555B2 (en) * | 2000-07-24 | 2004-11-30 | Centor Software Corporation | Open format for file storage system indexing, searching and data retrieval |
-
2001
- 2001-02-26 GB GB0104823A patent/GB2372598A/en not_active Withdrawn
-
2002
- 2002-02-19 IL IL15738502A patent/IL157385A0/xx unknown
- 2002-02-19 EA EA200300816A patent/EA005269B1/ru not_active IP Right Cessation
- 2002-02-19 US US10/469,123 patent/US7577673B2/en not_active Expired - Fee Related
- 2002-02-19 EP EP02712086A patent/EP1364317A2/en not_active Ceased
- 2002-02-19 NZ NZ527494A patent/NZ527494A/en not_active IP Right Cessation
- 2002-02-19 CA CA2439243A patent/CA2439243C/en not_active Expired - Fee Related
- 2002-02-19 WO PCT/GB2002/000706 patent/WO2002069185A2/en active IP Right Grant
- 2002-02-19 JP JP2002568239A patent/JP4349803B2/ja not_active Expired - Fee Related
- 2002-02-19 KR KR1020037011197A patent/KR100904875B1/ko not_active IP Right Cessation
- 2002-02-19 CN CN02805454A patent/CN100583087C/zh not_active Expired - Fee Related
- 2002-02-25 MY MYPI20020632A patent/MY140396A/en unknown
-
2003
- 2003-08-13 IL IL157385A patent/IL157385A/en not_active IP Right Cessation
- 2003-08-26 NO NO20033790A patent/NO331821B1/no not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
MY140396A (en) | 2009-12-31 |
GB0104823D0 (en) | 2001-04-18 |
JP4349803B2 (ja) | 2009-10-21 |
NO20033790D0 (no) | 2003-08-26 |
GB2372598A (en) | 2002-08-28 |
WO2002069185A3 (en) | 2003-09-12 |
NZ527494A (en) | 2005-03-24 |
CA2439243C (en) | 2011-11-01 |
US7577673B2 (en) | 2009-08-18 |
IL157385A0 (en) | 2004-02-19 |
EP1364317A2 (en) | 2003-11-26 |
JP2004528634A (ja) | 2004-09-16 |
KR20040005878A (ko) | 2004-01-16 |
EA200300816A1 (ru) | 2004-06-24 |
KR100904875B1 (ko) | 2009-06-29 |
IL157385A (en) | 2011-06-30 |
WO2002069185A2 (en) | 2002-09-06 |
CA2439243A1 (en) | 2002-09-06 |
NO20033790L (no) | 2003-08-26 |
EA005269B1 (ru) | 2004-12-30 |
CN100583087C (zh) | 2010-01-20 |
US20040073559A1 (en) | 2004-04-15 |
CN1507595A (zh) | 2004-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9672235B2 (en) | Method and system for dynamically partitioning very large database indices on write-once tables | |
US20220255014A1 (en) | Trie-Based Indices for Databases | |
CN110347684B (zh) | 基于区块链的分级存储方法及装置、电子设备 | |
US7558802B2 (en) | Information retrieving system | |
EP0996881B1 (en) | A method of storing elements in a database | |
EP1302873A2 (en) | Partitioned database system | |
JP3345628B2 (ja) | データ格納及び検索方法 | |
AU2011202009A1 (en) | Database | |
CN112000847B (zh) | 基于gpu并行的自适应基数树动态索引方法 | |
CN106570113B (zh) | 一种海量矢量切片数据云存储方法及系统 | |
US7363284B1 (en) | System and method for building a balanced B-tree | |
Martin | Spiral storage: Incrementally augmentable hash addressed storage | |
CN103077198B (zh) | 一种操作系统及其文件缓存定位方法 | |
NO331821B1 (no) | Organisering av data i en database | |
US20100106682A1 (en) | Database Index | |
JP2008065716A (ja) | データ管理装置、データ管理方法及びデータ管理プログラム | |
CA2323017A1 (en) | Data conversion hardware support | |
KR102388458B1 (ko) | 데이터 키 값 변환 방법 및 장치 | |
AU2002231993A1 (en) | Organising data in a database | |
AU2008229975A1 (en) | Organising data in a database | |
Toptsis | B***-tree: a family of efficient data packaging multiway trees |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM1K | Lapsed by not paying the annual fees |