Viac

Dotaz Postgis na 3D kocke nepoužíva index


Testujem Postgis na nasledujúcom dotaze:

VYBERTE * Z ČASTÍC KDE pozícia &&& 'LINESTRING (0,08537 0,0738 0,0145,0,0953 0,0837 0,0345)';

ktorá vráti asi 100 000 riadkov z množiny údajov asi 100 miliónov. Schéma tabuľky je

Stĺpec "public.particles" Stĺpec Typ | Modifikátory ---------- + ------------------ + ----------- partid | celé číslo | nie nulový čas | dvojnásobná presnosť nie nulová poloha geometria | Indexy: „parts_pkey“ PRIMARY KEY, btree (partid, „time“) „parts_the_geom_gist“ gist („position“) Skontrolujte obmedzenia: „enforce_dims_the_geom“ CHECK (st_ndims („position“) = 3)

Aj keď mám index na pozícii atribútu, dotaz sa vždy vykoná s úplným skenovaním tabuľky, takže je obzvlášť pomalý.

Tiež som skúsil

nastaviť enable_seqscan = vypnuté;

ale nič to nezmenilo.

Používanie rôznych dotazov ako,

VYBERTE počet (*) Z častíc KDE ST_3DDWithin (pozícia, 'SRID = 4326; BOD (0,08537 0,0738 0,0145)', 0,01);

ktorý načítava objekty v určitej vzdialenosti od bodu, Postgres používa index, prečo to neurobí pre druhý dopyt?


Pravdepodobne ste vytvorili index 2d, nie index n-d, čo používa operátor &&&.

VYTVORTE INDEX častice_gix NA ČASTIACH POUŽÍVANÍM GIST (pozícia gist_geometry_ops_nd);

PostGIS a 3D

Ak chcete používať 3D funkcie, musíte si nainštalovať verziu, ktorá je k dispozícii na tomto blogu.

Po inštalácii PostgreSQL musíte nainštalovať ďalší softvér v nasledujúcom poradí:

vykonajte tieto príkazy v koreňovom adresári:

./konfigurovať
urobiť
sudo urobiť inštaláciu
sudo ldconfig
_____________________

vykonajte tieto príkazy v koreňovom adresári:

_____________________

./konfigurovať
urobiť
sudo urobiť inštaláciu
sudo ldconfig
_____________________

vykonajte tieto príkazy v koreňovom adresári:

./configure --with-proj --with-geos --with-pgsql
urobiť
sudo urobiť inštaláciu
______________________________________________

Teraz ste pripravení ukladať 3D modely do PostGIS.


Možnosti priestorového poľa¶

Okrem bežných možností poľa dostupných pre polia modelu Django majú priestorové polia nasledujúce ďalšie možnosti. Všetky sú voliteľné.

Nastaví SRID [2] (identita priestorového referenčného systému) poľa geometrie na zadanú hodnotu. Predvolená hodnota je 4326 (tiež známa ako WGS84, jednotky sú v stupňoch zemepisnej dĺžky a šírky).

Výber čísla SRID¶

Výber vhodného identifikátora SRID pre váš model je dôležité rozhodnutie, ktoré by mal vývojár starostlivo zvážiť. SRID je celočíselný špecifikátor, ktorý zodpovedá projekčnému systému, ktorý sa použije na interpretáciu údajov v priestorovej databáze. [3] Projekčné systémy poskytujú kontext súradniciam, ktoré určujú umiestnenie. Aj keď podrobnosti geodézie presahujú rámec tejto dokumentácie, všeobecným problémom je, že Zem je sférická a reprezentácie Zeme (napr. Papierové mapy, webové mapy) nie.

Väčšina ľudí je oboznámená s používaním zemepisnej šírky a dĺžky na odkazovanie na miesto na povrchu Zeme. Zemepisná šírka a dĺžka sú však uhly, nie vzdialenosti. Inými slovami, zatiaľ čo najkratšia dráha medzi dvoma bodmi na rovnom povrchu je priamka, najkratšia dráha medzi dvoma bodmi na zakrivenom povrchu (napríklad zem) je oblúk veľkého kruhu. [4] Na získanie vzdialeností v rovinných jednotkách (napr. V kilometroch a míľach) je teda potrebný ďalší výpočet. Používanie geografického súradnicového systému môže vývojárom neskôr spôsobiť komplikácie. Napríklad SpatiaLite nemá schopnosť vykonávať výpočty vzdialeností medzi geometriami pomocou geografických súradnicových systémov, napr. zostavenie dotazu na nájdenie všetkých bodov do 5 míľ od hranice kraja uložených ako WGS84. [5]

Časti zemského povrchu # 8217 môžu byť projektované do dvojrozmernej alebo karteziánskej roviny. Projekčné súradnicové systémy sú obzvlášť vhodné pre aplikácie špecifické pre daný región, napríklad ak viete, že vaša databáza bude pokrývať iba geometrie v Severnom Kansase, môžete zvážiť použitie projekčného systému špecifického pre tento región. Naviac sú projektované súradnicové systémy definované v karteziánskych jednotkách (napríklad metre alebo stopy), čo uľahčuje výpočty vzdialenosti.

Ak chcete vykonávať ľubovoľné dotazy na vzdialenosť pomocou bodových geometrií vo WGS84 v systéme PostGIS a chcete dosiahnuť slušný výkon, povoľte kľúčové slovo GeometryField.geography, aby sa namiesto toho používal typ geografickej databázy.

    : Databáza priestorových referenčných systémov využívajúca Django. : Webová stránka pokrývajúca rôzne projekčné systémy používané v Spojených štátoch. Väčšina amerických priestorových údajov, ktoré sa narazia, bude skôr v jednom z týchto súradnicových systémov než v geografickom súradnicovom systéme, ako je WGS84.

Spatial_index ¶

Predvolené hodnoty True. Vytvorí priestorový index pre dané pole geometrie.

Toto sa líši od možnosti poľa db_index, pretože priestorové indexy sa vytvárajú iným spôsobom ako bežné databázové indexy. Konkrétne, priestorové indexy sa zvyčajne vytvárajú pomocou variantu R-stromu, zatiaľ čo bežné databázové indexy zvyčajne používajú stromy B.


Časopriestorová databáza je databáza, ktorá spravuje priestorové aj časové informácie. Medzi bežné príklady patrí sledovanie pohybujúcich sa objektov, inteligentné dopravné systémy, celulárna komunikácia a meteorologické monitorovanie. Časopriestorový dotaz určuje objekty zahrnuté v oblasti v zadanom časovom období medzi dvoma okamihmi času a času, ktoré sa označujú ako časové okno. V kontexte tejto práce uvádzame SMaRT: Román Spatiotemporal Mysql ReTstredoveký rámec založený na systéme správy databáz MySQL a PostgreSQL. Ďalej navrhujeme demo užívateľské rozhranie, ktoré implementuje všetky jeho schopnosti, aby sme užívateľovi pomohli určiť najefektívnejšiu časopriestorovú metódu dotazu na užívateľom definovaných 2D trajektóriách. Pokiaľ je nám známe, sme prví, ktorí študujú a porovnávajú metódy riešenia dotazov na rozsah na trajektóriách nelineárnych pohybujúcich sa objektov, ktoré sú reprezentované v dvoj aj v natívnom dimenzionálnom priestore. Konkrétne je to prvýkrát, čo bol teoreticky efektívny duálny prístup implementovaný pre nelineárne trajektórie a začlenený do známeho open-source RDBMS. Zahrnuté je experimentálne hodnotenie, ktoré ukazuje výkonnosť a efektívnosť nášho prístupu.

Spyros Sioutas sa narodil v Grécku v roku 1975. V decembri 1997 ukončil štúdium na Katedre počítačového inžinierstva a informatiky (CEID) na Strojníckej fakulte Univerzity v Patras. Získal titul Ph.D. toho istého odboru v roku 2002. Teraz je docentom na katedre informatiky na Iónskej univerzite. Medzi jeho súčasné výskumné záujmy patrí: Algoritmická správa dát, Časopriestorové databázové systémy, Distribuované dátové štruktúry a P2P prekrytia, Cloudové infraštruktúry, Indexovanie, Spracovanie dotazov a Optimalizácia dotazov. Publikoval viac ako 100 príspevkov v rôznych vedeckých časopisoch a na konferenciách s rozhodcovským právom (okrem iného 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 atď.) A má viac ako 550 citácií. Bol vybraný na post postdoktorského výskumného pracovníka letnej školy „masívnych dátových súborov“ na katedre BRICS (základný výskum v informatike) na univerzite v Aarhuse v Dánsku, jún 2002. Bol hosťujúcim výskumným pracovníkom na Kings College na Londýnskej univerzite (výskum doména: String Algorithmics and I / O complexity), Londýn, Anglicko, apríl 2005. Bol tiež hosťujúcim výskumným pracovníkom v MADALGO (výskumná doména: „Deterministické datové struktury přes P2P sítě“), Aarhus, Dánsko, december 2008. Má 13 rokov pracovné skúsenosti ako vývojár, softvérový tester, administrátor databázy a projektový manažér na Computer Technology Institute (Research Unit 7) a DBIS Lab (http://di.ionio.gr/dbislab).


Úvod

GPS zariadenia sú populárne už mnoho rokov, čo vedie k zhromažďovaniu veľkého množstva súborov údajov o dráhe. Dráhy dráhy pohybujúceho sa objektu (napr. Vozidla alebo osoby) obsahujú postupnosť dátových bodov, kde každý dátový bod obsahuje polohu a časovú značku pohybujúceho sa objektu. Môže ísť o vyhľadanie všetkých ľudí v obdĺžnikovej oblasti vyhľadávania v konkrétny deň alebo všetkých vozidiel, ktoré cez víkend prešli križovatkou. Časový interval medzi dvoma po sebe nasledujúcimi bodmi môže byť niekoľko sekúnd a časové rozpätie celého súboru údajov môže byť až toľko rokov. Tieto súbory údajov majú často veľmi veľkú veľkosť a pokrývajú veľké geografické oblasti a dlhé časové obdobia. Ako zoskupiť údaje o dráhe na sekundárnom úložisku a indexovať dráhy je veľmi dôležité pre umožnenie rýchleho načítania. Problém, ktorý je potrebné riešiť v tejto štúdii, je znázornený na obr. 1, kde osi X a Y sú priestorové rozmery dráhy priestoru osi T sú časové rozmery a q1, q2 a q3 sú typickými typmi dotazov na údaje o dráhe. Typ dopytu q1 sa nachádza v špecifickej priestorovej oblasti a dlhom časovom období, čo odpovedá na otázky, ako napríklad koľko vozidiel prešlo CBD za rok, typ dotazu q2 sa zameriava na konkrétnu priestorovú oblasť aj na konkrétne časové obdobie údajového priestoru trajektórie a typ dotazu q3 je snímka trajektórií v konkrétnom čase. Odpovedanie na tieto otázky spočíva v získaní veľkého množstva údajov z disku. Táto štúdia nachádza riešenia na ukladanie súborov historických údajov o dráhe na sekundárne úložisko, ktoré umožňujú rýchle načítanie údajov pre rôzne vzory dotazov. Tento navrhovaný prístup k ukladaniu a načítaniu trajektórie je možné použiť na indexovanie a ukladanie veľkých historických údajov GPS vytvorených vozidlami flotilových spoločností na efektívne načítanie údajov z disku na analytické alebo riadiace účely alebo na návrh efektívnej schémy ukladania pre údaje o metropolitnej prevádzke (veľká historická trajektória) údaje vytvorené prístrojmi GPS) na rýchle načítanie údajov.

Mnoho existujúcich prístupov indexuje minimálne ohraničujúce boxy (MBB) jednotlivých trajektórií pomocou štruktúry podobnej R-stromu [6], [7], [8], [15], [22]. Pretože trajektórie pokrývajú široké geografické oblasti a dlhé časové obdobia, hranice MBB sú preto veľmi veľké a existuje veľa prekrývajúcich sa MBB. Existuje maximálny počet trajektórií vo vnútri každého MBB, takže na uloženie dlhej historickej trajektórie je potrebné použiť veľmi veľký počet MBB. Vďaka tomu sú prístupy založené na MBB veľmi neefektívne a nemajú dostatočný rozsah. Dotazy na veľké súbory údajov o trajektórii sa často zameriavajú na konkrétnu geografickú oblasť a počas konkrétneho časového intervalu, ale nie na jednu jednotlivú trajektóriu. Môžu existovať státisíce trajektórií prekrývajúcich rozsah dotazu v konkrétnej priestorovej a časovej oblasti. Z týchto dôvodov je vhodnejšie rozdeliť údaje podľa priestoru (priestorovo a časovo), tj rozdeliť trajektórie a zoskupiť čiastkové trajektórie, ktoré sú priestorovo a časovo blízko pri sebe, tiež tesne na disku, takže načítanie údajov pre konkrétny región je efektívne. Spoločnosť TrajStore [4] navrhla schému indexovania a ukladania pomocou štvorstromu. Aplikácia TrajStore funguje dobre pri odpovedaní na dotazy v konkrétnej geografickej oblasti, ale je menej efektívna pri odpovedaní na dotazy v konkrétnom časovom rozpätí z dôvodu rozhodnutia indexovať trajektórie najskôr cez priestorovú dimenziu, po ktorom nasleduje riedky index časovej pečiatky, ktorý uchováva iba začiatočný a koncový čas pečiatky pre každú stránku.

V tomto príspevku navrhujeme schému indexovania a ukladania pre veľké súbory údajov o trajektórii, ktoré sa nazývajú GCOTraj (indexovanie a ukladanie trajektórie Grid Cell Ordering Trajectory). GCOTraj rozdeľuje dátový priestor trajektórie do multidimenzionálnych buniek mriežky a segmentuje trajektórie do sub-trajektórií, aby sa zmestili do základných buniek mriežky. Sub-trajektórie v tej istej bunke sú umiestnené spolu a sú uložené v rovnakom bloku na disku. Bunky mriežky sú zoradené podľa kriviek vyplňovania priestoru (SFC), ako sú napríklad Hilbertova krivka, Z-krivka a šedá krivka kódu atď. Alternatívne je možné ich objednať pomocou dotazu založeného na grafe založenom na objednávke (GBO). technika. Dobré poradie povedie k menšiemu počtu hľadaní disku počas doby zadania dotazu. Pretože GCOTraj indexuje trajektórie v priestorovej aj časovej dimenzii, je schopný presnejšie zacieliť na bunky mriežky na disku, ktoré prekrývajú rozsah dotazu. To znižuje načítanie nadbytočných údajov z disku. GCOTraj sa dokáže prispôsobiť selektivite dotazov na rozsah z hľadiska časového aj priestorového rozmeru. Uloženie súborov historických údajov o dráhe je obvykle veľmi statické [12]. Takže návrhy v tomto dokumente sa zameriavajú na efektívnosť získavania údajov zo sekundárneho úložiska namiesto aktualizácií alebo vkladaní.

Uskutočnili sme rozsiahle experimenty s použitím skutočnej množiny údajov trajektórie Microsoft GeoLife [28] a väčšej rozšírenej verzie množiny údajov GeoLife. Experimenty naznačujú, že GCOTraj prekonáva najmodernejšiu schému ukladania trajektórií TrajStore až o 16,07 v čase IO, až o 12,6 v počte vyhľadávaní diskov a o viac na 32,6 v množstve dát získaných z disku na zodpovedanie rovnakého dotazu.

Poskytujeme nasledujúce príspevky: •

Vyvíjame schému indexovania a ukladania GCOTraj pre trajektórie, ktorá je adaptívna na dotazy, ktoré sú selektívne pre čas a / alebo priestor. Navrhnuté a študované sú tri varianty GCOTraj, GCOTrajSP, 2D nakrájaný GCOTraj a 3D GCOTraj.

Aplikujeme SFC alebo GBO na objednanie buniek rozdelenej mriežky, aby sme znížili počet vyhľadávaní disku pri načítaní dátových blokov z disku.

Popisujeme vzorec na hodnotenie nákladov na vyhodnotenie efektívnosti načítania dátových blokov z disku.

Vykonávame rozsiahle experimenty na vyhodnotenie výkonu GCOTraj v porovnaní s najmodernejším TrajStore. Pokusy ukazujú, že GCOTraj výrazne prekonáva TrajStore.

Zvyšok príspevku je načrtnutý nasledovne. Oddiel 2 pojednáva o súvisiacich prácach. V časti 3 popisujeme GCOTraj a jeho tri varianty, GCOTrajSP, 2D nakrájaný GCOTraj a 3D GCOTraj. Oddiel 4 predstavuje naše experimentálne výsledky porovnávajúce GCOTraj s TrajStore. Časť 5 uzatvára príspevok a pojednáva o budúcej práci.


HyR-strom: priestorový index pre hybridné úložisko flash / 3D XPoint

Flashové disky SSD sa na trhu s úložnými priestormi osvedčili a nahradili magnetické disky v podnikových aj spotrebiteľských počítačových systémoch. Výkonové charakteristiky týchto nových zariadení podnietili značné množstvo výskumu zameraného na vývoj efektívnych metód prístupu k údajom. Rané diela sa pokúšali znížiť nákladné náhodné zápisy využívajúce techniky protokolovania a dávkového zápisu, zatiaľ čo tie novšie sa zaoberali spracovaním dotazov a využívali výhody vysokej vnútornej paralelnosti diskov SSD. 3D XPoint je nová technológia energeticky nezávislej pamäte, ktorá sa nedávno objavila a ktorá sa v porovnaní s bleskom vyznačuje kratšími časmi prístupu a vyššou odolnosťou. Je k dispozícii ako bloková adresovateľná sekundárna pamäť a ako bajt adresovateľná trvalá hlavná pamäť. Vysoké náklady na 3D XPoint však momentálne bránia jeho prijatiu vo veľkých mierkach. Toto robí hybridné úložné systémy využívajúce NAND flash a 3D XPoint dostatočnou alternatívou. V tejto práci navrhujeme HyR-strom, hybridný variant R-stromu, ktorý pretrváva časť stromu vo vysoko výkonnom 3D XPoint úložisku. HyR-strom identifikuje vzor opakovaného prístupu k údajom a pomocou týchto vzorov lokalizuje najdôležitejšie uzly. Dôležitosť uzla je určená zvýšením výkonu, ktoré vyplýva z jeho umiestnenia v zariadení založenom na 3D XPoint. Experimentálne sme vyhodnotili HyR-strom pomocou reálnych zariadení a štyroch rôznych datasetov. Získané výsledky ukazujú, že náš návrh dosahuje významné zvýšenie výkonu až 40% pri stavbe stromov a až 56% pri dotazoch na rozsah.

Toto je ukážka obsahu predplatného, ​​prístup cez vašu inštitúciu.


Tu je niekoľko otázok z rozhovoru Postgresql s ich odpoveďami:

Nižšie je uvedený zoznam Najlepšie otázky a odpovede z rozhovoru pre Postgresql

1) Čo je to PostgreSQL?

Postgres alebo jednoducho známe ako Postgresql vo svete SQL je jedným z často a populárne používaných pre objektovo-relačný systém správy databáz, ktorý sa používa hlavne vo veľkých webových aplikáciách. Je to jeden z open-source objektovo-relačných databázových systémov, ktorý je tiež výkonný. Poskytuje dodatočný a podstatný výkon začlenením štyroch základných konceptov takým spôsobom, že používateľ môže systém bez problémov rozšíriť. Rozširuje a používa jazyk SQL kombinovaný s rôznymi funkciami na bezpečné zväčšenie a uloženie zložitých dátových úloh.

2) Zoznam niektorých funkcií Postgresql?

Nasleduje niekoľko hlavných funkcií Postgresql:

  1. Objektovo-relačná databáza
  2. Podporuje hlavné operačné systémy
  3. Podpora rozšíriteľnosti pre SQL a zložité dotazy SQL
  4. Vnorené transakcie
  5. Flexibilné overenie API a databázy
  6. Viacúrovňové riadenie súbežnosti (MVCC) a procedurálne jazyky
  7. WAL a klientský server
  8. Dedičnosť tabuľky a asynchrónna replikácia zosilňovača

3) Zoznam rôznych dátových typov Postgresql?

Postgresql podporuje nové, rôzne typy údajov. Nasledujú tieto typy údajov:

  • UUID
  • Číselné typy
  • Boolovský
  • Typy znakov
  • Časové typy
  • Geometrické primitívy
  • Ľubovoľná presnosť číselná
  • XML
  • Polia atď.

Používatelia môžu tiež vytvárať svoje indexy a nechať ich indexovať.

4) Zoznam rôznych výhod Postgresql?

Nasleduje niekoľko výhod PostgreSQL:

  • Stabilný
  • Spoľahlivý
  • Rozšíriteľné
  • Ľahko sa učiť
  • Open source
  • Navrhnuté pre prostredia s veľkým objemom
  • Cross Platform
  • Lepšia podpora
  • Flexibilné

5) Čo sú to reťazcové konštanty v PostgreSQL?

A reťazcová konštanta v PostgreSQL je postupnosť nejakého znaku, ktorá je ohraničená jednoduchými úvodzovkami (').

„Toto je reťazec konštantný“

6) Čo je to kontrola viacerých verzií v PostgreSQL?

Viacúrovňové riadenie súbežnosti alebo MVCC v PostgreSQL sa používa na zabránenie zbytočnému uzamknutiu databázy. Týmto sa odstráni časové oneskorenie pre používateľa pri prihlasovaní do svojej databázy. Táto funkcia alebo časové oneskorenie nastane, keď k obsahu pristupuje niekto iný. Všetky transakcie sa vedú ako záznam.

7) Aké sú indexy PostgreSQL?

Indexy PostgreSQL sú zabudované funkcie alebo metódy ako GIST indexy, hašovací stôl a B-strom (binárny strom) ktoré môže používateľ použiť na spätné skenovanie indexu. Používatelia môžu tiež definovať svoje indexy PostgreSQL.

8) Čo sú tokeny v PostgreSQL?

Tokeny v PostgreSQL sú stavebnými kameňmi každého zdrojového kódu. Je známe, že obsahujú mnoho špeciálnych symbolov znakov. Môžu sa považovať za konštanty, citované identifikátory, ďalšie identifikátory a kľúčové slová. Tokeny, ktoré sú kľúčovými slovami, pozostávajú z preddefinovaných príkazov a významov SQL. Identifikátory sa používajú na vyjadrenie názvov premenných, ako sú stĺpce, tabuľky atď.

9) Čo je rozdelenie tabuľky v PostgreSQL?

Delenie tabuliek v PostgreSQL je proces rozdelenia veľkého stola na menšie kúsky. Rozdelená tabuľka je logická štruktúra, ktorá sa používa na rozdelenie veľkej tabuľky na menšie časti, ktoré sa nazývajú oddiely.

10) Ako spustiť databázový server v PostgreSQL?

Predtým, ako budete mať prístup k databáze, musíte byť schopní spustiť databázový server. Serverový program databázy sa nazýva Postgres. Program Postgres musí vedieť, kde nájde údaje, ktoré má použiť. To sa deje s voľbou -D. Najjednoduchší spôsob spustenia servera je teda:

11) Čo je použitie pgadminu v PostgreSQL?

Je to bezplatný open source nástroj grafického používateľského rozhrania PostgreSQL na správu databázy pre systémy Windows, Mac OS X a Linux. Používa sa na získavanie informácií, vývoj, testovanie a priebežnú údržbu databáz.

12) Čo je koreňový operátor kocky (|| /) v PostgreSQL?

Koreňový operátor kocky PostgreSQL (||/) sa používa na získanie koreňovej kocky čísla.

13) Ako môžeme zmeniť dátový typ stĺpcov v PostgreSQL?

Použite príkaz na zmenu typu stĺpca príkazom ALTER TABLE na zmenu typu stĺpca v PostgreSQL.

14) Ako sa aktualizujú štatistiky v Postgresql?

Nie je to také ťažké, ako sa zdá. Pre aktualizáciu štatistík v PostgreSQL je vytvorená špeciálna funkcia s názvom explicitné & lsquovacuum & rsquo volanie. Metóda, ktorú musíte urobiť, je vytvoriť vákuum, kde sa na aktualizáciu štatistík v Postgresql používa voľba Analyse

15) Porovnajte „PostgreSQL“ s „NoSQL“

Výraz „NoSQL“ zahŕňa širokú škálu implementácií, ktoré sú súčasťou nerelačnej databázy. Patria sem drobné vložené databázy, ako napríklad TokyoCabinet, obrovské zhromaždené platformy na spracovanie údajov, ako je Hadoop, a všetko medzi tým. Stručne povedané, je prakticky nemožné komentovať rozsah, ktorý predstavuje NoSQL ako typická trieda.

O výbere medzi nerelačnými a relačnými databázami sa tiež často diskutuje, pretože obe existujú navzájom už viac ako štyridsať rokov. Používatelia by sa v skutočnosti mali rozhodnúť pre funkcie, komunitnú podporu a implementáciu databázy podľa svojich aktuálnych potrieb aplikácie. Používanie viacerých rôznych databáz pre veľké projekty sa navyše stáva viac normou ako trendom. Používatelia PostgreSQL navyše nie sú výnimkou.

16) Aká bude nová charakteristika Postgre 9.1?

17) Vysvetlite históriu PostgreSQL.

The pôvod PostgreSQL sa datuje do roku 1986 ako súčasť projektu POSTGRES na Kalifornskej univerzite v Berkeley a má viac ako 30 rokov aktívneho vývoja na základnej platforme. Beží na všetkých hlavných operačných systémoch a je kompatibilný s ACID od roku 2001. Má tiež doplnok ako databázový predlžovač PostGIS. V systéme MAC OS je Postgresql predvolenou databázou. Michel Stonebraker je otcom Postgresql, ktorý zahájil projekt Post Ingres na podporu súčasných databázových systémov. Vývojári PostgreSQL a rsquos vyslovujú PostgreSQL ako Skrátene ako Postgres kvôli všadeprítomnej podpore štandardu SQL medzi väčšinou relačných databáz. PostgreSQL, pôvodne nazývaný Postgres, vytvoril na UCB profesor počítačovej vedy Michael Stonebraker, ktorý sa stal CTO spoločnosti Informix Corporation.

Stonebraker založil Postgres v roku 1986 ako nadväzujúci projekt na svojho predchodcu Ingres, ktorý teraz vlastní spoločnosť Computer Associates. Názov Postgres sa tak odohráva od svojho predchodcu (ako v & ldquoafter Ingres & rdquo). Ingres, vyvinutý v rokoch 1977 až 1985, bol cvičením pri vytváraní databázového systému podľa klasickej teórie RDBMS. Postgres, vyvinutý v rokoch 1986-1994, bol projekt zameraný na prelomenie nových priekopníkov v databázových konceptoch, ako je prieskum & ldquoobject-relačných & rdquo technológií. PostgreSQL je podniková databáza, ktorá sa môže pochváliť sofistikovanými funkciami, ako je napríklad Multi-Version Concurrency Control (MVCC), obnova v čase, tabuľkové priestory, asynchrónna replikácia, vnorené transakcie (body uloženia), online / hotové zálohy, prepracovaný plánovač / optimalizátor dotazov a zapisovanie dopredu pre odolnosť proti chybám.


Rozhranie a dátová architektúra na ukážku dotazu v sieťových informačných systémoch.

S rastúcim objemom údajov je prieskum sieťových informačných zdrojov čoraz ťažší. Zistili sme minimálne tieto problémy s získavaním informácií v sieťových prostrediach:

--Data Volume: Množstvo dostupných údajov sa rýchlo zvyšuje. Napríklad niektoré údaje zo senzorov v systémoch pozorovania Zeme NASA rastú rýchlosťou gigabajtov za deň. Organizácia a indexácia objemu nových záznamov je zložitá. Pretože mnoho používateľov vyhľadáva konkrétne záznamy, je potrebný rýchly spôsob zamerania na zaujímavé informácie.

--Rozmanitosť údajov: Údaje majú rôzne podoby, napríklad text, obrázok, zvuk, video alebo ich kombinácie. Niektoré formáty sú špecifické pre konkrétnu aplikáciu, čo sťažuje vyhľadávacím a vyhľadávacím nástrojom ich identifikáciu a kategorizáciu.

--Pomalý prístup do siete: Pomalý prístup do siete je známym problémom získavania informácií v sieťových prostrediach. Ak je sieťová prevádzka vysoká, rýchlosť prenosu dát sa zhoršuje. Preto sa dokončenie úlohy používateľa urýchli, ak sa zníži počet sieťových prístupov.

V tomto článku predstavujeme používateľské rozhranie na podporu efektívnej formulácie dotazov pre sieťové informačné systémy využívajúce dynamické dotazy a ukážky dotazov.

Dynamické dotazy sú rozšírením grafických rozhraní dotazov na základe hierarchií agregácie / generalizácie [Weiland a Shneiderman 1993 Shneiderman 1994]. Používateľské rozhrania dynamických dotazov uplatňujú princípy priamej manipulácie a implikujú

--vizuálne znázornenie dotazu

--vizuálne znázornenie výsledkov

- rýchla, prírastková a reverzibilná kontrola nad dotazom

--výber ukazovaním, nie písaním a

- okamžitá a nepretržitá spätná väzba

Dynamické dotazy zahŕňajú interaktívne riadenie parametrov vizuálneho dotazu používateľmi, ktoré generujú rýchle, animované a vizuálne zobrazenia výsledkov vyhľadávania v databáze. Keď používatelia nastavia posúvače alebo tlačidlá, výsledky sa aktualizujú rýchlo (do 100 milisekúnd).

Nadšenie, ktoré používatelia majú z ukážok dotazov, vychádza z pocitu kontroly, ktorý nad dotazom získajú. Empirické výsledky preukázali, že dynamické dotazy sú účinné pre začínajúcich aj skúsených používateľov pri hľadaní trendov a náhodných výnimiek [Ahlberg et al. 1992 Williamson a Shneiderman 1992 Tanin a kol. 1997].

Včasné implementácie dynamických dotazov využívali relatívne malé súbory niekoľkých tisíc záznamov. Vyžadovali, aby boli údaje uložené v pamäti, aby bola zaručená rýchla aktualizácia displeja. Vyvinuli sme algoritmy a dátové štruktúry, ktoré umožňujú prácu s väčšími súbormi (až 100 000 záznamov) [Tanin a kol. 1996], ale pomalý výkon siete a obmedzená lokálna pamäť sú prekážkami pri pokuse o použitie dynamických dotazov pre veľké distribuované databázy.

Ukážky dotazov ponúkajú riešenie tohto problému. Popíšeme jednoduchý príklad ukážok dotazov, Vyhľadávač reštaurácií, ktorý ilustruje základné princípy. Potom je predstavený dvojfázový proces formulácie dotazu a architektúra systému. Na preukázanie uplatnenia tohto prístupu sa používa prototyp používateľského rozhrania dynamického dotazu pre systém EOSDIS (Informačné systémy pre pozorovanie zeme pozorovacích systémov Zeme) NASA. Uvádzajú sa hodnotenia z odborných posudkov a z kontrolovaného experimentu. Na záver sú predstavené súvisiace práce a závery.

Pre hľadačov informácií tradične existujú dve stratégie na získanie údajov z veľkých informačných systémov [Marchionini 1995]. Analytické stratégie závisia od starostlivého plánovania, vybavenia si termínov dotazu, iteračného formulácie dotazu a preskúmania výsledkov. Stratégie prehľadávania závisia od rozpoznania relevantných informácií používateľom, a preto sú heuristické a oportunistické. Analytické stratégie vyžadujú, aby používatelia mali dobré znalosti o aplikačnej doméne a boli zruční v uvažovaní. Stratégie prehľadávania vyžadujú menej znalostí, ale pri veľkom objeme dát môžu byť náročné.

Na formuláciu dotazov na sieťových informačných systémoch sa často používajú rozhrania zamerané na kľúčové slová alebo formuláre. Často generujú dotazy s nulovým prístupom alebo výsledky dotazov, ktoré obsahujú veľké množstvo výsledkov, ktoré musia používatelia prehliadať. Používatelia môžu obmedziť počet výsledkov, ktoré dotaz vráti (napr. 20), aby sa tak obmedzilo trvanie vyhľadávania, ale nie je možné odhadnúť, koľko údajov sa nevrátilo, a nakoľko sú výsledky reprezentatívne pre celý vyhľadávací priestor. Používatelia tiež často nedokážu nájsť údaje, ak nie je možné uhádnuť vhodné kľúčové slová.

Ukážky dotazov kombinujú prehliadanie a dopytovanie. Súhrnné údaje (napríklad počet záznamov pre každú hodnotu atribútu) vedú používateľov k zúženiu rozsahu ich dotazov. Súhrnné údaje, ktoré sa líšia v závislosti od databázy a aplikácie, poskytujú prehľad o databáze z niekoľkých hľadísk. Spravidla je o rádovo menšia ako samotná databáza a je možné ju rýchlo stiahnuť a vytvoriť tak rozhranie pre dynamické dotazy lokálne v počítači používateľa. Preto náhľady dotazov podporujú užívateľské rozhranie dynamických dotazov, kde sa vizuálne zobrazenie súhrnu aktualizuje v reálnom čase v reakcii na výber používateľov. Používatelia môžu rýchlo znížiť počet záznamov na zvládnuteľnú veľkosť.

Ukážky dotazov umožňujú používateľom vykonávať zložitejšie vyhľadávania pomocou vizuálnych stratégií a majú veľa výhod:

--znížte aktivitu v sieti a úsilie pri prehľadávaní zabránením načítania nežiaducich záznamov

- - vizuálne predstavujú štatistické informácie z databázy, ktoré uľahčujú porozumenie a preskúmanie

--podpora dynamických dotazov, ktoré pomáhajú používateľom objavovať vzory a výnimky v databáze

- vhodné pre začiatočníkov, občasných alebo častých používateľov

3. JEDNODUCHÝ PRÍKLAD DOPYTU NA ZÁZNAM: REŠTAURAČNÝ FINDER

Vyhľadávač reštaurácií (obrázky 1 (a) a 1 (b)) ilustruje koncept vizuálnej interakcie so súhrnnými údajmi, podstatu dynamických náhľadov dotazov. Vyhľadávač reštaurácií je navrhnutý tak, aby používateľom pomohol identifikovať reštaurácie, ktoré zodpovedajú určitým kritériám. Používatelia najskôr určia kritériá reštaurácií, ktoré chcú, napríklad druh jedla alebo cenové rozpätie. To znižuje počet vybraných reštaurácií na lepšie zvládnuteľnú veľkosť (obrázok 1 (b)). Žiadosť sa potom odošle do siete, ktorá načíta viac údajov o vybraných reštauráciách. Používatelia potom môžu pokračovať v zdokonaľovaní svojich dotazov pomocou ďalších, konkrétnejších kritérií.

[Obrázok 1 ILUSTRÁCIA VYLÚČENÁ]

Zvážte databázu 10 000 reštaurácií v stredoatlantickom regióne. Používateľské rozhranie vyhľadávača reštaurácií poskytuje posúvače a tlačidlá na výber požadovanej kuchyne, rozsahu nákladov, rozsahu hodín, geografických oblastí, hodnotení a akceptovaných platobných kariet. Pri výbere sa výsledková lišta zobrazená v dolnej časti obrazovky bude meniť úmerne s počtom vybraných reštaurácií, ktoré vyhovujú výberu používateľov (možno tisíce reštaurácií). Nulové zásahy sú eliminované: používatelia môžu rýchlo zistiť, či sú nejaké čínske reštaurácie otvorené po polnoci, a rýchlo si uvedomia, že vo Washingtone DC neexistujú žiadne lacné francúzske reštaurácie. Distribúcie databáz sú viditeľné: používatelia môžu zistiť, že čínskych reštaurácií je viac ako talianskych, ale viac talianskych reštaurácií je otvorených po polnoci. V ukážke dotazu sa zo siete sťahujú iba súhrnné údaje, čo umožňuje interakciu v reálnom čase a eliminuje oneskorenia v sieti, kým nebude identifikovaná užitočná podmnožina údajov. Potom sa zo siete stiahnu ďalšie podrobnosti o tejto podmnožine (napr. Geografické umiestnenie vyznačené na zväčšiteľnej miestnej mape, údaje o dostupnosti parkovania, počet miest na sedenie alebo prístup pre hendikepovaných), ktoré používateľom umožnia spresniť ich dopyt. Nakoniec môžu používatelia kliknúť na jednotlivé reštaurácie a skontrolovať ponuky a pokyny, aby vykonali konečný výber.

4. HLAVNÝ PRÍKLAD A PROTOTYP: PRÍPAD EOSDIS

Na ilustráciu nášho dvojfázového prístupu k náhľadu dotazu používame dátový informačný systém NASA Earth Observing System Data (EOSDIS).

Rôzni používatelia (vedci, učitelia, študenti atď.) Môžu získať údaje o vede o Zemi zo státisícov súborov údajov. Datasety, pomenované zbierky údajov s autoritatívnymi metadátami, obsahujú obrázky, merania alebo spracované údaje z deviatich dátových centier po celej krajine. 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?. Int. 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


Abstract

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.