Front-End Compatibility
Native database apps communicate with the database using native database client-server protocols.
For example, MySQL/MariaDB apps communicate with the database using the MySQL/MariaDB client-server protocol:
...and PostgreSQL apps communicate with the database using the PostgreSQL client-server protocol:
Whether written using the native SQL Relay API or a connector of some sort, SQL Relay apps generally communicate with SQL Relay using the SQL Relay client-server protocol:
However, SQL Relay also supports the MySQL/MariaDB and PostgreSQL client-server protocols. This allows apps written for those databases to communicate with SQL Relay, rather than directly with the native database, without modification.
As such, SQL Relay can be used as a transparent proxy. Native apps aimed at SQL Relay still think that they're talking to the database, but in fact, they are talking to SQL Relay, and can take advantage of SQL Relay's advanced features.
Foreign Back-End
Since SQL Relay supports a variety of database back-ends, the app can also be redirected to any of these databases, instead of the database it was originally written to use.
Some queries may have to be modified to use the syntax of the new database and some code may need to be changed, but a full rewrite of the app should not be necessary.