> SQLite files cannot be managed as simple files. When connections to an SQLite
> database are open we should not delete, move or switch the associated file.
> Databases files can be filled with "empty space" after deleting an huge amount
> of data or can become fragmented after frequent inserts, updates or delete
> operations.
Fragmentation would depend on cache behaviour. Would be worth testing 
representative load.
 
> To remove the fragmented space (or the empty space), the VACUUM command
> needs to be executed. Although, performing a VACUUM command as a few
> drawbacks:
> 
>     - During a VACUUM twice the size of the original database file is 
> required in
> disk.
>     - During the VACUUM operation no access to the database is allowed.
>     - The VACUUM operation copies the whole database which can take minutes.
There is also auto_vacuum, which works quite differently but may be useful:
https://www.sqlite.org/pragma.html#pragma_auto_vacuum

Without that, or VACUUM, the cache will probably continue to grow.

> MBTiles force us to have at least a file per layer and format. If we want to
> support more CRSs we will also need a file for each CRSs. By configuration it
> will be possible to configure the granularity  of the database files. By 
> default
> we will have a granularity per layer, crs, format and zoom level.
Strictly speaking MBTiles is only web-mercator:
https://github.com/mapbox/mbtiles-spec/blob/master/1.2/spec.md#content-1

That may not be a big issue, but we should be cautious about how we refer to it.

> SQLite allow multiple readers but only allow one writer at the time which will
> block the entire database. At most only one connection should be open to each
> SQLite database, the total number of open connections is limited by the
> number of open files allowed by the OS (in linux this is controlled by the
> ulimit). A connection pool that will control the number of open connections
> and that will be responsible to manage the connections will be implemented.
Shared store is almost certainly a bad idea.

Brad


------------------------------------------------------------------------------
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
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to