More than a year ago now Codethink moved to a new location in central Manchester. Its become a comfy home, but I don’t think we have ever introduced people. So without further ado here are some pictures of the ‘new’ Codethink offices.
I’ll hand out a prize of 20p and a curly-wurly to the first person to guess what Rob thinks is the most embarrassing item on our terribly disorganized bookshelf. I won’t lie to you either, the picture of a grey Manchester through a rainy window is a common occurrence. Still, the hacking is awesome, who needs Mediterranean weather patterns.
I have spent time on-and-off the past week looking at the performance of the Tracker RDF database. Tracker, I believe, started out as a desktop search tool for Gnome. I never used it in this incarnation, and it has only come to my attention since version 0.7, when the developers implemented a general purpose RDF storage engine at its core. I wanted to know how this newly implemented RDF database compared to a widely used RDF database in terms of query performance. In essence I was interested in whether the Tracker project had spawned something that could compete with Virtuoso and 4Store.
You can find my complete results and analysis at the tracker mailing list archive, but the headline statement is that tracker had roughly 9 times the query performance of Virtuoso. The graph here shows the breakdown by query.
This is a drastic difference in performance that greatly favours the home-grown database utilized by Tracker. However this stellar performance comes at the cost of flexibility. Its obvious that the database has been tailored very much to the needs of Tracker itself. Unlike Virtuoso it is not ‘schema-free’. A description of the data (In the form of something called an RDF ontology) is required for storage. In addition to this, the data formats are more restrictive, and some common elements of RDF are missing.
My general impression was that Tracker has great query performance, especially considering a tiny memory footprint. Unfortunately it is not suited to storage of pre-existing RDF data sets, such as those generated for semantic-web applications. This could well change in the future. Tracker, and its RDF database, are in heavy development. They already have speed and seemingly stability in the code-base. It might soon be time to add the new features that make it more generally applicable.
I should add that when I started this work I was heavily sceptical. Codethink have been highly involved in RDF, but I have not joined in. I have learned a-lot in the past few weeks, and this has made me more positive. I still believe that RDF might be too flexible for its own good, and I’ve found that the ontologies are onerous, complicated, and not very well specified. I did however come across a great post which explains some of the advantages of RDF over other data models; SPARQL is far more intuitive than its SQL cousin. If used to its potential, with highly interlinked data, I think it may be possible for the benefits of RDF to outweigh the tough learning curve.
Rob and I took a trip to Grenoble this week for the Embedded Linux Conference Europe meeting. All-in-all a very good couple of days for us. We showed off our research project (daily-catchup) in the demo room on Friday afternoon and got to attend some fantastic talks. Travelling wasn’t so much fun though. Somehow we managed to take 12 hours getting from Manchester to Grenoble. The two pervasive themes at the conference seemed to be boot-time reduction and android.
Jon Masters gave a very good Keynote on Porting Linux. Very interesting to me, Jon gave a great overview of some new things going on in kernel land.
- Matt Porter debunks android myths.
The prize winning talk at the conference was entitled “Myth-busters: Android”. Matt Porter talked about his team’s experiences porting android to the Power and MIPS architectures. It seems that android is not yet a mature technology. Much of the code is ARM specific. Having replaced nearly all of the user-land stack, there is a-lot of configurability and features missing from a more standard linux distribution. I shall endeavour to get hold of the slides so that you can all form your own opinion. For me it was an eye-opener as to just how different android is.
This is the lovely face Rob had immediately after the android talk. If I had to para-phrase the conversation it would be: “Look what they did to our beloved stack”. (Ignored it completely)
The android BOF later in the day helped us all to see some of the really good parts of android. It gave me the feeling that as the platform and community around it matures we will all be able to work with a really great open source product. Just expect a-lot of re-training and re-adjusting along the way.
- Codethink and the Monta-vista massive.
Tasty dinner on the final evening of the conference. Somehow Rob and I found ourselves out with the Monta-Vista massive. They are a great bunch and made for a wonderful last night in Grenoble.
For a more detailed overview of the conference itself see the free electrons blog.