Difference between revisions of "Benchmarking prostornih baza"
Jump to navigation
Jump to search
Wiki-Darko (talk | contribs) |
Wiki-Darko (talk | contribs) |
||
(18 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | Napraviti funkcionalnu analizu i performace testove na najčešče korištenim RDBMS sa prostornim ekstenzijama. | + | =Cilj= |
+ | Napraviti funkcionalnu analizu i performace testove na najčešče korištenim RDBMS sa prostornim ekstenzijama. | ||
+ | * '''Rok realizacije: 06.2011''' | ||
+ | |||
=Metodologija= | =Metodologija= | ||
===Prostorne baze=== | ===Prostorne baze=== | ||
− | *Oracle | + | *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) '''**''' |
− | *Postgis | + | *Informix C Edition '''**''' |
− | *Informix | + | *SQLite/SpatiaLite '''**''' / ([[Spatialite Instalacija | instalacija]]) |
− | * | + | |
− | * | + | |
− | *MySQL ? | + | *DB2? |
+ | *MySQL? | ||
*Ingres (http://community.ingres.com/wiki/GeoDemoLinuxSetup)? | *Ingres (http://community.ingres.com/wiki/GeoDemoLinuxSetup)? | ||
+ | *MSSQL Server (ako bude bilo Win mashina)? | ||
+ | |||
+ | -- '''**''' instalirano | ||
===Prostorni upiti i test performansi=== | ===Prostorni upiti i test performansi=== | ||
Line 22: | Line 29: | ||
*ST_Area | *ST_Area | ||
*ST_Distance | *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=== | ===Podaci=== | ||
− | *50 000 recorda | + | * Polygoni |
− | *100 000 recorda | + | **50 000 recorda |
− | *1 000 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 ([http://www.geoinfo.geof.hr/~mmiler/testdata.zip pripremljeni podaci za benchmarking] - područje njemačke) | ||
===Scenariji=== | ===Scenariji=== | ||
Line 35: | Line 60: | ||
*Scenarij 2: Presjecanje okomitom multilinijom na tri seta podataka (+ 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 3: Presjecanje sa malim, srednjim i velikim poligonom na tri seta podataka (+ select count(*)) | ||
− | *Scenarij 4: | + | *Scenarij 4: Transformacijaizmeđu referentnih sustava |
− | *Scenarij 5: Pronađi sve objekte koji se preklapaju sa danim poligonom. | + | *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 6: Pronađi i izreži sve objekte unutar zadanog polygona | ||
− | *Scenarij 7: | + | *Scenarij 7: Union većeg broja polygona |
=Hardware= | =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) | * 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)) | ||
+ | ** [[Benchmarking - Upiti za Oracle | Upiti za Oracle]]: (???) | ||
+ | ** [[Benchmarking - Upiti za Postgres/PostGIS |Upiti za Postgres/PostGIS]]: (???) | ||
+ | ** [[Benchmarking - Upiti za Informix |Upiti za Informix]]: (???) | ||
+ | |||
+ | * 3. Priprema podataka | ||
+ | ** OSM: | ||
+ | *** Područje: Njemačka ([http://downloads.cloudmade.com/europe/germany#downloads_breadcrumbs 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. | ||
− | = | + | =Korisni linkovi:= |
*http://www.gdmc.nl/publications/2002/Testing_current_DBMS.pdf - Odlično!!! | *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://wiki.oracle.com/page/Database+Benchmarking | ||
*http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.30.5401&rep=rep1&type=pdf | *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 | *http://dmap.nrlssc.navy.mil/dmap/pubs/documents/benchmarking.pdf |
Latest revision as of 17:59, 19 February 2011
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