This is the first update since we started development on the LogStore. Despite the bumpy ride, we have quite a lot accomplished.
To summarize, the LogStore is a storage solution for logging statements. It’s based on CouchDB (document oriented database) and Elastic Search (schemaless search engine). The view on the log statements stored is built on CouchApp, a tool on CouchDB for creating HTML pages that are served directly from CouchDB instead of a separate application server.
With the help of this piece of incomplete, but vital information, I came to producing a search result page based on a property of a log item and a log item detail page. The search result page consists of a CouchDB view, a controller script (CouchDB list function) and a Mustache template. The detail page consists of a controller script (CouchDB show function) and a Mustache template. For importing data we developed two small Java applications, based on Ektorp. Ektorp is a persistence API for CouchDB that uses Jackson for JSON-object mapping. One application reads a (log)file and sends the log items one by one to CouchDB and the other reads a (log)file in memory and performs a bulk insert of the log items into CouchDB. It appeared, logically, that the latter application was by far the fastest one.
So what’s next? Since we did not dive into one of our main investigation topics yet, Elastic Search will be the topic of the next session, next to adding some more flow and functionality to the “CouchApp”.
If you want to check out our progress, see https://github.com/xebia/logstore.