Google Cloud SQL Spatial (MYSQL_GOOGLE) Reader/Writer
Licensing options for this format begin with FME Professional Edition.
This format is based on the MariaDB Spatial (MYSQL) Reader/Writer. It still uses terminology specific to MySQL, since MariaDB is known to work well with MySQL Servers.
Overview
MySQL®1MySQL is a registered trademark of MySQL AB in the United States, the European Union and other countries. is a well-known Database Management System (DBMS) that provides various types of tables for different database applications.
The Google Cloud SQL plug-in enables FME to read and write attribute data stored in a Google Cloud SQL database. There are two versions of this reader and writer:
- Google Cloud SQL Spatial, which includes the spatial extension and supports geometry features, and
- Google Cloud SQL Non-Spatial (MYSQL_GOOGLE_DB) Reader/Writer, which is an attribute-only version that ignores geometry.
Reader Overview
FME considers a reader dataset to be a database containing a collection of relational tables, and a table to be an FME feature type with each row corresponding to at least one FME feature. In the case of geometry collections, a single row may become more than one FME feature.
Tables schemas must be defined in the FME workspace before they can be read and can consist of both geometric and primary column types, however, only one geometry column is read per table while others are discarded.
Arbitrary WHERE clauses and joins are fully supported, as well as an entire arbitrary SQL SELECT statement. The basic reading process involves opening a connection to the database, querying metadata, and querying data. The data is read by submitting SQL queries and parsing the returned result sets.
If null geometries are read, they are treated as non-geometry features and the attributes are preserved.
Writer Overview
The MySQL writer module stores both geometry and attributes into an MySQL database. The MySQL writer provides the following capabilities:
- Transaction Support: The MySQL writer provides transaction support that eases the data loading process. Occasionally, a data load operation terminates prematurely due to data difficulties. The transaction support provides a mechanism for reloading corrected data without data loss or duplication. Performance can also be improved by reducing transactional overhead for multiple small queries such as inserts.
- Index Creation: The MySQL writer can set up and populate indexes as part of the loading process. By default, a spatial R-Tree index is created on the primary geometry column of a table and not on any other columns. Additional columns can be individually indexed. Composite column indexes are not supported at this time.
- Insert Binding: By default, the MySQL writer uses prepared statements and query parameter binding ensure speedy data loading.