Daugiau

3D kubo „Postgis“ užklausoje indeksas nenaudojamas

3D kubo „Postgis“ užklausoje indeksas nenaudojamas


Aš testuoju „Postgis“ pagal šią užklausą:

PASIRINKITE * IŠ dalelių, kur padėtis &&& „LINESTRING (0,08537 0,0738 0,0145,0,0953 0,0837 0,0345)“;

kuris pateikia apie 100 000 eilučių iš maždaug 100 M duomenų rinkinio. Lentelės schema yra

Lentelės "public.particles" stulpelis | Tipas | Modifikatoriai ---------- + ------------------ + ----------- partid | sveikasis skaičius | ne nulinis laikas | dvigubas tikslumas ne nulinė padėtis | geometrija | Rodyklės: "particies_pkey" PAGRINDINIS RAKTAS, btree (partid, "time") "particies_the_geom_gist" gist ("position") Patikrinkite apribojimus: "enforce_dims_the_geom" CHECK (st_ndims ("position") = 3)

Net jei turiu atributo pozicijos indeksą, užklausa visada vykdoma nuskaitant visą lentelę, todėl ji yra ypač lėta.

Aš taip pat bandžiau

set enable_seqscan = išjungti;

bet tai nieko nepakeitė.

Naudojant skirtingas užklausas, pvz.,

SELECT skaičius (*) IŠ dalelių, kur ST_3DDWithin (padėtis, 'SRID = 4326; POINT (0.08537 0.0738 0.0145)', 0.01);

kuris nuskaito objektus per atstumą nuo taško, „Postgres“ naudoja indeksą, kodėl jis neatlieka kitos užklausos?


Jūs tikriausiai sukūrėte 2d indeksą, o ne n-d indeksą, kurį naudoja &&& operatorius.

SUKURTI RODYKLĖS dalelių_gix DALIS, NAUDOJANT GIST (padėtis gist_geometry_ops_nd);

„PostGIS“ ir 3D

Jei norite naudoti 3D funkcijas, turite įdiegti versiją, kuri yra šiame tinklaraštyje.

Įdiegę „PostgreSQL“, turite įdiegti kitas programines įrangą tokia tvarka:

vykdykite šias komandas šakniniame kataloge:

./konfigūruoti
padaryti
sudo make install
sudo ldconfig
_____________________

vykdykite šias komandas šakniniame kataloge:

_____________________

./konfigūruoti
padaryti
sudo make install
sudo ldconfig
_____________________

vykdykite šias komandas šakniniame kataloge:

./configure --with-proj --with-geos --with-pgsql
padaryti
sudo make install
______________________________________________

Dabar esate pasirengę 3D modelius laikyti „PostGIS“.


Erdvinio lauko parinktys¶

Be įprastų „Django“ modelio laukų lauko parinkčių, erdviniuose laukuose yra šios papildomos parinktys. Visi yra neprivalomi.

Geometrijos lauko SRID [2] (erdvinės atskaitos sistemos identifikacija) nustato nurodytą vertę. Pagal numatytuosius nustatymus yra 4326 (taip pat žinomas kaip WGS84, vienetai nurodomi ilgumos ir platumos laipsniais).

SRID pasirinkimas¶

Tinkamo modelio SRID pasirinkimas yra svarbus sprendimas, kurį kūrėjas turėtų atidžiai apsvarstyti. SRID yra sveiko skaičiaus specifikatorius, atitinkantis projekcijų sistemą, kuri bus naudojama erdvinėje duomenų bazėje esantiems duomenims interpretuoti. [3] Projekcijos sistemos suteikia kontekstą koordinatėms, nurodančioms vietą. Nors geodezijos detalės nepatenka į šių dokumentų taikymo sritį, bendra problema yra ta, kad žemė yra sferinė, o žemės vaizdai (pvz., Popieriniai žemėlapiai, internetiniai žemėlapiai) nėra.

Daugelis žmonių yra susipažinę su platumos ir ilgumos naudojimu nurodydami vietą žemės paviršiuje. Tačiau platuma ir ilguma yra kampai, o ne atstumai. Kitaip tariant, nors trumpiausias kelias tarp dviejų plokščio paviršiaus taškų yra tiesi linija, trumpiausias kelias tarp dviejų kreivojo paviršiaus taškų (pvz., Žemės) yra lankas didelio rato. [4] Taigi norint gauti atstumus plokštuminiais vienetais (pvz., Kilometrais ir myliomis), reikia papildomai apskaičiuoti. Geografinių koordinačių sistemos naudojimas gali sukelti kūrėjui komplikacijų vėliau. Pavyzdžiui, „SpatiaLite“ neturi galimybių atlikti atstumo tarp geometrijų skaičiavimų naudojant geografines koordinačių sistemas, pvz. sukurdami užklausą, kad rastumėte visus taškus 5 mylių atstumu nuo apskrities ribos, saugomos kaip WGS84. [5]

Žemės paviršiaus dalys gali būti projektuojamos į dvimatę arba Dekarto plokštumą. Projektuojamos koordinačių sistemos yra ypač patogios konkrečiam regionui pritaikytoms programoms, pvz., Jei žinote, kad jūsų duomenų bazė apims tik Šiaurės Kanzaso geometrijas, galite apsvarstyti galimybę naudoti tam regionui būdingą projekcijų sistemą. Be to, projektuojamos koordinačių sistemos yra apibrėžtos Dekarto vienetais (pvz., Metrais ar pėdomis), palengvinant atstumo skaičiavimus.

Jei norite atlikti savavališkas atstumo užklausas naudodami ne taškų geometrijas WGS84 sistemoje „PostGIS“ ir norite tinkamo našumo, įjunkite raktinį žodį GeometryField.geography, kad vietoj jo būtų naudojamas geografijos duomenų bazės tipas.

    : „Django“ valdoma erdvinių atskaitos sistemų duomenų bazė. : Svetainė, kurioje pateikiamos įvairios projekcinės sistemos, naudojamos JAV. Didžioji dalis JAV aptiktų erdvinių duomenų bus vienoje iš šių koordinačių sistemų, o ne geografinėse koordinačių sistemose, tokiose kaip WGS84.

Erdvinis_indeksas ¶

Numatytoji reikšmė yra „True“. Sukuria nurodyto geometrijos lauko erdvinį indeksą.

Tai skiriasi nuo lauko db_index parinkties, nes erdviniai indeksai kuriami kitaip nei įprasti duomenų bazių indeksai. Tiksliau, erdviniai indeksai paprastai kuriami naudojant „R-Tree“ variantą, o įprastose duomenų bazių rodyklėse paprastai naudojami „B-Trees“.


„Spatiotporporal“ duomenų bazė yra duomenų bazė, valdanti tiek erdvės, tiek laiko informaciją. Dažniausi pavyzdžiai: judančių objektų sekimas, intelektualios transporto sistemos, korinio ryšio ir meteorologijos stebėjimas. Laiko tarpo užklausa nustato objektus, įtrauktus į regioną nurodytu laikotarpiu tarp dviejų datos ir laiko momentų, vadinamų laiko langu. Šio darbo kontekste pristatome „SMaRT: romanas“ Spatiotemporal Mysql ReTrieval sistema, paremta MySQL ir PostgreSQL duomenų bazių valdymo sistema. Be to, mes siūlome demonstracinę vartotojo sąsają, kuri įgyvendina visas jos galimybes, kad padėtų vartotojui nustatyti efektyviausią erdvinio laiko užklausos metodą vartotojo apibrėžtose 2D trajektorijose. Mūsų žiniomis, mes pirmieji ištyrėme ir palyginome metodus, kaip spręsti netiesinių judančių objektų trajektorijų diapazono užklausas, kurios yra pateikiamos tiek dvilypėje, tiek natūralioje erdvėje. Visų pirma, pirmą kartą teoriškai efektyvus dvigubas požiūris buvo pritaikytas netiesinėms trajektorijoms ir įtrauktas į gerai žinomą atviro kodo RDBMS. Pridedamas eksperimentinis vertinimas, parodantis mūsų požiūrio efektyvumą ir efektyvumą.

Spyros Sioutas gimė Graikijoje, 1975 m. 1997 m. gruodžio mėn. baigė Patro universiteto Inžinerijos mokyklos Kompiuterių inžinerijos ir informatikos katedrą (CEID). Jis įgijo daktaro laipsnį. 2002 m. jis yra to paties katedros laipsnis. Dabar jis yra Jonijos universiteto kompiuterių katedros docentas. Jo dabartiniai moksliniai interesai yra šie: algoritminis duomenų valdymas, laiko ir laiko duomenų bazių sistemos, paskirstytos duomenų struktūros ir P2P perdangos, debesų infrastruktūra, indeksavimas, užklausų apdorojimas ir užklausų optimizavimas. Jis yra paskelbęs daugiau nei 100 pranešimų įvairiuose mokslo žurnaluose ir konferencijose (be kita ko, SIGMOD Record, Algorithmica, Computer Journal, Data and Knowledge Engineering, Journal of Descrete Algorithms, Distributed and Parallel Databases, Journal of Systems and Software, ESA, ICALP, ISAAC , DEXA, SAC, CIKM, PODC, ICDT / EDBT, SODA, SIGMOD ir kt.) Ir turi daugiau nei 550 citatų. 2002 m. Birželio mėn. Jis buvo atrinktas dalyvauti postdoc tyrinėtoju „masinių duomenų rinkinių“ vasaros mokykloje BRICS (pagrindiniai kompiuterinių mokslų tyrimai), Orhuso universitete, Danijoje. domenas: Styginių algoritmų ir įvesties / išvesties sudėtingumas), Londonas, Anglija, 2005 m. balandžio mėn. Jis taip pat lankėsi MADALGO (tyrimų sritis: „Deterministic Data Structures over P2P Networks“), Orhusas, Danija, 2008 m. gruodžio mėn. Jis turi 13 metų. darbo patirtis kaip kūrėjas, programinės įrangos testuotojas, duomenų bazių administratorius ir projektų vadovas Kompiuterių technologijos institute (7 tyrimų skyrius) ir DBIS laboratorijoje (http://di.ionio.gr/dbislab).


Įvadas

GPS prietaisai buvo populiarūs daugelį metų, todėl buvo renkami daug trajektorijos duomenų rinkinių. Judančio objekto (pvz., Transporto priemonės ar asmens) trajektorijos duomenyse yra duomenų taškų seka, kur kiekvienas duomenų taškas apima judančio objekto vietą ir laiko žymę. Užklausa gali būti surasti visus žmones tam tikros dienos stačiakampio formos paieškos srityje arba visas transporto priemones, kurios savaitgaliais pravažiavo sankryžą. Laiko intervalas tarp dviejų taškų iš eilės gali būti kelios sekundės, o viso duomenų rinkinio trukmė - tiek metų. Šie duomenų rinkiniai dažnai būna labai dideli ir apima didelę geografinę teritoriją ir ilgą laiką. Labai svarbu, kaip greitai sugrąžinti trajektorijos duomenis antrinėje saugykloje ir indeksuoti trajektorijas. Problema, kurią reikia spręsti šiame tyrime, parodyta 1 paveiksle, kur ašys X ir Y yra trajektorijos erdvės erdviniai matmenys, ašis T yra laiko matmuo, o q1, q2 ir q3 yra tipiški užklausos tipai trajektorijos duomenyse. Q1 užklausos tipas yra konkretus erdvinis regionas ir ilgas laiko periodas, kuris atsako į klausimus, pvz., Kiek transporto priemonių per metus per CB2 praėjo q2 tipo užklausa, nukreipta tiek į konkretų erdvinį regioną, tiek į konkretų trajektorijos duomenų erdvės laikotarpį ir q3 užklausos tipas yra tam tikro laiko trajektorijų vaizdas. Atsakant į šias užklausas, iš disko gaunamas didelis duomenų kiekis. Šiame tyrime rasti sprendimai, kaip išsaugoti istorinių trajektorijos duomenų rinkinius antrinėje saugykloje, kurie leidžia greitai gauti įvairių užklausų modelių duomenis. Šis siūlomas trajektorijos saugojimo ir paieškos metodas gali būti naudojamas indeksuoti ir saugoti didelius istorinius GPS duomenis, sukurtus transporto priemonių parko įmonių transporto priemonėse, siekiant efektyviai rinkti duomenis iš disko analizės ar valdymo tikslais, arba sukurti efektyvią didmiesčių eismo duomenų saugojimo schemą (didelė istorinė trajektorija). GPS prietaisų sukurti duomenys), kad būtų galima greitai gauti duomenis.

Daugelis esamų metodų indeksuoja atskirų trajektorijų minimalius ribojančius langelius (MBB), naudojant R tipo medžio struktūrą [6], [7], [8], [15], [22]. Kadangi trajektorijos apima plačias geografines sritis ir ilgą laiką, MBB ribos yra labai didelės ir yra daug sutampančių MBB. Kiekvieno MBB viduje yra nustatytas didžiausias trajektorijų skaičius, todėl norint išsaugoti ilgą istorinę trajektoriją, reikia naudoti labai daug MBB. Dėl to MBB grindžiami metodai yra labai neefektyvūs ir jie nėra masto. Užklausos dėl didelių trajektorijos duomenų rinkinių dažnai sutelkiamos į tam tikrą geografinį regioną ir per tam tikrą laiko intervalą, bet ne į vieną atskirą trajektoriją. Gali būti šimtai tūkstančių trajektorijų, sutampančių užklausos diapazone tam tikrame erdviniame ir laikiname regione. Dėl šių priežasčių labiau pageidautina suskirstyti duomenis pagal erdvę (erdvėje ir laike), ty segmentuoti trajektorijas ir grupuoti subtrajektorijas, kurios erdviniu ir laiko atžvilgiu yra arti viena kitos, taip pat uždaryti diske, kad būtų galima nuskaityti tam tikro regiono duomenis. efektyvus. „TrajStore“ [4] pasiūlė indeksavimo ir saugojimo schemą, naudojant kvadratinį medį. „TrajStore“ gerai atsako į užklausas tam tikrame geografiniame regione, tačiau yra mažiau efektyvus atsakant į užklausas per tam tikrą laikotarpį dėl sprendimo indeksuoti trajektorijas per erdvinį matmenį, po kurio seka retas laiko žymos indeksas, kuriame saugomas tik pradžios ir pabaigos laikas antspaudai kiekvienam puslapiui.

Šiame straipsnyje siūlome indeksuoti ir saugoti didelių trajektorijos duomenų rinkinių, vadinamų GCOTraj („Grid Cell Ordering Trajectory“ indeksavimas ir saugojimas), schemą. „GCOTraj“ skiria trajektorijos duomenų erdvę į daugialypės tinklelio ląsteles ir segmentuoja trajektorijas į subtrajekcijas, kad tilptų pagrindinės tinklelio ląstelės. Toje pačioje langelyje esančios trajektorijos yra išdėstytos kartu ir yra laikomos tame pačiame disko bloke. Tinklelio langeliai yra išdėstomi su vietos užpildymo kreivėmis (SFC), tokiomis kaip Hilberto kreivė, Z kreivė ir pilkojo kodo kreivė ir kt. Arba jas galima užsisakyti pagal užklausą pagal darbo krūvį pagrįstą grafiku pagrįstą užsakymą (GBO) technika. Gerai užsakius, užklausos metu bus mažiau ieškoma disko. Kadangi GCOTraj indeksuoja trajektorijas tiek erdviniu, tiek laiko dimensijomis, jis gali tiksliau nukreipti disko tinklelio ląsteles, kurios sutampa su užklausos diapazonu. Tai sumažina nereikalingų duomenų įkėlimą iš disko. „GCOTraj“ sugeba prisitaikyti prie diapazono užklausų selektyvumo tiek laiko, tiek erdvinių matmenų atžvilgiu. Paprastai istorinių trajektorijos duomenų rinkinių saugojimas yra labai statiškas [12]. Taigi šiame dokumente pateiktuose pasiūlymuose pagrindinis dėmesys skiriamas duomenų gavimo iš antrinės atminties, o ne atnaujinimų ar įterpimų, efektyvumui.

Atlikome išsamius eksperimentus naudodami tikrąjį „Microsoft GeoLife“ trajektorijos duomenų rinkinį [28] ir didesnę išplėstinę „GeoLife“ duomenų rinkinio versiją. Eksperimentai rodo, kad „GCOTraj“ lenkia pažangiausią trajektorijos saugojimo schemą „TrajStore“ koeficientu iki 16,07 IO, koeficientu iki 12,6 ieškomų diskų skaičiumi ir koeficientu iki iki 32,6 duomenų kiekio, gauto iš disko, kad atsakytume į tą pačią užklausą.

Mes atliekame šiuos įnašus: •

Mes sukuriame trajektorijų GCOTraj indeksavimo ir saugojimo schemą, kuri yra pritaikoma užklausoms, kurios yra selektyvios laike ir (arba) erdvėje. Siūlomi ir tiriami trys „GCOTraj“ variantai: „GCOTrajSP“, „2D“ pjaustomi „GCOTraj“ ir „3D GCOTraj“.

Taikome SFC arba GBO, kad nurodytume skaidytų tinklelių langelius, kad sumažintume disko paieškas, kai gaunami duomenų blokai iš disko.

Apibūdiname išlaidų įvertinimo formulę, kad įvertintume duomenų blokų gavimo iš disko efektyvumą.

Atliekame išsamius eksperimentus, kad įvertintume „GCOTraj“ našumą, palyginti su pažangiausiu „TrajStore“. Eksperimentai rodo, kad „GCOTraj“ gerokai lenkia „TrajStore“.

Likusi straipsnio dalis išdėstyta taip. 2 skyriuje aptariamas susijęs darbas. 3 skyriuje aprašome „GCOTraj“ ir tris jo variantus: „GCOTrajSP“, „2D“ pjaustytą „GCOTraj“ ir „3D GCOTraj“. 4 skyriuje pateikiami mūsų eksperimentiniai rezultatai, lyginantys GCOTraj su TrajStore. 5 skyriuje baigiamas darbas ir aptariamas būsimas darbas.


„HyR-tree“: hibridinės „flash“ / 3D XPoint atminties erdvinis indeksas

„Flash“ pagrindu sukurti SSD diskai tapo gerai įsitvirtinę saugojimo rinkoje, pakeisdami magnetinius diskus tiek įmonės, tiek vartotojų kompiuterinėse sistemose. Šių naujų prietaisų veikimo charakteristikos paskatino atlikti daugybę tyrimų, kuriais siekiama sukurti efektyvius duomenų prieigos metodus. Ankstyvaisiais darbais buvo bandoma sumažinti brangius atsitiktinius įrašus, panaudojant registravimo ir paketinio rašymo metodus, o naujausiuose - užklausų apdorojimas, pasinaudojant dideliu SSD vidiniu lygiagretumu. „3D XPoint“ yra nauja pastoviai atsiradusi atminties technologija, pasižyminti mažesniu prieigos laiku ir didesniu patvarumu, palyginti su „flash“. Tai galima tiek kaip blokinė adresuojama antrinė saugykla, tiek kaip baitų adresuojama nuolatinė pagrindinė atmintis. Tačiau didelės „3D XPoint“ kainos kol kas neleidžia jo naudoti dideliu mastu. Dėl to hibridinės saugojimo sistemos, naudojančios NAND „flash“ ir „3D XPoint“, tampa pakankama alternatyva. Šiame darbe mes siūlome „HyR-tree“ - hibridinį R-medžio variantą, kuris išlaiko dalį medžio puikiai veikiančioje 3D XPoint saugykloje. „HyR-tree“ nustato pakartotinį prieigos prie duomenų šabloną ir naudoja šiuos modelius svarbiausiems mazgams surasti. Mazgo svarbą lemia našumo padidėjimas, atsirandantis dėl jo įdėjimo į 3D XPoint įrenginį. Mes eksperimentiškai įvertinome „HyR-tree“ naudodami tikrus įrenginius ir keturis skirtingus duomenų rinkinius. Gauti rezultatai rodo, kad mūsų pasiūlymas pasiekia reikšmingą naudos padidėjimą iki 40% medžių statyboje ir iki 56% pagal užklausas.

Tai yra prenumeratos turinio peržiūra, prieiga per jūsų įstaigą.


Štai keli „Postgresql“ interviu klausimai su jų atsakymais:

Žemiau pateikiamas sąrašas Geriausi „Postgresql“ interviu klausimai ir atsakymai

1) Kas yra „PostgreSQL“?

Postgres arba tiesiog žinomas kaip Postgresql SQL pasaulyje yra viena iš plačiai ir populiariai naudojamų objektų-santykių duomenų bazių valdymo sistemoms, kuri naudojama daugiausia didelėse interneto programose. Tai viena iš atvirojo kodo objektų-reliacinių duomenų bazių sistemų, kuri taip pat yra galinga. Tai suteikia papildomos ir esminės galios įtraukiant keturias pagrindines sąvokas taip, kad vartotojas galėtų be problemų išplėsti sistemą. Jis išplečia ir naudoja SQL kalbą, kuri kartu su įvairiomis funkcijomis saugiai keičia ir saugo sudėtingų duomenų darbo krūvius.

2) Išvardykite kai kurias „Postgresql“ savybes?

Toliau pateikiamos kelios pagrindinės „Postgresql“ savybės:

  1. Objektų-santykių duomenų bazė
  2. Palaiko pagrindines operacines sistemas
  3. Palaikykite SQL ir sudėtingų SQL užklausų išplėtimą
  4. Įterpti sandoriai
  5. Lankstus API ir duomenų bazių patvirtinimas
  6. Kelių versijų lygiagretumo valdymas (MVCC) ir procedūrinės kalbos
  7. WAL ir kliento serveris
  8. Lentelės paveldėjimas ir asinchroninė replikacija

3) Išvardykite skirtingus „Postgresql“ duomenų tipus?

Yra naujų, skirtingų duomenų tipų, kuriuos palaiko „Postgresql“. Toliau pateikiami šie duomenų tipai:

  • UUID
  • Skaitmeniniai tipai
  • Būlio
  • Simbolių tipai
  • Laikini tipai
  • Geometriniai primityvai
  • Savavališkas tikslumas skaitinis
  • XML
  • Masyvai ir kt.

Vartotojai taip pat gali sukurti savo indeksus ir juos indeksuoti.

4) Išvardinkite įvairius „Postgresql“ pranašumus?

Toliau pateikiami keli „PostgreSQL“ pranašumai:

  • Stabilus
  • Patikimas
  • Ištraukiamas
  • Lengva išmokti
  • Atviro kodo
  • Sukurta didelės apimties aplinkai
  • Kryžminė platforma
  • Geresnis palaikymas
  • Lankstus

5) Kas yra „PostgreSQL“ eilutės konstantos?

A stygos konstanta „PostgreSQL“ yra tam tikro simbolio seka, kurią riboja vienos kabutės (').

"Tai yra eilutė" Constant "

6) Kas yra kelių versijų valdymas „PostgreSQL“?

Kelių versijų lygiagretumo valdymas arba MVCC „PostgreSQL“ yra naudojami siekiant išvengti nereikalingo duomenų bazės užrakinimo. Tai pašalina laiko vėlavimą, kurį vartotojas turi prisijungti prie savo duomenų bazės. Ši funkcija ar laiko delsa atsiranda, kai kažkas kitas prieina prie turinio. Visos operacijos yra registruojamos.

7) Kokie yra „PostgreSQL“ indeksai?

„PostgreSQL“ indeksai yra integruotos funkcijos ar metodai, tokie kaip GIST indeksai, maišos lentelė ir B medis (dvejetainis medis) kurią vartotojas gali naudoti norėdamas nuskaityti indeksą atgal. Vartotojai taip pat gali apibrėžti savo „PostgreSQL“ indeksus.

8) Kas yra „PostgreSQL“ žetonai?

Žetonai „PostgreSQL“ yra bet kurio šaltinio kodo sudedamosios dalys. Žinoma, kad juos sudaro daugybė specialiųjų simbolių simbolių. Tai gali būti laikoma konstantomis, cituojamais identifikatoriais, kitais identifikatoriais ir raktiniais žodžiais. Žetonai, kurie yra raktiniai žodžiai, susideda iš iš anksto apibrėžtų SQL komandų ir reikšmių. Identifikatoriai naudojami kintamųjų pavadinimams, pvz., Stulpeliams, lentelėms ir kt.

9) Kas yra lentelių skaidymas „PostgreSQL“?

Lentelių skaidymas „PostgreSQL“ yra didelio stalo padalijimo į mažesnius gabalus procesas. Padalinta lentelė yra logiška struktūra, naudojama didelei lentelei padalinti į mažesnes dalis, vadinamas pertvaromis.

10) Kaip paleisti duomenų bazės serverį naudojant „PostgreSQL“?

Kad galėtumėte pasiekti duomenų bazę, turite paleisti duomenų bazės serverį. Duomenų bazės serverio programa vadinama „Postgres“. „Postgres“ programa turi žinoti, kur rasti duomenis, kuriuos ji turėtų naudoti. Tai daroma pasirinkus -D. Taigi paprasčiausias būdas paleisti serverį yra:

11) Kas yra pgadmin naudojimas „PostgreSQL“?

Tai nemokamas atvirojo kodo GUI įrankis „PostgreSQL“ duomenų bazių administravimo įrankis, skirtas „Windows“, „Mac OS X“ ir „Linux“ sistemoms. Jis naudojamas informacijos paieškai, plėtrai, testavimui ir nuolatinei duomenų bazių priežiūrai.

12) Kas yra „Cube Root“ operatorius (|| /) „PostgreSQL“?

„PostgreSQL“ kubo šaknies operatorius (||/) yra naudojamas skaičiaus kubo šaknies gavimui.

13) Kaip mes galime pakeisti stulpelių duomenų tipą „PostgreSQL“?

Naudokite pakeisti stulpelio tipo sakinį su ALTER TABLE komanda pakeisti stulpelio tipą PostgreSQL.

14) Kaip atnaujinama statistika „Postgresql“?

Tai nėra taip sunku, kaip atrodo. Norėdami atnaujinti statistiką „PostgreSQL“, atliekama speciali funkcija, vadinama aiškiu & lsquovacuum & rsquo skambučiu. Būdas yra sukurti vakuumą, kai analizės parinktis naudojama statistikos atnaujinimui „Postgresql“

15) Palyginkite „PostgreSQL“ su „NoSQL“

Išraiška „NoSQL“ apima platų diegimų rinkinį, kuris yra nesantykinės duomenų bazės dalis. Tai apima mažas įterptąsias duomenų bazes, tokias kaip „TokyoCabinet“, masyvias grupuotas duomenų apdorojimo platformas, tokias kaip „Hadoop“, ir viską, kas yra tarp jų. Trumpai tariant, praktiškai neįmanoma komentuoti diapazono, kurį sudaro „NoSQL“ kaip tipinė klasė.

Taip pat gana dažnai diskutuojama dėl nesusijusių ir reliacinių duomenų bazių pasirinkimo, nes abi egzistuoja greta keturiasdešimt metų. Tiesą sakant, vartotojai turėtų pasirinkti duomenų bazės funkcijas, palaikymą bendruomenei ir diegimą pagal savo dabartinius programos poreikius. Be to, kelių įvairių duomenų bazių naudojimas dideliems projektams tampa labiau įprasta nei tendencija. Be to, „PostgreSQL“ vartotojai nėra išimtis.

16) Kokios bus naujos „Postgre 9.1“ savybės?

17) Paaiškinkite „PostgreSQL“ istoriją.

The „PostgreSQL“ kilmė datuojamas 1986 m. kaip POSTGRES projekto dalis Kalifornijos universitete Berklyje ir daugiau nei 30 metų aktyviai vystėsi pagrindinėje platformoje. Jis veikia visose pagrindinėse operacinėse sistemose ir nuo 2001 m. Atitinka ACID. Ji taip pat turi priedą, pvz., „PostGIS“ duomenų bazės plėtiklį. MAC OS Postgresql yra numatytoji duomenų bazė. Michelis Stonebrakeris yra „Postgresql“ tėvas, pradėjęs „Post Ingres“ projektą, skirtą palaikyti šiuolaikines duomenų bazių sistemas. „PostgreSQL“ ir „rsquos“ kūrėjai taria „PostgreSQL“, nes tai sutrumpinta kaip Postgres dėl visuotinės daugumos reliacinių duomenų bazių palaikomos SQL standarto. „PostgreSQL“, iš pradžių vadintą „Postgres“, UCB sukūrė kompiuterių profesorius Michaelas Stonebrakeris, kuris tapo „Informix Corporation“ CTO.

Akmens gamintojas „Postgres“ įkūrė 1986 m. kaip pirmtako Ingreso, kuris dabar priklauso „Computer Associates“, projektą. Taigi „Postgres“ vardas groja savo pirmtaką (kaip & ldquoafter Ingres & rdquo). „Ingres“, sukurtas nuo 1977 iki 1985 m., Buvo pratimas kuriant duomenų bazių sistemą pagal klasikinę RDBMS teoriją. „Postgres“, sukurtas 1986–1994 m., Buvo projektas, skirtas naujoms duomenų bazių koncepcijoms, tokioms kaip & ldquoobject-relational & rdquo, tyrinėti. Įmonės klasės duomenų bazė „PostgreSQL“ pasižymi tokiomis sudėtingomis funkcijomis kaip kelių versijų suderinamumo valdymas (MVCC), laiko atkūrimas, lentelių sritys, asinchroninis replikavimas, įdėtosios operacijos (išsaugojimo taškai), internetinės / karštosios atsarginės kopijos, sudėtingas užklausų planavimo / optimizavimo įrankis ir įrašymo į priekį registravimas, norint toleruoti gedimus.


Sąsaja ir duomenų architektūra užklausų peržiūrai tinklinėse informacinėse sistemose.

Tinklo informacijos šaltinius tirti tampa vis sunkiau, kai duomenų apimtis auga. Mes nustatėme bent šias informacijos paieškos problemas tinklo aplinkose:

--Duomenų apimtis: turimų duomenų kiekis sparčiai didėja. Pavyzdžiui, kai kurie jutiklių duomenys NASA Žemės stebėjimo sistemose auga gigabaitų per dieną greičiu. Organizuoti ir indeksuoti naujų įrašų kiekį sunku. Kadangi daugelis vartotojų ieško konkrečių įrašų, reikia greitai susitelkti į dominančią informaciją.

--Duomenų įvairovė: duomenys pateikiami įvairiomis formomis, pavyzdžiui, tekstu, vaizdu, garsu, vaizdo įrašu ar jų deriniais. Kai kurie formatai yra skirti konkrečiai programai, todėl paieškos ir paieškos įrankiams sunku juos identifikuoti ir suskirstyti į kategorijas.

- Lėta prieiga prie tinklo: lėta prieiga prie tinklo yra gerai žinoma informacijos paieškos tinklinėse aplinkose problema. Kai tinklo srautas yra didelis, duomenų perdavimo sparta blogėja. Todėl, jei sumažėja prieigų prie tinklo, vartotojo užduotis yra spartesnė.

Šiame straipsnyje pateikiame vartotojo sąsają, kuri palaiko efektyvų užklausų formulavimą tinklinėse informacinėse sistemose, naudojant dinamines užklausas ir užklausų peržiūras.

Dinaminės užklausos yra grafinių užklausų sąsajų išplėtimas, pagrįstas agregavimo / apibendrinimo hierarchijomis [Weiland ir Shneiderman 1993 Shneiderman 1994]. Dinaminės užklausos vartotojo sąsajos taiko tiesioginio manipuliavimo ir implikacijos principus

- vizualus užklausos atvaizdavimas

- vizualus rezultatų vaizdavimas

- greitas, prieauginis ir grįžtamasis užklausos valdymas

- pasirinkimas nurodant, o ne spausdinant, ir

- greitas ir nuolatinis grįžtamasis ryšys

Dinaminės užklausos apima naudotojų interaktyvų vaizdinių užklausų parametrų valdymą, kuris sukuria greitą, animuotą ir vaizdinį duomenų bazės paieškos rezultatų rodymą. Vartotojams koreguojant slankiklius ar mygtukus, rezultatai greitai atnaujinami (per 100 milisekundžių).

Vartotojų entuziazmas dėl užklausų peržiūrų kyla iš valdymo jausmo, kurį jie įgyja per užklausą. Empiriniai rezultatai parodė, kad dinamiškos užklausos yra veiksmingos pradedantiesiems ir ekspertams, norintiems rasti tendencijas ir pastebėti išimtis [Ahlberg et al. 1992 m. Williamsonas ir Shneidermanas. 1992 m. Taninas ir kt. 1997].

Anksti įgyvendinus dinamines užklausas, buvo naudojami palyginti nedideli kelių tūkstančių įrašų failai. Jie reikalavo, kad duomenys būtų saugomi atmintyje, kad būtų galima greitai atnaujinti ekraną. Mes sukūrėme algoritmus ir duomenų struktūras, leidžiančias tvarkyti didesnius failus (iki 100 000 įrašų) [Tanin et al. 1996], tačiau lėtas tinklo veikimas ir ribota vietinė atmintis yra kliūtys bandant naudoti dinamines užklausas didelėms paskirstytoms duomenų bazėms.

Užklausų peržiūros siūlo šios problemos sprendimą. Norėdami apibūdinti pagrindinius principus, aprašome paprastą užklausų peržiūrų pavyzdį - „Restaurant Finder“. Tada pateikiamas dviejų fazių užklausų formulavimo procesas ir sistemos architektūra. Dinaminis NASA EOSDIS (Žemės stebėjimo sistemų duomenų informacinės sistemos) užklausos vartotojo sąsajos prototipas naudojamas parodyti, kaip šis metodas buvo pritaikytas. Pateikiami ekspertų apžvalgų ir kontroliuojamo eksperimento vertinimai. Galiausiai pateikiami susiję darbai ir išvados.

Tradiciškai yra dvi informacijos ieškotojų strategijos, kaip gauti duomenis iš didelių informacinių sistemų [Marchionini 1995]. Analitinės strategijos priklauso nuo kruopštaus planavimo, užklausos terminų priminimo, iteratyvios užklausos formulavimo ir rezultatų tyrimo. Naršymo strategijos priklauso nuo to, ar vartotojas atpažįsta svarbią informaciją, todėl jos yra euristinės ir oportunistinės. Analitinės strategijos reikalauja, kad vartotojai gerai išmanytų programos sritį ir mikliai samprotautų. Naršymo strategijoms reikia mažiau žinių, tačiau gali būti sunku, kai duomenų kiekis yra didelis.

Pagal raktinius žodžius arba formomis pagrįstos sąsajos plačiai naudojamos formuojant užklausas tinklų informacinėse sistemose. Jie dažnai generuoja užklausas be rezultatų arba užklausų rezultatus, kuriuose yra daug rezultatų, kuriuos vartotojai turi naršyti. Vartotojai gali apriboti, kiek rezultatų pateikia užklausa (pvz., 20), norėdami apriboti paieškos trukmę, tačiau neįmanoma įvertinti, kiek duomenų negrąžinta ir kaip reprezentatyvūs visos paieškos vietos rezultatai. Vartotojai taip pat dažnai neranda duomenų, jei negalima atspėti tinkamų raktinių žodžių.

Užklausų peržiūros sujungia naršymą ir užklausas. Santraukos duomenys (pvz., Kiekvienos atributo vertės įrašų skaičius) nurodo vartotojams susiaurinti savo užklausų apimtį. Santraukos duomenys, kurie skiriasi priklausomai nuo duomenų bazės ir programos, pateikia duomenų bazės apžvalgą iš kelių perspektyvų. Paprastai jis yra dydžiais mažesnis nei pati duomenų bazė, ir jį galima greitai atsisiųsti, kad dinamiškai užklausų sąsają būtų galima valdyti vietoje vartotojo kompiuteryje. Todėl užklausų peržiūros palaiko dinaminę užklausos vartotojo sąsają, kai vizualinis suvestinės rodymas atnaujinamas realiu laiku, atsižvelgiant į vartotojų pasirinkimą. Vartotojai gali greitai sumažinti įrašų skaičių iki valdomo dydžio.

Užklausų peržiūros suteikia vartotojams galimybę atlikti sudėtingesnes paieškas naudojant vaizdines strategijas, ir jos turi daug privalumų:

- Sumažinti tinklo veiklą ir naršymo pastangas užkertant kelią nepageidaujamų įrašų paieškai

- vizualiai pateikti statistinę duomenų bazės informaciją, kad būtų lengviau suprasti ir tyrinėti

--palaikykite dinamines užklausas, kurios padeda vartotojams atrasti duomenų bazės modelius ir išimtis

- tinka pradedantiesiems, su pertrūkiais ar dažnai besinaudojantiems vartotojams

3. PAPRASTAS KLAUSIMŲ PERŽIŪROS PAVYZDYS: RESTORANO RASTAS

„Restaurant Finder“ (1 (a) ir 1 (b) paveikslai) iliustruoja vizualinės sąveikos su apibendrintais duomenimis sąvoką, dinaminių užklausų peržiūrų esmę. „Restorano ieškiklis“ yra skirtas padėti vartotojams nustatyti tam tikrus kriterijus atitinkančius restoranus. Vartotojai pirmiausia nurodo norimų restoranų kriterijus, pvz., Maisto rūšį ar kainų intervalą. Tai sumažina pasirinktų restoranų skaičių iki labiau valdomo dydžio (1 pav. B)). Tada užklausa pateikiama tinklui, kuris gauna daugiau duomenų apie pasirinktus restoranus. Tada vartotojai gali toliau tobulinti savo užklausas taikydami papildomus, konkretesnius kriterijus.

[1 PAVEIKSLAS IŠTRAUKTAS]

Apsvarstykite 10 000 restoranų, esančių vidurio Atlanto regione, duomenų bazę. „Restaurant Finder“ vartotojo sąsajoje yra slankikliai ir mygtukai, skirti pasirinkti norimą virtuvę, kainos diapazoną, valandų diapazoną, geografinius regionus, įvertinimą ir priimtas mokėjimo korteles. Atliekant pasirinkimus, ekrano apačioje rodoma rezultatų juosta keičiasi ilgiu proporcingai pasirinktų restoranų, kurie patenkina vartotojų pasirinkimą, skaičiui (galbūt tūkstančiai restoranų). Nulinės užklausos pašalinamos: vartotojai gali greitai pamatyti, ar yra kokių nors kinų restoranų, atidarytų po vidurnakčio, ir jie greitai supras, kad Vašingtone nėra pigių prancūziškų restoranų. Duomenų bazių paskirstymai yra matomi: vartotojai gali pastebėti, kad kinų restoranų yra daugiau nei itališkų restoranų, tačiau po vidurnakčio dirba daugiau itališkų restoranų. Užklausos peržiūroje iš tinklo atsisiunčiami tik suvestiniai duomenys, leidžiantys sąveikauti realiuoju laiku ir pašalinti tinklo vėlavimą, kol bus nustatytas naudingas duomenų pogrupis. Tada iš tinklo bus atsisiųsta daugiau informacijos apie šį pogrupį (pvz., Padidintame vietiniame žemėlapyje nurodoma geografinė padėtis, automobilių stovėjimo vietos duomenys, vietų skaičius ar neįgaliųjų prieiga), kad vartotojai galėtų patikslinti savo užklausą. Galiausiai vartotojai gali spustelėti atskirus restoranus ir peržiūrėti meniu bei nuorodas, kad pasirinktų galutinai.

4. PAGRINDINIS PAVYZDYS IR PROTOTIPAS: EOSDIS ATVEJIS

Norėdami iliustruoti savo dviejų fazių užklausų peržiūros metodą, mes naudojame NASA Žemės stebėjimo sistemos duomenų informacinę sistemą (EOSDIS).

Įvairūs vartotojai (mokslininkai, mokytojai, studentai ir kt.) Gali gauti žemės mokslo duomenis iš šimtų tūkstančių duomenų rinkinių. Duomenų rinkiniuose, pavadintuose duomenų rinkiniuose su autoritetingais metaduomenimis, yra nuotraukos, matavimai ar apdoroti duomenys iš devynių duomenų centrų visoje šalyje. Standard EOSDIS metadata include spatial coverage, time coverage, type of data, sensor type, campaign name, level of processing, etc. Classic form fill-in interfaces for EOSDIS (Figure 2) permit searches of the already large holdings, but zero-hit queries are a problem and it is difficult to estimate how much data are available on a given topic and what to do to increase or reduce the result set.

[Figure 2 ILLUSTRATION OMITTED]

An early version of our two-phase approach was implemented in Visual Basic [Doan et al, 1996]. Then a more complete prototype was implemented in Tcl/Tk (available in video [Plaisant et al. 1997a]), and more recently a working Java implementation was prepared on the World Wide Web (WWW). The interface consists of two phases: query preview and query refinement.

In the query preview (Figure 3), users select rough ranges for three attributes: geographical location (a world map with 12 regions is shown at the top of the screen), parameters (a menu list of parameters such as vegetation, land classification, or precipitation), and temporal coverage (in the lower right). The spatial coverage of datasets is generalized into continents and oceans. The temporal coverage is defined by discrete years.

[Figure 3 ILLUSTRATION OMITTED]

The number of datasets for each parameter, region, and year is shown on preview bars. The length of the preview bars is proportional to the number of the datasets containing data corresponding to the attribute value. At a glance users can see that the datasets seem to cover all areas of the globe, but there is more data on North America than South America. Users can also see that parameters and years are covered relatively uniformly in this hypothetical EOSDIS dataset collection. The result preview bar, at the bottom of the interface, displays the total number of datasets.

Only rough queries are possible since the spatial coverage of datasets is generalized into continents and oceans, while the temporal coverage is defined by discrete years.

A query is formulated by selecting attribute values. As each value is selected, the preview bars in the other attribute groups adjust to reflect the number of datasets available. For example, users might be interested only in datasets that contain data for North America, which are selected by clicking on the North America checkbox (left of the map) or by clicking on the image of North America on the map. All the preview bars change in a fraction of a second (see Figure 3(b)) to reflect the distribution of datasets for North America only. The result preview bar at the bottom changes size to indicate the number of datasets for North America (660 in this example).

Users continue to define a query by selecting from other attribute value groups. In this example, users pick the two largest attribute values for North America, "Vegetation," and "Land Classification" (see Figures 3(b) and 3(c)). The preview bars in the spatial and year attribute value groups adjust to reflect the new query.

The OR operation is used within attribute value groups, the AND operation between attribute value groups [Weiland and Shneiderman 1993]. Those AND/OR operations are made visible by the behavior of the bars which become smaller when an attribute value is specified for the first time (e.g., picking the first year) while becoming longer when additional values are added for a given attribute (e.g., when more years are added). This conjunction of disjunctions design handles many queries conveniently and allows rapid exploration that reduces the need for some more complex boolean queries [Weiland and Shneiderman 1993 Young and Shneiderman 1993].

Users further reduce the number of selected datasets by choosing specific years, in the example 1986, 1987, and 1988, three years which have data as shown on the preview bar (Figure 3(d)). These selections change the number of datasets in the other attribute value groups, and the preview bars are updated.

When the "Submit" button is pressed the rough query is submitted to the EOSDIS search engine, and the metadata of the datasets that satisfy the query are downloaded for the query refinement phase. In the example the query preview phase narrowed the search to 66 datasets.

4.4 EOSDIS Query Refinement

The query refinement interface supports dynamic queries over the metadata, i.e., over all the attributes of the datasets. These include the detailed spatial extent and temporal interval, parameters measured in the dataset, the sensor used to generate the dataset, the platform on which the sensor resides, the project with which the platform is associated, the data archive center where the data are stored, and the data-processing level which indicates raw sensor data (level 0) to highly processed data (level 4).

A temporal overview of the datasets is given in the top left (Figure 4(a)). Each dataset is now individually represented by a selectable line. Controls are provided to select values for the common attributes: the data archive center, project, platform, sensor, and data-processing level. Beside those common attributes additional attributes can be included in the metadata, but since the number of attributes may be large, menu access needs to be provided for those less common attributes. At the bottom of the screen a table lists all the datasets and gives exact values for the attributes.

[Figure 4 ILLUSTRATION OMITTED]

In the refinement phase of the query, users can select precise values for the attributes. The map, already zoomed to the area selected in the query preview, should be zoomable to allow precise selection. The time line of the overview, already narrowed to the years selected in the query preview, can be rescaled to specify narrower periods of interest.

In this second dynamic query interface the result of the query is immediately visualized on the overview. As attribute values are selected the number of lines on the overview changes to reflect the query in a few milliseconds, since there is no access to the network.

All controls are tightly coupled to do the following:

--Describe selected datasets: When users click on a dataset of the timeline overview, the corresponding attribute values are highlighted on all controls, e.g., the sensor is highlighted, the spatial coverage shown on the map, the row of the dataset table is highlighted and scrolled to the front if needed (Figure 4(b)).

--Indicate valid values: Once some attribute values have been selected, controls can reflect the now invalid values by graying them out (e.g., selecting a platform will most likely eliminate some of the sensors which will become grayed out). This can be achieved by analyzing the metadata of the datasets.

In Figure 4(c) the number of datasets was reduced by selecting the processing levels 2 and 3, two archive centers, and three projects. More details about a dataset such as descriptive information and sample data can be retrieved on demand from the network before the decision to download a full dataset is made. The Java implementation also illustrates the benefit of the World Wide Web by allowing interface objects to act as links to relevant WWW information sources. For example, each platform name is linked to a NASA page describing that platform.

The architecture supporting the two-phase query formulation consists of three layers: interface, local storage, and network (Figure 5).

[Figure 5 ILLUSTRATION OMITTED]

At the interface layer, users formulate and refine queries as described above. The query preview and query refinement interfaces provide a visual representation of the preview statistics, selected datasets, and query parameters.

The local storage layer maintains the data used to drive the dynamic query interfaces of the interface layer. These data consist of a volume preview table (summary data that indicate the number of datasets for each attribute value and intersections) for the query preview and dataset metadata for the query refinement. When users initiate a query preview session, the volume preview table is downloaded from the network databases.

The network layer is where the network activities take place. These network activities include updating the volume preview tables, providing the metadata for datasets selected from a query preview, and retrieving the details of a dataset selected in the query refinement.

The size and dimensionality of the volume preview table is a function of the number of preview attributes and the number of discrete preview values for each attribute. Consider a Restaurant Finder with three preview attributes: cuisine type, rating, and accepted credit cards. Imagine five types of cuisine, four ratings, and two acceptable credit cards. In the simplifying case where each restaurant's attribute can only take a single value the volume preview table would be a five-by-four-by-two table, with a total of 40 combinations. But in our example of the Restaurant Finder, allowable credit cards may be grouped. The cells of the volume preview table must be independent so that there must be cells for each possible combination of credit cards. Two credit cards create four possible combinations (including neither being acceptable), so the volume preview table has five-by-four-by-four or 80 combinations. Each cell in the table (i.e., each attribute value combination) holds an integer representing the number of restaurants in the database for that particular combination. In Table I, corresponding to the "three-star rated" restaurants, the cell for the 3-star Indian restaurants that accept Visa and MasterCard holds the value 98. Such tables are used to update widgets in the query preview interface.

Table I. A Slice of the Volume Preview Table for an Example Restaurant Finder. This 2D table results from specifying one of three preview attributes. In this case, the third attribute, rating, has been specified. This table is used to update preview bars in the query preview interface.

N preview attributes, yield an N-dimensional volume preview table. The total size of the table is many orders of magnitude smaller than the size of the database, or the size of the datasets' metadata. Furthermore, the volume preview table does not change size as the database grows. Even if the database has billions of records, the size of the volume preview table allows it to be loaded into local high-speed storage to support dynamic queries in the query preview phase.

5.2 Controlling the Size of the Table

Nevertheless, the number of attributes and the number of the possible values needs to be carefully chosen if the objects being searched (e.g., restaurants or datasets) can take any combinations of values for their attributes. In the simple case of the Restaurant Finder, each restaurant could have a combination of credit cards. The interface widget only had two buttons for credit cards, but the volume preview table needed four rows to represent the combinations. In the case of EOSDIS a given dataset can contain measurements of several parameters, covering several areas over several years. In the worst case (i.e., if all combinations are possible) the size of the preview table could become [2.sup.12] x [2.sup.12] x [2.sup.10] (for 12 areas, 12 parameters, and 10 time periods) which would lead to megabytes of data, much too large to load over the network and use in the preview.

A first solution is to ignore in some way the possible combinations and count twice the datasets that have two parameters, once in each cell for each parameter it contains. This will result in correct individual preview bars (e.g., the preview bar for 1990 really gives the total number of datasets that have any data for that year) but inflate total result preview bar since some datasets are counted multiple times. This might be acceptable if combinations are a small proportion of the data, which is likely to be common because of the high granularity of the selections in the query preview.

A second, more accurate solution to the problem is to analyze the number of combinations, either by looking at the type of attribute (e.g., year combinations are typically year ranges, reducing the number of combinations to 55 instead of 1024 for 10 values), or the distribution of the data itself (e.g., EOSDIS parameters are grouped into only a limited number of compatible combinations).

The first solution has the advantage of keeping the size of the volume preview very small (e.g., 12 x 12 x 10 integers for our EOSDIS prototype, i.e., much smaller than the world map graphic) the second gives a more accurate preview but requires more time and space. In our early prototype we chose to simply duplicate datasets because we did not have access to large amounts of real EOSDIS metadata. The attributes were arbitrarily selected. In our operational prototype for the Global Master Change Directory, we used a hybrid solution where the list of record IDs is kept with the counts, so that all duplicates can be removed to calculate the totals accurately, but this does not scale up very far. Recently, we have begun to deal with the challenge of scaling up the software architecture to accommodate much larger and more varied data collections. In particular, we have implemented several techniques that deal with multivalued attribute data [Plaisant et al. 1999].

To summarize, volume preview tables can become large if combinations are to be previewed accurately or if large numbers of previewing attributes or attribute values are chosen. But the query preview technique can always be tailored by reducing the number of attributes or attribute values in the query preview. The size of the preview table can also be adapted to the users' work environment (network speed, workstation type) or preferences.

5.3 Updating the Volume Preview Table

Since the data of the networked information system changes regularly, volume preview tables have to be updated. Our approach depends on the data providers being willing and able to produce and publish volume preview tables on a regular basis (weekly, daily, or hourly, depending on the application), or on third-party businesses running series of queries to build the tables. Since the preview is only meant to enter rough queries it may be acceptable to use slightly out-of-date volume preview tables. The query preview needs to make clear that the preview bar sizes are an approximation of the real volume and give the "age" of the information used. When the rough query is submitted, the (up-to-date) databases are queried and will return up-to-date data for the query refinement. At this point the number of datasets returned might be slightly different than predicted by the query preview. This might be a problem when the query preview predicts zero hits while a new dataset that would answer the query has just been added to EOSDIS. This risk has to be evaluated and adequate scheduling of the updates enforced. The Cubetree implementation of data-cubes [Roussopolos et al. 1997] seems a promising data structure, as it has efficient query updating.

5.4 Limiting the Download of Metadata

Most users and data center staff will want to limit preview requests to those whose result set is small. The submit button can be disabled when the result set size is above a recommended level (75 in our early prototype).

6. LIMITATIONS OF THE CURRENT EOSDIS PROTOTYPE

The present implementation of the query refinement interface has several limitations. The implementation of the query refinement overview will not scale up well when more than 100 datasets are returned from the query preview. The timeline of intervals will get too tall and occupy too much screen space if intervals are not allowed to overlap. Better methods of handling large numbers of intervals are needed. Possible directions include zooming, optimizing the line packing to make use of screen space, or using line thickness to indicate overlaps. The quantitative and qualitative overview of the large number of datasets is needed to monitor their filtering, but the ability to select individual lines is important when numbers have decreased enough to require browsing of individual datasets.

In our EOSDIS prototype the zooming and panning of the overview have no filtering effect, but we have implemented other examples which demonstrate the benefit of the technique (e.g., for the Library of Congress historical special collections browsing [Plaisant et al. 1997b]). Similarly the filtering by geographical location has not been developed yet in the query refinement. Zooming and selecting rectangular areas is easy, but more sophisticated selection mechanisms used in geographical information systems are probably necessary.

The query preview allows users to specify the most common boolean queries (OR within attributes and AND between attributes). This is appropriate, since the query preview is only meant to be a rough query, but more precise control over the boolean combinations needs to be provided in the query refinement. Our current prototype does not offer such capability. Menu options can be provided to change the "behavior" of widgets, or graphical tools can be provided to allow boolean combination of the widgets [Young and Shneiderman 1993].

7. EVALUATION AND USER FEEDBACK

The prototype dynamic query preview interface was presented to subjects as part of a Prototyping Workshop organized by Hughes Applied Information Systems (HAIS) in Landover, MD [Poston 1996]. A dozen NASA earth scientists who use EOSDIS to extract data for their research participated in the evaluation and reviewed several querying interfaces during the day.

The hands-on review of our prototype lasted about an hour and a hall Groups were formed with two or three evaluators and an observer/note-taker in each group. They received no training but were given five directions or starting points to explore the prototype. For example, one direction was to "Examine the relationship between the map at the top and the data shown on the bottom half of the window. Try selecting a geographic region and various attributes. How are the data displayed." Evaluators were encouraged to "think aloud" during the session, and their comments and suggestions were recorded.

The 12 professionals reacted positively to the new concepts in the query preview and query refinement interfaces. They agreed that the visual feedback provided in the query preview interface allows users to understand the distribution of datasets. A group of evaluators recommended that it would be an effective tool for subjects who did not know what data were available. Others remarked that some users would not even need to go to the refinement phase, as they would realize immediately that no data were available for them. The query preview interface was said to "allow users to select data, see relationships among data, and explore available resources."

Subjects said that they appreciated the time interval overview concept and liked to be able to select or deselect and see the changes in the overview. Subjects felt that the prototype "led the user" and that it was "an intuitive way to search data." Some users suggested that the map regions and selectable attributes be customizable so that users could interact with information in which they are interested (different specialties may require different query preview attributes). At the time of the test the prototype was set to perform an AND operation within an attribute. This meant that clicking on 1991 just after a click on 1990 would result in all the bars being shorter (since it had restricted to the datasets which had data about 1990 AND 1991). After some confusion, all groups of evaluators were able to figure out that an AND was being performed by seeing the bars grow or shrink. But it was clear that they had expected the interface to perform an OR within an attribute (i.e., retrieving all datasets having data from 1990 or 1991). This was an important change made to the prototype following the evaluation. This anecdote confirms that the visual feedback helped users understand the operations performed by the system.

After the evaluation, subjects were given a questionnaire and rated the interface positively. For a complete list of subject comments and questionnaire results, see Poston ]1996].

Twelve computer science students searched a database of films with a form fill-in interface. They were given only 10 minutes of training in the use of the interfaces. The experimental treatments in this counterbalanced within-subjects design were presence or absence of a query preview [Tanin et al. 1997]. The tasks simulated a complex browsing situation such as "Find a PG-13 musical which was produced between 1991 and 1995, if no such film is available, find a war film from the same years with the same rating, if not, try a musical or a war film from 1970-91, and as the last possibility, try a comedy from 1970-95."

The query preview treatment showed whether or not there were any films satisfying the requirements, allowing subjects to rapidly explore alternatives. In the experiment, there were no lengthy network delays, so the time differences would be much larger if there were delays. Subjects using the query preview took an average of only 36.2 seconds while others took 57.5 seconds (p [is less than] 0.05) for tasks in which the query preview attributes were partially relevant. Stronger results, 24.4 seconds versus 51.2 seconds (p [is less than] 0.05), were obtained when the tasks closely matched the query preview attributes. This dramatic doubling of speed for query previews is a strong indication of its benefits, which will be even greater in the case of network delays. For tasks in which there was no match with the query preview attributes, there was only a 10% slowdown in performance.

Subjective satisfaction was statistically significantly higher for the query preview users, who rated the query preview interfaces higher on five questions: helpful? faster? enlightening? enjoyable? use it again? Subjects also made useful suggested improvements such as rapid ways to reset the query preview.

The two examples we described illustrate a query formulation process for a networked information system consisting of two phases: query preview and query refinement.

In the query preview phase, users form a rough query by selecting rough values over a small number of attributes. The scope of the query is large, but the resolution is limited (see Figure 7). Summary data are maintained for each of the query preview attributes and intersections. The total number of items selected by the user's query is visualized on a result preview bar (at the bottom of the screen for both the EOSDIS and restaurant finder examples). Preview sizes can also be rendered on maps or charts, as illustrated in the EOSDIS prototype. These renderings must change within a fraction of a second in response to user input.

[Figure 7 ILLUSTRATION OMITTED]

Selecting appropriate attribute values or categories rapidly reduces the data volume to a manageable size. Zero-hit queries are eliminated, since users can spot them without issuing a query. Once users are satisfied with the formulated query, it is submitted over the network to the database. More details about individual records are then retrieved to refine the query.

In the query refinement phase, users construct detailed queries over all database attributes, which are applied only to those records selected in the query preview. The scope of the query is smaller, but the resolution is finer. The interface provides access to all database attributes and their full range of values.

A characteristic of the query refinement phase is the rendering of each record in a graphical overview. The overview is closely related to the widgets used to refine a query, and reflects the query. By selecting appropriate values of relevant attributes, users continue to reduce the data volume and explore the correlation among the attributes through the visual feedback. Complete details can then be obtained at any time by accessing the database across the network for individual records.

An early proposal for volume previews in a database search is described in Heppe et al. [1985]. The "Dining out in Carlton" example was provided to illustrate a search technique (for a specific restaurant) based on the volume preview of the number of the available restaurants. However, query previews were not exploited to support dynamic queries and querying in networked information systems.

Retrieval by reformulation is a method that supports incremental query formation by building on query results [Williams 1984]. Each time a user specifies a query, the system responds with query reformulation cues that give users an indication of how the repository is structured and what terms are used to index objects. Users can then incrementally improve a query by critiquing the results of previous queries. Rabbit [Williams 1984] and Helgon [Fisher and Nieper-Lemke 1989] are examples of retrieval systems based on the retrieval-by-reformulation paradigm, which is also the basis of the two-phase query formulation approach.

Harvest [Bowman et al. 1994] was designed and implemented to solve problems common to Internet users. It provides an integrated set of customizable tools for gathering information from diverse repositories, building topic-specific indexes, and searching. Harvest could be used to maintain and update the metadata servers where users can extract information and store it locally in order to support dynamic queries in both the query preview and query refinement phases.

However, Harvest, just like other WWW browsers, still applies the traditional querying technique based on keywords. In order to express a complex query, a more visual query interface may be effective. Marmotta is a form-based tool used within WWW clients to query networked databases [Capobianco et al. 1995]. The ease of use of form-based interfaces is preserved (users need not know the structure of the database). Within Marmotta, icons are used to present the domain of interest and the retrieval requests in a structured form-based interface. Icons are used in Marmotta to formulate a query. The system then translates the query into a syntactically correct format that can be handled by an HTTP server. In order to cope with the increasing data volume, for example in libraries containing millions of documents, it is common to formulate queries on a library catalog. A prototype interface using a ranked output information retrieval system (INQUERY) for a library catalog containing about 300,000 documents has been implemented [Veerasamy and Navathe 1995]. The interface supports a visualization scheme that illustrates how the query results are related to the query words. Visualizing the results of the query keeps users more informed on how the system computed the ranking of documents. Another technique, Tilebars, visualizes term distribution information in each document to supplement result lists in full-text retrieval systems [Hearst 1995].

Butterfly was developed for simultaneously exploring multiple DIALOG bibliographic databases across the Internet using 3D interactive animation techniques [Mackinlay et al. 1995]. The key technique used by Butterfly is to create a virtual environment that grows under user control as asynchronous query processes link bibliographic records to form citation graphs. Asynchronous query processes reduce the overhead associated with accessing networked databases, and automatically formulated link-generating queries reduce the number of queries that must be formulated by users. The Butterfly system provides a visually appealing display. However, it was not designed to support the formulation of complex queries.

10. CONCLUSIONS AND PROJECT UPDATE

In this article, the concepts of query previews and refinement are presented, and two prototypes are described. The evaluation results from a NASA Prototyping Workshop and a controlled experiment confirm the benefits of the query previews. We suggest strategies to control the size of the volume preview table.

An operational query preview system has been implemented for NASA's Global Master Change Directory [Greene et al. 1997]. Consensus has been rapidly reached on attributes and values selection, and performance is satisfactory. Our experience confirmed the importance of metadata accuracy and completeness. The query preview interfaces make visible any problems or holes in the metadata that are not noticeable with classic form fill-in interfaces. This could be seen as a problem, but we think that it will have a long-term beneficial effect on the quality of the metadata, as data providers will be compelled to produce more complete metadata. Our experience with the Global Master Change Directory demonstrates that the concepts are feasible in a large operational system, such as the EOSDIS directory environment.

This interface was included in 1997 within the operational GCMD where it is offered as an alternative experimental service (http://gcmd.nasa.gov). NASA is monitoring its use. As the number of Java-capable workstations grows and as the capabilities of browsers stabilize, usage is likely to increase. A second implementation using binary query previews (i.e., showing availability of data, but not counts [Plaisant et al. 1999]) is now publicly available for the Global Land Cover Facility (http://glcf.umiacs. umd.edu), a member of the NASA Earth Science Information Partnership (ESIP) Federation.

Table II. A Comparison Table of the Two Phases of the Query Formulation Process

We thank Teresa Cronnell for her graphic design of the Restaurant Finder prototype.

AHLBERG, C., WILLIAMSON, C., AND SHNEIDERMAN, B. 1992. Dynamic queries for information exploration: an implementation and evaluation. In Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI '92, Monterey, CA, May 3-7), P. Bauersfeld, J. Bennett, and G. Lynch, Eds. ACM Press, New York, NY, 619-626.

BOWMAN, C. M., DANZIG, P. B., HARDY, D. R., MANBER, U., AND SCHWARTZ, M. F. 1994. The Harvest information discovery and access system. In Proceedings of the 2nd International Conference on World Wide Web. 763-771.

CAPOBIANCO, F., MOSCONI, M., AND PAGNIN, L. 1995. Progressive HTTP-based querying of remote databases within the Marmotta iconic VQS. In Proceedings of the IEEE Workshop on Visualization. IEEE Press, Piscataway, NJ, 122-125.

DOAN, K., PLAISANT, C., AND SHNEIDERMAN, B. 1996. Query previews in networked information systems. In Proceedings of the Forum on Advances in Digital Libraries. IEEE Computer Society Press, Los Alamitos, CA, 120-129.

DOAN, K., PLAISANT, C., SHNEIDERMAN, B., AND BRUNS, T. 1997. Query previews in networked information systems: A case study with NASA environment data. SIGMOD Rec. 26, 1 (Mar.), 75--81.

FISCHER, AND NIEPER-LEMKE, H. 1989. HELGON: Extending the retrieval by reformulation paradigm. In Proceedings of the ACM Conference on Human-Computer Interaction (CHI '89, Austin, TX, Apr. 30-May 4), K. Bice and C. Lewis, Eds. ACM, New York, NY, 333-352.

GREENE, S., TANIN, E., PLAISANT, C., SHNEIDERMAN, B., OLSEN, L., MAJOR, G., AND JOHNS, S. 1997. The end of zero-hit queries: Query previews for NASA's global change master directory. Tech. Rep. CS-TR-3855. Department of Computer Science, University of Maryland, College Park, MD. To appear in the Int. J. of Digital Libraries (1999).

HEARST, M. 1995. Tilebars: Visualization of term distribution information in full text information access. In Proceedings of the ACM Conference on Human-Computer Interaction (CHI '95, Denver, CO). ACM, New York, NY, 59-66.

HEPPE, D. L., EDMONDSON, W. H., AND SPENCE, R. 1985. Helping both the novice and advanced user in menu-driven information retrieval systems. In Proceedings of the British Computer Society Conference on Human-Computer Interaction (HCI '85). British Computer Society, Swinton, UK, 92-101.

MACKINLAY, J. D., RAO, R., AND CARD, S. K. 1995. An organic user interface for searching citation links. In Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI '95, Denver, CO, May 7-11), I. R. Katz, R. Mack, L. Marks, M. B. Rosson, and J. Nielsen, Eds. ACM Press/Addison-Wesley Publ. Co., New York, NY, 67-73.

MARCHIONINI, G. 1995. Information Seeking in Electronic Environments. Cambridge Series on Human-Computer Interaction. Cambridge University Press, New York, NY.

PLAISANT, C., BRUNS, T., DOAN, K., AND SHNEIDERMAN, B. 1997a. Query Previews in Networked Information Systems: The case of EOSDIS. In CHI '97 Technical Video Program. ACM Press, New York, NY.

PLAISANT, C., MARCHIONINI, G., BRUNS, T., KOMLODI, A., AND CAMPBELL, L. 1997b. Bringing treasures to the surface: iterative design for the Library of Congress National Digital Library Program. In conference proceedings on Human factors in computing systems (CHI '97, Atlanta, Georgia, Mar. 22-27, 1997), S. Pemberton, Ed. ACM Press, New York, NY, 518-525.

PLAISANT, C., VENKATRAMAN, M., NGAMKAJORNWIWAT, K., BARTH, R., HARBERTS, B., AND FENG, W. 1999. Refining query preview techniques for data with multivalued attributes. In Proceedings of the IEEE Forum on Research and Technology Advances in Digital Libraries (ADL '99). IEEE Computer Society Press, Los Alamitos, CA, 50-59.

POSTON, J. 1996. Prototype workshop 2 (PW2) results report. Tech. Rep. 167-TP-001-001. ECS Development Team, Hughes Applied Information Systems, Landover, MD.

ROUSSOPOLOS, N., KOTIDI, Y., AND ROUSSOPOLOS, M. 1997. Cubetree: Organization of and bulk incremental updates on data cube. In Proceedings of the ACM Conference on Management of Data (SIGMOD '97). ACM, New York, NY.

SHNEIDERMAN, B. 1994. Dynamic queries for visual information seeking. IEEE Softw. 11, 6, 70-77.

TANIN, E., BEIGEL, R., AND SHNEIDERMAN, B. 1996. Incremental data structures and algorithms for dynamic query interfaces. SIGMOD Rec. 25, 4, 21-24.

TANIN, E., LOTEM, A., HADDADIN, I., SHNEIDERMAN, S., SLAUGHTER, L., AND PLAISANT, C. 1997. Evaluation of query previews: User preference and performance. Tech. Rep. CS-TR-3879. Department of Computer Science, University of Maryland, College Park, MD.

VEERASAMY, A. AND NAVATHE, S. 1995. Querying, navigating and visualizing a digital library catalog. In Proceedings of the 2nd International Conference on the Theory and Practice of Digital Libraries. http://www.csdl.tamu.edu/DL95/

WEILAND, W. J. AND SCHNEIDERMAN, B. 1993. A graphical query interface based on aggregation/generalization hierarchies. Inf. Syst. 18, 4 (June 1993), 215-232.

WILLIAMS, M. D. 1984. What makes RABBIT run?. Vid. J. Man-Mach. Stud. 21, 5 (Nov. 1984), 333-335.

WILLIAMSON, C. AND SHNEIDERMAN, B. 1992. The dynamic HomeFinder: Evaluating dynamic queries in a real-estate information exploration system. In Proceedings of the 15th Annual International ACM Conference on Research and Development in Information Retrieval (SIGIR '92, Copenhagen, Denmark, June 21-24), N. Belkin, P. Ingwersen, A. M. Pejtersen, and E. Fox, Eds. ACM Press, New York, NY, 338-346.

YOUNG, D. AND SHNEIDERMAN, B. 1993. A graphical filter/flow representation of Boolean queries: A prototype implementation and evaluation. J. Am. Soc. Inf. Sci. 44, 6 (July 1993), 327-339.

Received: May 1997 revised: December 1997 and May 1998 accepted: August 1998

This work is supported in part by NASA (NAG 52895 and NAGW 2777) and by the NSF grants NSF EEC 94-02384 and NSF IRI 96-15534.

Authors' addresses: Catherine Plaisant and B. Shneiderman, Human-Computer Interaction Laboratory, University of Maryland Institute for Advanced Computer Studies, College Park, MD 20742 email: [email protected] [email protected] http://www.cs.umd.edu/projects/ hcil K. Doan, Raytheon Corporation, 4500 Forbes Boulevard, Lanham, MD 20706 email: [email protected] T. Bruns, Delorme Mapping, P. O. Box 298, Lower Main Street, Freeport, ME 04032 email: [email protected]

Permission to make digital/hard copy of part or all of this work for personal or classroom use is granted without fee provided that the copies are not made or distributed for profit or commercial advantage, the copyright notice, the title of the publication, and its date appear, and notice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee.

[C] 1999 ACM 1046-8188/99/0700-0320 $5.00

CATHERINE PLAISANT, BEN SHNEIDERMAN, KHOA DOAN, and TOM BRUNS

Human-Computer Interaction Laboratory University of Maryland Institute for Advanced Computer Studies3


Santrauka

Following decades of research, the potential of automated rule-checking applications for building models to boost the productivity in the AECO industry has yet to fully materialize. Most efforts have been dedicated to dealing with the complexities associated with formalizing rules related to building designs for computability. To make automated rule checking applications successful, data availability and accessibility are critical components that must be addressed. Unfortunately, to-date they have not received the same level of attention. To lay a solid foundation for a robust environment of automated BIM-based rule-checking systems, this paper proposes a novel approach of transforming building data into a simplified schema (BIMRLSS) as a means of addressing this critical issue. The paper also describes an implementation of the proposed approach on a traditional database management system, which offers the primary advantage of facilitating high-performance queries and supporting a wide range of query types in real-time. More importantly, this approach not only allows alphanumeric data queries, but also enables queries on the geometry by using various spatial operators. Allowing complex spatial-based queries provides a means to significantly simplify the traditional programmatic approach to BIM-based rule-checking. This data-focused approach allows us to lower a significant barrier that currently prevents BIM-based rule-checking systems from reaching their full potential, making the checking process easier and more robust. To highlight the implications and practical benefits of the proposed method, this paper also demonstrates several application scenarios by utilizing a wide range of queries.