SQL and NoSQL Databases

The Barracuda Embedded Web Server's database plugin consists of the free SQLite database engine and Lua bindings that make it very easy to create database driven applications in Lua. The database plugin is designed for high level (Posix) compliant operating systems such as QNX, VxWorks, (embedded) Linux, and Windows. It is possible to port SQLite to deep embedded systems. The SQLite database engine and the Lua bindings require an additional 650 kbyte ROM.

Commercial Databases

We provide a plugin for ITTIA DB SQL Embedded -- data management optimized to deliver industry-leading performance across a wide range of platforms.

Note: An alternative to using a database for storing persistent data is to use our JSON encoder and decoder that is integrated with the server.

MySQL and Redis Database Plugin

We provide drivers for MySQL and Redis. The drivers are based on BSD licensed open source drivers from the OpenResty platform. We provide an OpenResty compatibility layer that makes it possible to use the MySQL and Redis drivers with the Barracuda App Server. The following diagram illustrates how the blocks work together.

OpenResty Interface

The connections between the drivers and the databases use standard socket connections. This means that MySQL and Redis drivers can also be used in deep embedded devices as long as the MySQL and/or Redis Databases are running on a standard computer accessible from the device via the network.

The MySQL and Redis Database Plugin is available for the Barracuda App Server and the Mako Server (a Barracuda App Server derivative product). The Mako Server and the database plugin can be downloaded and run on your own computer, thus enabling immediate testing of the database plugin. See the Mako Server MySQL and Redis Database Plugin Tutorial for details.

Next: Embedded Embedded Web Server