Slashdot Mirror


Unified NoSQL Query Language Launched

splitenz writes "Hoping to unify the growing but disparate market of NoSQL databases, the creators behind CouchDB and SQLite have introduced a new query language for the format, called UnQL (Unstructured Data Query Language — .PS). It has Microsoft's backing."

3 of 194 comments (clear)

  1. Re:Can somebody explain NoSQLers to me? by chriswaco · · Score: 3, Insightful

    Relational databases work well for certain types of data but to assume that tables of rows and columns work for every need is silly.

    Relational databases are inherently hard to scale because they mix data together that doesn't necessarily need to be together. If there's no reason why Bob and Alice's records should be in the same table or on the same machine then they shouldn't be. You can avoid all contention by distributing each individual's records on unique or underutilized machines.

    Relational databases do not work well for storing hierarchical data like a file system or an object-oriented data store. They do not work well for large blobs like movie files or for unstructured documents like medical records. Because of their rigid structure, they do not version well because copying records to older versions of the schema loses data - if the column doesn't exist there's no place to put the data (imagine if application versions 1 and 2 have to read and write to the same database).

    Relational databases have their place and I completely agree that transactions are vital to data integrity, but the fixed column data model is way too limited to store all of the kinds of data used in the real world.

  2. Re:Can somebody explain NoSQLers to me? by Anonymous Coward · · Score: 5, Insightful

    Have you ever used a relational database?

    Every NoSQL approach, be it document-oriented, key-value storage, or the various hybrid approaches, can be very easily implemented using relational techniques. In fact, they are all just subsets of the relational model. Key-value storage is merely a two-column table, for instance.

    Basically every decent relational database system today allows you to easily partition your data in almost any way possible. It's trivial to store or replicate a single table's data cross hundreds, thousands, or even tens of thousands of storage and processing nodes.

    Relational databases work very well for storing hierarchical data, as well. Recursive common table expressions make it extremely easy to work with such data.

    There's just no reason to use a NoSQL database. Relational databases can do everything a NoSQL database can, and then a fuck of a lot more.

  3. Re:Can somebody explain NoSQLers to me? by gfody · · Score: 3, Insightful

    If you're persisting the objects from your oo app then you're already doing it wrong. ORM libraries, etc. are just further down the hole. If you can't be bothered to think about what information describes your objects then you don't have persistence, you have persistent cache which is all hibernate is supposed to be. If your app is boxed software or a game or something then that's probably good enough. But if your app is online and expected to scale and evolve over time then choosing to persist objects rather than information is shooting yourself in the foot.

    I'm curious, what happens to all the objects in your object store when the application changes?

    --

    bite my glorious golden ass.