Ntiaj teb no yog cov khoom muaj nqis-nqaij rau khaws cov ntaub ntawv. Ntoo. Ntu 1

Ntiaj teb no yog cov khoom muaj nqis-nqaij rau khaws cov ntaub ntawv. Ntoo. Ntu 1 Cov ntaub ntawv tiag tiag rab ntaj - thoob ntiaj teb - tau paub ntev, tab sis tseem tsawg tus paub siv lawv li cas los yog tsis muaj tus superweapon no txhua.

Yog tias koj siv thoob ntiaj teb los daws cov teeb meem uas lawv tau zoo heev, koj tuaj yeem ua tiav cov txiaj ntsig zoo. Txawm nyob rau hauv productivity los yog nyob rau hauv simplifying qhov kev daws teeb meem (1, 2).

Ntiaj teb no yog ib txoj hauv kev tshwj xeeb ntawm kev khaws cia thiab ua cov ntaub ntawv, sib txawv ntawm cov ntxhuav hauv SQL. Lawv tshwm sim hauv 1966 hauv cov lus M (UMPS) (evolutionary kev loj hlob - Cache ObjectScript, hereinafter COS) nyob rau hauv cov ntaub ntawv kho mob thiab tseem muaj nquag siv, thiab tseem nkag mus rau qee qhov chaw uas muaj kev ntseeg siab thiab kev ua haujlwm siab: nyiaj txiag, kev lag luam, thiab lwm yam.

Ntiaj teb no nyob rau hauv niaj hnub DBMSs txhawb kev pauv, txiav, replication, thiab partitioning. Cov. lawv tuaj yeem siv los tsim cov tshuab niaj hnub, txhim khu kev qha, faib thiab nrawm.

Ntiaj teb no tsis txwv koj rau tus qauv kev sib raug zoo. Lawv muab kev ywj pheej rau koj los tsim cov qauv ntaub ntawv uas zoo rau cov haujlwm tshwj xeeb. Rau ntau daim ntawv thov, kev siv ntse thoob ntiaj teb tuaj yeem yog riam phom zais cia, xa cov kev ua tau zoo uas cov neeg tsim daim ntawv thov kev sib raug zoo tsuas yog npau suav ntawm.

Ntiaj teb no ua ib txoj hauv kev khaws cov ntaub ntawv tuaj yeem siv tau ntau yam lus niaj hnub programming, ob qho tib si qib siab thiab qib qis. Yog li ntawd, nyob rau hauv tsab xov xwm no kuv yuav tsom tshwj xeeb rau lub ntiaj teb no, thiab tsis yog ntawm cov lus uas lawv ib zaug tuaj.

2. Kev ua haujlwm thoob ntiaj teb li cas

Cia peb xub nkag siab tias lub ntiaj teb ua haujlwm li cas thiab lawv lub zog yog dab tsi. Lub ntiaj teb no tuaj yeem saib los ntawm cov ntsiab lus sib txawv. Nyob rau hauv tshooj no peb yuav saib lawv li ntoo. Los yog zoo li hierarchical cov ntaub ntawv warehouses.

Txhawm rau muab nws yooj yim, lub ntiaj teb yog ib qho txuas ntxiv. Ib qho array uas tau txais kev cawmdim rau disk.
Nws yog ib qho nyuaj rau xav txog tej yam yooj yim rau khaws cov ntaub ntawv. Hauv cov lej (hauv COS / M hom lus) nws txawv ntawm kev sib koom ua ke tsis tu ncua tsuas yog hauv cov cim ^ ua ntej lub npe.

Txhawm rau txuag cov ntaub ntawv hauv ntiaj teb, koj tsis tas yuav kawm cov lus nug SQL; cov lus txib rau kev ua haujlwm nrog lawv yog qhov yooj yim heev. Lawv tuaj yeem kawm tau hauv ib teev.

Cia peb pib nrog qhov piv txwv yooj yim tshaj plaws. Ib-theem tsob ntoo nrog 2 ceg. Cov piv txwv tau sau hauv COS.

Ntiaj teb no yog cov khoom muaj nqis-nqaij rau khaws cov ntaub ntawv. Ntoo. Ntu 1

Set ^a("+7926X") = "John Sidorov"
Set ^a("+7916Y") = "Sergey Smith"



Thaum muab cov ntaub ntawv tso rau hauv lub ntiaj teb (Teeb hais kom ua), 3 yam yuav tshwm sim:

  1. Txuag cov ntaub ntawv rau disk.
  2. Indexing. Dab tsi yog nyob rau hauv kab lus yog tus yuam sij (hauv ntawv Askiv - "subscript"), thiab rau sab xis ntawm qhov sib npaug yog tus nqi ("node value").
  3. Kev txheeb. Cov ntaub ntawv yog txheeb los ntawm qhov tseem ceeb. Nyob rau hauv lub neej yav tom ntej, thaum traversing lub array, thawj lub caij yuav "Sergey Smith", thiab lub thib ob "John Sidorov". Thaum tau txais ib daim ntawv teev cov neeg siv los ntawm lub ntiaj teb no, lub database tsis nkim sij hawm sorting. Ntxiv mus, koj tuaj yeem thov cov zis ntawm cov npe txheeb, pib los ntawm ib qho tseem ceeb, txawm tias tsis muaj ib qho (cov zis yuav pib los ntawm thawj tus yuam sij tiag tiag, uas los tom qab qhov tsis muaj ib qho).

Tag nrho cov haujlwm no tshwm sim sai heev. Hauv kuv lub computer hauv tsev kuv tau txais txiaj ntsig txog 750 inserts / sec hauv ib txheej txheem. Ntawm multi-core processors qhov tseem ceeb tuaj yeem ncav cuag kaum lab inserts/sec.

Tau kawg, qhov nrawm nrawm nws tus kheej tsis hais ntau. Piv txwv li, koj tuaj yeem sau cov ntaub ntawv sai sai rau hauv cov ntawv nyeem - zoo li qhov no raws li lus xaiv Visa ua haujlwm. Tab sis nyob rau hauv cov ntaub ntawv ntawm lub ntiaj teb no, peb tau txais ib tug qauv indexed cia, uas yuav ua tau yooj yim thiab sai ua hauj lwm nrog rau yav tom ntej.

Ntiaj teb no yog cov khoom muaj nqis-nqaij rau khaws cov ntaub ntawv. Ntoo. Ntu 1

  • Lub zog loj tshaj plaws ntawm lub ntiaj teb yog qhov ceev ntawm cov nodes tshiab tuaj yeem tso.
  • Cov ntaub ntawv nyob rau hauv lub ntiaj teb no yeej ib txwm indexed. Kev hla lawv, ob qho tib si ntawm ib theem thiab tob rau hauv tsob ntoo, yog ib txwm ceev.

Cia peb ntxiv ob peb ceg ntxiv ntawm qib thib ob thiab qib thib peb rau lub ntiaj teb.

Set ^a("+7926X", "city") = "Moscow"
Set ^a("+7926X", "city", "street") = "Req Square"
Set ^a("+7926X", "age") = 25
Set ^a("+7916Y", "city") = "London"
Set ^a("+7916Y", "city", "street") = "Baker Street"
Set ^a("+7916Y", "age") = 36

Ntiaj teb no yog cov khoom muaj nqis-nqaij rau khaws cov ntaub ntawv. Ntoo. Ntu 1

Nws yog qhov pom tseeb tias cov ntoo ntau theem tuaj yeem tsim tau raws li lub ntiaj teb. Ntxiv mus, kev nkag mus rau ib qho ntawm yuav luag instantaneous vim nws pib-indexing thaum nkag. Thiab ntawm txhua theem ntawm tsob ntoo, tag nrho cov ceg tau txheeb los ntawm qhov tseem ceeb.

Raws li koj tuaj yeem pom, cov ntaub ntawv tuaj yeem muab khaws cia rau hauv ob qho tseem ceeb thiab tus nqi. Tag nrho qhov tseem ceeb ntev (qhov sib npaug ntawm qhov ntev ntawm txhua qhov ntsuas) tuaj yeem ncav cuag 511 bytes, thiab cov nqi 3.6 MB rau Cache. Tus naj npawb ntawm cov theem hauv tsob ntoo (tus naj npawb ntawm qhov ntev) yog 31.

Lwm qhov nthuav qhia. Koj tuaj yeem tsim ib tsob ntoo yam tsis tau hais txog qhov tseem ceeb ntawm cov pob txha ntawm cov qib siab.

Ntiaj teb no yog cov khoom muaj nqis-nqaij rau khaws cov ntaub ntawv. Ntoo. Ntu 1

Set ^b("a", "b", "c", "d") = 1
Set ^b("a", "b", "c", "e") = 2
Set ^b("a", "b", "f", "g") = 3

Lub voj voog khoob yog cov nodes uas tsis muaj nqi.

Txhawm rau kom nkag siab zoo dua thoob ntiaj teb, cia peb sib piv nrog lwm cov ntoo: cov ntoo vaj thiab cov ntaub ntawv npe cov ntoo.

Cia peb piv cov ntoo hauv ntiaj teb nrog cov qauv hierarchical uas paub tshaj plaws rau peb: nrog cov ntoo zoo tib yam uas loj hlob hauv vaj thiab teb, nrog rau cov ntaub ntawv.

Ntiaj teb no yog cov khoom muaj nqis-nqaij rau khaws cov ntaub ntawv. Ntoo. Ntu 1

Raws li peb pom hauv vaj ntoo, nplooj thiab txiv hmab txiv ntoo tsuas pom nyob rau ntawm qhov kawg ntawm cov ceg.
Cov ntaub ntawv systems - cov ntaub ntawv tsuas yog khaws cia rau ntawm qhov kawg ntawm cov ceg, uas yog cov npe ntawm cov ntaub ntawv tsim nyog.

Thiab ntawm no yog cov qauv ntaub ntawv thoob ntiaj teb.

Ntiaj teb no yog cov khoom muaj nqis-nqaij rau khaws cov ntaub ntawv. Ntoo. Ntu 1Txawv:

  1. Internal nodes: cov ntaub ntawv nyob rau hauv lub ntiaj teb no tuaj yeem muab khaws cia rau hauv txhua lub pob, tsis yog ntawm qhov kawg ntawm cov ceg.
  2. Sab nraud nodes: Lub ntiaj teb yuav tsum tau txhais cov txiaj ntsig ntawm qhov kawg ntawm cov ceg, thaum FS thiab cov ntoo vaj tsis ua.



Nyob rau hauv cov nqe lus ntawm sab hauv, peb tuaj yeem hais tias cov qauv ntawm lub ntiaj teb no yog superset ntawm cov qauv ntawm cov npe ntoo hauv cov ntaub ntawv thiab cov ntoo vaj. Cov. hloov tau ntau dua.

Feem ntau, lub ntiaj teb no yog xaj ntoo nrog lub peev xwm khaws cov ntaub ntawv hauv txhua qhov node.

Yuav kom nkag siab zoo txog kev ua haujlwm ntawm lub ntiaj teb, xav txog dab tsi yuav tshwm sim yog tias cov neeg tsim cov ntaub ntawv siv ib txoj hauv kev zoo ib yam li lub ntiaj teb los khaws cov ntaub ntawv?

  1. Rho tawm ib cov ntaub ntawv nyob rau hauv ib phau ntawv yuav cia li rho tawm cov directory, nrog rau tag nrho cov overlying directory uas muaj tsuas yog ib phau ntawv xwb deleted.
  2. Yuav tsis xav tau cov npe. Yuav tsuas muaj cov ntaub ntawv nrog subfiles thiab cov ntaub ntawv tsis muaj subfiles. Yog tias muab piv rau tsob ntoo zoo tib yam, ces txhua ceg yuav dhau los ua txiv hmab txiv ntoo.

    Ntiaj teb no yog cov khoom muaj nqis-nqaij rau khaws cov ntaub ntawv. Ntoo. Ntu 1

  3. Tej yam zoo li README.txt cov ntaub ntawv yuav tsis xav tau. Txhua yam uas yuav tsum tau hais txog cov ntsiab lus ntawm phau ntawv teev npe tuaj yeem sau rau hauv cov ntawv teev npe nws tus kheej. Nyob rau hauv txoj kev chaw, cov ntaub ntawv lub npe yog indistinguishable los ntawm lub npe directory, yog li ntawd nws yog tau mus los ntawm cov ntaub ntawv xwb.
  4. Qhov ceev ntawm kev rho tawm cov npe nrog nested subdirectories thiab cov ntaub ntawv yuav nce siab heev. Ntau zaus ntawm Habre tau muaj cov lus hais txog ntev npaum li cas thiab nws nyuaj rau tshem tawm ntau lab ntawm cov ntaub ntawv me me (1, 2). Txawm li cas los xij, yog tias koj ua pseudo-file system ntawm lub ntiaj teb, nws yuav siv sijhawm vib nas this lossis feem ntawm qhov ntawd. Thaum kuv sim rho tawm cov ntoo subtrees ntawm lub computer hauv tsev, nws tshem tawm 1-96 lab ntawm cov ntoo ob-tier ntawm HDD (tsis yog SSD) hauv 341 thib ob. Ntxiv mus, peb tab tom tham txog kev rho tawm ib feem ntawm tsob ntoo, thiab tsis yog tag nrho cov ntaub ntawv nrog thoob ntiaj teb.

Ntiaj teb no yog cov khoom muaj nqis-nqaij rau khaws cov ntaub ntawv. Ntoo. Ntu 1
Tshem tawm cov ntoo subtrees yog lwm qhov tseem ceeb ntawm lub ntiaj teb. Koj tsis tas yuav recursion rau qhov no. Qhov no tshwm sim incredibly sai.

Hauv peb tsob ntoo qhov no tuaj yeem ua tiav nrog cov lus txib tua.

Kill ^a("+7926X")

Ntiaj teb no yog cov khoom muaj nqis-nqaij rau khaws cov ntaub ntawv. Ntoo. Ntu 1

Rau kev nkag siab zoo dua ntawm cov kev nqis tes ua uas muaj rau peb thoob ntiaj teb, kuv yuav muab lub rooj luv luv.

Cov lus txib yooj yim thiab ua haujlwm rau kev ua haujlwm nrog thoob ntiaj teb hauv COS

teem
Teem cov ceg rau ntawm ib qho (yog tias tseem tsis tau txhais) thiab cov nqi ntawm cov node

hauj lwm ua ke
Luam subtree

tua
Tshem tawm ib tsob ntoo

ZKill
Rho tawm tus nqi ntawm ib qho chaw tshwj xeeb. Lub subtree tawm ntawm lub node tsis kov

$Query
Ua tiav kev hla ntawm tsob ntoo, nkag mus tob rau hauv tsob ntoo

$ Order
Traversing ceg ntawm ib qho chaw tshwj xeeb

$Data
Tshawb xyuas seb lub node puas raug txhais

$Increment
Atomically incrementing tus nqi ntawm node. Txhawm rau zam kev nyeem thiab sau ntawv, rau ACID. Tsis ntev los no nws tau raug pom zoo kom hloov mus rau $ Sequence

Ua tsaug rau koj mloog, peb npaj teb koj cov lus nug.

Disclaimer: Kab lus no thiab kuv cov lus rau nws yog kuv lub tswv yim thiab tsis muaj kev cuam tshuam rau txoj haujlwm ntawm InterSystems Corporation.

Tshaj Tawm Ntiaj teb no yog cov khoom muaj nqis-nqaij rau khaws cov ntaub ntawv. Ntoo. Ntu 2. Koj yuav kawm seb hom ntaub ntawv twg tuaj yeem nthuav tawm thoob ntiaj teb thiab cov haujlwm twg lawv muab cov txiaj ntsig siab tshaj plaws.

Tau qhov twg los: www.hab.com

Ntxiv ib saib