Julian in the land of NoSQL

Julian Brown had a web project he was working on that manipulated a list of recipes. Where each recipe has a description and a list of steps. The front-end was to be implemented in Angular. That part handles the routing, templating and such. The original version used a SQLite backend, and rendered using Perl CGI.

A later version was construccted in C++, using the jsoncpp library for the JSON part of the application. The libcurl library was used for network access. The final piece of the puzzle was replacing SQLite with the ArangoDB NoSQL database.

The code for the project was written in C++ 11. It used AQL to access the database. Authorization was handled through a session ID and secret. ArangoDB uses the concept of collections instead of tables. AQL supports bind parameters, which helps to avoid injection. The server did seem very sensitve to available RAM.

Julian did point out that he did learn about some drawbacks of JSON-encoded NoSQL. The biggest one seemed to be duplication of the data.

This was an interesting talk that generated several questions from the audience.

We had 9 people attending this month. As always, we'd like to thank HostGator, LLC for providing the meeting space and food for the group.