Velo is a full-stack development platform with integrated databases and backend code capabilities. Wix Content Management System (CMS) data collections are document-oriented databases, optimized to store and retrieve websites’ content. Data collections are globally replicated and have native support for PII encryption and GDPR. Collections run on secure, shared infrastructure, and are fully managed by Wix.
While CMS collections cover a wide range of use cases for content driven websites and applications, some projects may have very specific requirements that can not be addressed by the integrated database solution.
To address such cases, Velo allows users to connect an external database to their Wix site by using an external database adaptor. Once the connection is set up users can use wix-data APIs, display data in Wix Editor elements, use the data to create dynamic pages, and connect it to user input elements.
This article explains what an external database adaptor is and how to use one.
An external database adaptor is a server that translates Wix Data requests from your site to an external database’s protocol, and translates the response back to a Wix Data format. From the Wix site’s point of view, the external database is a data collection and behaves exactly like an internal collection. This means that you can use any of the wix-data and wix-dataset APIs and populate repeaters, tables, and other page elements with data from your external database.
External database flows:
A Wix Data request is made to an external database collection. The request is sent to the adaptor.
The adaptor validates the request and translates it to a native database request in the required protocol.
The native protocol request is sent to the external database.
The external database sends a response in its native protocol and format.
The adaptor translates the response to a Wix Data format.
The translated response is sent to the Wix site and processed in the same way as an internal data response.
Wix created container image adaptors for a number of databases that can run on AWS, Google Cloud Platform, and Microsoft Azure.
Use the following tutorials to walk through the setup of an external database adaptor hosted on each of the major cloud platforms.
If you don't want to use the Wix container image, you can adapt and extend the adaptor project to suit your needs. The project is a reference implementation of the Wix Data External Database Collections Service Plugin, allowing the development or extension of alternative external database adaptors.
Once you have deployed your adaptor, add the external collection to your site to complete the integration.
You can use existing data from your external database in your Wix site. If you want your existing database table to be read-write on your site, it must contain the following columns:
Tables without these columns are read-only in your Wix site.
When creating new tables, include these columns to make the table writable from your site.
There's a lot of material on the internet about database comparisons and benchmarks, which can help you decide which database engine to use.
We suggest taking the following into account:
MySQL supported vanilla MySQL versions 5.7 to 8.0. This includes variants like MariaDB and Percona Server for MySQL, as MySQL APIs are fully compatible.
The following managed versions of MySQL are supported:
Open-source versions 9 to 13.
The following managed versions are supported:
Microsoft SQL Server server can be connected both as an on-premises, self-managed installation or managed version where available: