Nuts & Bolts
Keen watchers of our blog may note that it's been longer than usual since we announced an exciting new feature for Dabble DB. Although we've continued to tweak the user experience and respond to minor feature requests, our major focus has been elsewhere for the last 6 months or so. What have we been working on? In a word: scale.
Dabble DB is growing fast, both in the number of users and in the scope and ambition of what our users are creating. In some cases, this has had an impact on the performance of the service, and we're working hard to correct that going forward. Here's a quick look behind the curtain at some of the things we've been up to:
- New servers: we're retiring our oldest servers, and replacing them with brand new ones. Some of our servers were two years old - practically ancient!
- Framework upgrade: our version of Seaside, the web framework underlying Dabble DB, hasn't changed in three years. We've now ported Dabble DB to Seaside 2.8, the latest stable release, which has lower memory use and faster render times.
- Better indexing: previously, the full text index we kept for each database was using as much memory as the data itself. We've rewritten this from scratch to be much more efficient.
- Performance monitoring: we've added systems to keep a much closer watch on exactly what's slowing things down and when. Over time, we'll be using this information both to optimize our code and to add user-visible hints about things you can do to increase the peformance of your database.
- Smarter infrastructure: much of the load on Dabble DB's servers actually comes from the various background processes which backup your data, push out code updates, and generally keep things in good working order. We've made these a lot smarter about where they spend their time, reducing overall load.
- Future-proofing: in the medium term, all of these measures should make a noticeable improvement to how smoothly Dabble DB runs (although don't expect a change right away - we'll be rolling these out carefully and incrementally). But we've also been investing time in more radical, long-term approaches to take Dabble DB to the next level. Nothing we can talk about yet, but stay tuned.
Oh, and as for exciting new features? Don't worry, there's some of those on the way too. Just let me finish this indexing code...