Benchmarking prostornih baza
Cilj
Napraviti funkcionalnu analizu i performace testove na najčešče korištenim RDBMS sa prostornim ekstenzijama.
- Rok realizacije: 06.2011
Metodologija
Prostorne baze
- Oracle XE **
- PostgrSQL/Postgis ( POSTGIS="1.5.2" GEOS="3.2.2-CAPI-1.6.2" PROJ="Rel. 4.7.1, 23 September 2009" LIBXML="2.6.31" USE_STATS) **
- Informix C Edition **
- SQLite/SpatiaLite ** / ( instalacija)
- DB2?
- MySQL?
- Ingres (http://community.ingres.com/wiki/GeoDemoLinuxSetup)?
- MSSQL Server (ako bude bilo Win mashina)?
-- ** instalirano
Prostorni upiti i test performansi
- Load (time)
- Database size (size)
- Create spatial index (size | time)
- ST_Intersect (+ overlap filter 3 velicine polygona)(Vertical polyline, Diagonal polyline, Multi-polyline) - sve ovo t select count(*) - sa result object Ovaj dio je glavi -razraditi!
- St_Within
- ST_Lenght
- ST_Area
- ST_Distance
- ... pogledati funkcionalnu analizu pa raspisati do kraja
Funkcionalana analiza (tri kategorije funkcija)
- data type component access (Point, LineString, Polygon, GeomCollection, MultiPoint, MultiLineString, MultiPolygon),
- operatori za topološke odnose (Equals, Disjoint, Intersects, Touches, Crosses, Within, Contains, Overlaps, Relate)
- geometrijske operacije (Distance, ConvexHull, Intersection, Union, Difference, SymDifference) - funkcije prostorne analize i
- agregatne funkcije (napraviti spatial joine na tablicama).
Podaci
- Polygoni
- 50 000 recorda
- 100 000 recorda
- 1 000 000 recorda
- Rectangular area (za geometrijske i topološke operacije)
- mali polygon
- srednji polygon
- veliki polygon
Izvori podataka:
- 1. OSM podaci (pripremljeni podaci za benchmarking - područje njemačke)
Scenariji
- Scenarij 1: Presjecanje dijagonalnom multilinijom na tri seta podatak (+select count(*))
- Scenarij 2: Presjecanje okomitom multilinijom na tri seta podataka (+ select count(*))
- Scenarij 3: Presjecanje sa malim, srednjim i velikim poligonom na tri seta podataka (+ select count(*))
- Scenarij 4: Transformacijaizmeđu referentnih sustava
- Scenarij 5: Pronađi sve objekte koji se preklapaju sa danim poligonom (na tri poligona različitih veličina).
- Scenarij 6: Pronađi i izreži sve objekte unutar zadanog polygona
- Scenarij 7: Union većeg broja polygona
Hardware
- Mljac server (mama): za sada raspoloziva dvije virtualne masine 193.198.207.15 i 193.198.207.16 na kojima je ubuntu (ima nesto instaliranog sw-a)
- Dell Poweredge 2950: 2GB RAM, Intel Xeon 3.0 quad core, 2x120GB HDD (RAID0), Ubuntu 8.04 Server Edition, Oracle XE 10.2.0.1.0
Sustav i konfiguracija sustava
- OS: Trenutno ubuntu 8.04 LTS (Upgrade?)
- Otvoreno pitanje: Da li za svaku bazu postaviti isti, cist i isto konfiguriran OS ili sve stavljati na isti OS i ubijati deamone/procese i ine nametnike?
Zadaci
Sami možete preuzimati obaveze sa popisa zadataka.
- 1. Konceptualno dogovoriti koje i kakve prostorne upite koristiti u benchmarkingu.
- 2. Napisati SQL upite korištenjem ST_funkcija (definirane u t.1))
- Upiti za Oracle: (???)
- Upiti za Postgres/PostGIS: (???)
- Upiti za Informix: (???)
- 3. Priprema podataka
- OSM:
- Područje: Njemačka (shapefile download)
- Podaci: POI, ceste/ulice
- Napraviti triangulaciju na POI-ima kako bi dobili što veći broj polygona.
- Razdvojiti polygone dobivene triangulacijom na tri dataset-a (cca 50000/100000/1000000 objekata)
- Na odabranom području napraviti tri polygona "Rectangular area" za preklope.
- OSM:
Korisni linkovi:
- http://www.gdmc.nl/publications/2002/Testing_current_DBMS.pdf - Odlično!!!
- http://www.bostongis.com/PrinterFriendly.aspx?content_name=sqlserver2008r2_oracle11gr2_postgis15_compare (usporedba postgis/mssql/oracle)
- http://wiki.oracle.com/page/Database+Benchmarking
- http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.30.5401&rep=rep1&type=pdf
- http://dmap.nrlssc.navy.mil/dmap/pubs/documents/benchmarking.pdf