Skip to content
This repository was archived by the owner on Aug 31, 2018. It is now read-only.

Database

robfry edited this page Sep 5, 2014 · 21 revisions

Home
Back to Installation and Usage
Back to Technical Documentation

###Database Overview


The FIDO database is a simple SQLite database. Currently we are using SQLite for it's ease of use. However, as we begin to tackle issues of scale, we will likely migrate to another platform which offers more features and options. For where FIDO is today SQLite serves its purpose. The current amount of information created by FIDO is well within the operational limits of SQLite. However, one of the key pieces missing in FIDO is machine learning. We are currently exploring several machine learning offerings for implementation into FIDO. When we find a solution it is reasonable the storage platform used by this will become the standard which FIDO will use. For the intent of this documentation, though, we will only address SQLite.

To begin with the SQLite database is broken up with tables for configurations, events and historical event data. The intent is that no one table will contain too much information as a single table could be used for multiple purposes. Rather than load and parse a large table with centralized information we instead decided to use smaller more focused tables specific to a single purpose. The exception to this is the config table. Before FIDO was database driven all of the configurations were stored in XML. Recently we updated the code to remove all references to the XML and replaced the XML references with a single 'config' table. While this single table is made up of many configurations, the intention in the future is to break out the config table into the format. This documentation will be updated when this occurs. Because of this there are a few duplicate value entries. The code is specific to which table values are currently being pulled from.

The following is a listing of all tables along with the purpose default values.

config table

Clone this wiki locally