Benchmarking prostornih baza
Revision as of 06:52, 26 January 2011 by Wiki-Darko (talk | contribs)
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 spatial
- Oracle + ArcSDE
- Postgis
- Informix
- DB2
- SpatiaLite?
- MySQL ?
- Ingres (http://community.ingres.com/wiki/GeoDemoLinuxSetup)?
- MSSQL Server (ako bude bilo Win mashina)
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
- 2. napraviti triangulaciju nekom setu podataka (OSM POI? .. a da bi se dobio veliki broj polygona)
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: