NO331821B1 - Organisering av data i en database - Google Patents

Organisering av data i en database Download PDF

Info

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
Application number
NO20033790A
Other languages
English (en)
Other versions
NO20033790D0 (no
NO20033790L (no
Inventor
Duncan Gunther Pauly
Original Assignee
Bernard Consulting Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bernard Consulting Ltd filed Critical Bernard Consulting Ltd
Publication of NO20033790D0 publication Critical patent/NO20033790D0/no
Publication of NO20033790L publication Critical patent/NO20033790L/no
Publication of NO331821B1 publication Critical patent/NO331821B1/no

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating 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.
NO20033790A 2001-02-26 2003-08-26 Organisering av data i en database NO331821B1 (no)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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