I recently came across an interesting blog post on RedMonk (not surprising, as I read most of their posts). It’s called It’s Beginning to Look a Lot Like SQL and basically it talks about query language for NoSQL databases. It seems that as NoSQL becomes more popular, users want to do more with it – a good level of querying, for example, is needed.
Now of course, since NoSQL is a family of products that work in radically different ways, it’s not certain that this is possible (or even desirable – read Alex Popescu’s post on the subject).
But my question is – why do you even need a query language for NoSQL data stores? After all, running queries on distributed data might be complex to implement, and time consuming. The better architecture would look like this:
The application code is accessing NoSQL for primary key based access. Write operations go to NoSQL and MySQL, and complex queries (from the code, reporting, or BI systems) run with standard SQL (popular and familiar to most developers out there) against the MySQL database.
It’s a similar concept to Data Warehouse, only updates occur on the MySQL store in real time.
Now, of course, there are scaling and performance issues associated with running writes on MySQL, and that’s where ScaleBase fits in – as tt will allow MySQL to perform as required.