Google has given PostgreSQL users a way to try out its Cloud Spanner database service without driving themselves nuts over the complexities of getting data into the NewSQL platform.
Google first unveiled Spanner back in 2012, with the aim of distributing data at global scale, and currently styles it as “the first scalable, enterprise-grade, globally-distributed, and strongly consistent database service built for the cloud specifically to combine the benefits of relational database structure with non-relational horizontal scale.”
The search to x-as-a-service vendor said HarbourBridge will allow users to load the contents of an existing PostgreSQL database into Spanner with zero configuration, and without the need to write manifests or data maps.
“Instead, it ingests pg_dump output, automatically builds a Spanner schema, and creates a new Spanner database populated with data from pg_dump,” Google’s blog on the service said.
It’s not a complete fix, with Google saying the tool is designed for “moderate-size PostgreSQL datasets…” (up to a few GB) while “Many features of PostgreSQL, especially those that don’t map directly to Spanner features, are ignored, e.g. (non-primary) indexes, functions and sequences.”
“Types such as integers, floats, char/text, bools, timestamps, and (some) array types, map fairly directly to Spanner,” it continued, “But many other types do not and instead are mapped to Spanner’s STRING(MAX)”.
Rather it continued, it was a way to get up and running fast, and users should expect to “tweak and enhance” their setup. “For example, while HarbourBridge preserves primary keys, it does not currently translate other indexes. So, you’ll need to add Spanner secondary indexes if your SQL queries rely on PostgreSQL indexes that have been dropped. HarbourBridge is not intended for production database migration.”
Hence your initial performance might be..underwhelming, Google admits. “If your SQL query performance relies on PostgreSQL indexes that are dropped, then the performance of the tables created by HarbourBridge could be significantly impaired.”
You can get the full rundown on sparking up HarbourBridge and Spanner at the tool’s GitHub page here.