Sounds like a good approach to me.
On Mon, May 16, 2016 at 11:37 AM Andrea Aime <[email protected]>
wrote:
> Hi,
> today I stumbled into a really weird issue, basically JDBCDataStore becomes
> extremely slow (minutes if the db is not co-located) if a database has
> tens of
> thousands of tables in it.
>
> The short version of it, is that to create a table we need to get from the
> java
> classes to the sql type names, using a mapping process that goes from
> "java class" to "jdbc type id" to "native sql type", and the second jump we
> do by first getting the full list of type ids and type names from the
> database
> (nice generic approach).
>
> However in postgresql even the tables we create are types, and for those,
> the jdbc driver has to make a special query for each table. So if you have
> 23k tables, the driver makes 1 + 23k queries, taking forever to return the
> list of id -> type mappings.
>
> More details can be found here:
> https://osgeo-org.atlassian.net/browse/GEOS-7533
>
> I checked if the driver had any knob or tunable to avoid scanning the
> tables, but it seems
> there are none (by code inspection).
>
> The solution I'd like to propose is to register in the postgis driver
> mappings for
> the most known types already, and do not hit JDBCMedata.getTypeInfo()
> unless
> we actually need to do that, that is, only if we end up with a type
> mapping that
> we cannot resolve using the short list (that is, a solution similar to
> what the jruby
> activerecord people applied, the ticket above contains a link).
>
> This would keep the solution for a postgresql specific issue in the postgis
> module.
>
> If you have objections could you please let me know? I'll proceed with
> the above approach otherwise
>
> Cheers
> Andrea
>
> --
> ==
> GeoServer Professional Services from the experts! Visit
> http://goo.gl/it488V for more information.
> ==
>
> Ing. Andrea Aime
> @geowolf
> Technical Lead
>
> GeoSolutions S.A.S.
> Via di Montramito 3/A
> 55054 Massarosa (LU)
> phone: +39 0584 962313
> fax: +39 0584 1660272
> mob: +39 339 8844549
>
> http://www.geo-solutions.it
> http://twitter.com/geosolutions_it
>
> *AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*
>
> Le informazioni contenute in questo messaggio di posta elettronica e/o
> nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
> loro utilizzo è consentito esclusivamente al destinatario del messaggio,
> per le finalità indicate nel messaggio stesso. Qualora riceviate questo
> messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
> darcene notizia via e-mail e di procedere alla distruzione del messaggio
> stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
> divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
> utilizzarlo per finalità diverse, costituisce comportamento contrario ai
> principi dettati dal D.Lgs. 196/2003.
>
>
>
> The information in this message and/or attachments, is intended solely for
> the attention and use of the named addressee(s) and may be confidential or
> proprietary in nature or covered by the provisions of privacy act
> (Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
> Code).Any use not in accord with its purpose, any disclosure, reproduction,
> copying, distribution, or either dissemination, either whole or partial, is
> strictly forbidden except previous formal approval of the named
> addressee(s). If you are not the intended recipient, please contact
> immediately the sender by telephone, fax or e-mail and delete the
> information in this message that has been received in error. The sender
> does not give any warranty or accept liability as the content, accuracy or
> completeness of sent messages and accepts no responsibility for changes
> made after they were sent or for other risks which arise as a result of
> e-mail transmission, viruses, etc.
>
> -------------------------------------------------------
>
> ------------------------------------------------------------------------------
> Mobile security can be enabling, not merely restricting. Employees who
> bring their own devices (BYOD) to work are irked by the imposition of MDM
> restrictions. Mobile Device Manager Plus allows you to control only the
> apps on BYO-devices by containerizing them, leaving personal data
> untouched!
> https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
> _______________________________________________
> GeoTools-Devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/geotools-devel
>
------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
GeoTools-Devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel