If you’re involved in the database world it’s hard to have missed the rise of the “no-sql” database products, designed to – depending on your view or the product I suppose – make databases simpler, break out of the transaction database paradigm, scale out across hundreds of machines, make it easy to change the db design (or not require one). I think some of the problems no-sql tries to solve are real, others reflect a lack of awareness/training/tools on how and why relational databases could not just solve the problem, but solve it better.
It’s hard enough at times to explain the differences in features and costs between SQL Server and Oracle (and MySQL and Access, etc, etc), but now we have to explain paradigms to people that really don’t care – they want fast or cheap, and they want to focus on the UI, the part that people see,that they pay for.
Months ago I decided the answer was what it often is when it comes to software,a combination of abstraction with incremental improvements in the state of database technology (standing on the backs of, if not giants, at least of programmers). The result will go live later this week, but I wanted to give you a sneak peak. Dubbed Mo-SQL, it has a feature set that you won’t believe! Let’s take a look:
- It’s both fully relational and not. You can have rich tables with constraints, or you can toss out the constraints with a simple create table [name] as any syntax (aka a poor table). Rich tables are fully logged, poor tables are not (they can’t afford the overhead).
- Backup is done by a simple copy/paste of the database, restores are done the same way. If you need point in time restore ability (remember that few seem to think they need this) you just set up a job to backup the database more frequently.
- As you might have guessed from the title of the post, it will run from a USB stick – not earth shaking, but it solves the configuration issue nicely. It also makes locking up the data at night easy, just put the USB stick in a lockbox (ditto for off site backups).
- All versions of structured query languages are supported, no more learning a new variation, just use the one you know. That same feature also fixes the need for query optimization – any query that is estimated to take more than 5 seconds is paused while turbo mode is engaged to optimize the data – not the query. It’s a major change under the hood, but I think you can see where it makes sense – why should a query be slower because of how the data is organized or the volume? Big data? Bad data? No problem!
- I almost forgot the best part, scale out. No complex config here. Just run the optimized USB cables (same idea as premium HDMI cables, the wires are super good quality) from machine to machine, no IP hassles, no firewalls. Need a mesh topology? Just add a USB hub to the mix (and hubs can host hubs, etc).
Will it succeed commercially? I think it depends on the commercial. It’s going to be hard to convince working DBA’s that a game changer like this can really work, and I think probably the same for the No-SQL’ers, but I think that will change as more and more teams have the SQL/No-SQL conversation. Eventually someone will get tired of the back and forth and put the Mo-SQL option on the table, which should lead everyone to smile, especially if the meeting is on April 1st!.