Important notes and limitations
Performing reads and writes on the same source table
Performing reading and writing on the same source table is supported in GlueSync as soon as you don’t have auto-increment fields in your SQL table. Please refer to the specific chapter below for more information.
Identity fields in tables [auto-increment primary keys]
Identity fields, also known as auto-increment primary keys, are supported by GlueSync while performing reads from the source table replicating the value to the NoSQL target database.
There are currently certain limitations while performing writes on tables that have such behaviour on its columns due to the fact that a document created in the NoSQL database could have a non-incremental value on its doc-ID used by GlueSync to re-ensemble the proper table/column structure. To avoid keys collision GlueSync NoSQL to SQL module will throw an exception if this behaviour is found in your environment. We’re currently working on supporting such functionality with support for Identity fields on the upcoming releases leaving the default connector behaviour as safe as possible advising the user about possible keys collisions [the user will be required to force a flag in the configuration file to enable that feature, otherwise an exception will be thrown]. SQL professionals usually adopt what are called “exchange tables / border tables” in order to safely support imports of external writes.
Sync delete operation from MongoDB to SQL
Due to a limitation on information provided by change streams API, physical deletion is not supported yet. Instead of physical deletion, GlueSync supports a logical deletion.
To perform a logical deletion, a document should be marked as deleted valuing the
"deleted" field to
true. This way GlueSync detects logical deletion and proceeds to delete the row on the SQL side. After synchronization happens, the document can be physically deleted.