J'ai un problème de performances lors de la mise à jour d'une table dans Oracle Spatial 11G lors de la conversion de 63 000 000 points au format WKT. J'ai également fait une comparaison avec Postgres. Postgres et Oracle s'exécutent sur deux machines virtuelles hébergées sur le même serveur.
Postgres: processeurs 12, ram 64 Go
create table alldata(geom geometry(Point, 4326));
alter table alldata add column wkt4326 varchar(100);
update alldata set wkt4326 = St_AsText(geom) -- 25 minutes
Oracle 11G: processeurs 12, ram 40 Go, pga + sga = 8 Go maximum
create table alldata(geom sdo_geometry); -- e.g.: SDO_GEOMETRY(2001, 4326, SDO_POINT_TYPE(aLon, aLat, null), null, null)
alter table alldata add (wkt4326 varchar(100));
-- **Did not complete in a hour...**
update alldatafiltered set wkt4326 = SDO_UTIL.TO_WKTGEOMETRY(geom);
Pourquoi Postgres surpasse-t-il Oracle lors de la mise à jour des tables? Quelles causes peuvent affecter les performances spatiales d'Oracle?
Pour le moment, je ne mets à profit aucun indice spatial.
UPDATE
est une opération très coûteuse pour une analyse complète de la table; vous devez utiliser uneCREATE TABLE ... AS
construction.Réponses:
Oracle Spatial et Postgis ont chacun leurs avantages et leurs inconvénients. En traitant les données spatiales, Postgis surpasse toujours Oracle Spatial. Je travaille depuis 2 ans sur Oracle Spatial et je suis récemment passé à PostGIS, et j'ai vu une énorme différence de performances dans les deux.
La raison pour laquelle il fonctionne beaucoup plus rapidement est due à l'analyse des données spatiales. Dans de nombreuses études de cas, il a été établi que PostGIS est 300% à 400% plus rapide qu'Oracle Spatial.
PostGIS utilise GEOS (Geometry Engine - Open Source) pour l'analyse de la géométrie tandis qu'Oracle spatial a son propre moteur de géométrie qui a une analyse très faible que GEOS.
J'ai trouvé cette étude de cas très utile pour la comparaison des performances entre PostGIS et Oracle Spatial.
À mon avis et expérience personnels, l'open source résulte toujours propriétaire en performances.
la source