BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News A Look at Oracle’s NoSQL Database

A Look at Oracle’s NoSQL Database

This item in japanese

Bookmarks

Oracle’s key-value database, known simply as “Oracle NoSQL Database” has hit version 2.0. Oracle NoSQL Database is essentially a distributed frontend for Berkeley DB, but it offers much more than that.

Oracle NoSQL Database offers deep integration with Oracle Database. Via Oracle’s External Tables feature, SQL queries can be written against the NoSQL Database and even joined with relational tables.Support for Hadoop, the Apache’s map-reduce technology, is also offered.

On the operations side, “SNMP/JMX support enables integration with Oracle and third party management tools”. (JMX refers to Java Management Extensions, the standard way to expose application status since roughly Java 5.)

Unlike popular databases such as MongoDB, Oracle NoSQL Database offers absolute consistency in addition to eventually consistency. Peter Wayner explains,

Again, this structure stores data with Oracle-grade seriousness. If you don't want the slacker-grade promise of eventual consistency offered by so many other NoSQL stores, Oracle NoSQL will deliver absolute consistency across all of the machines replicating a node. You'll pay for this in write performance, of course, but it's your choice.

This is more than a binary decision, by the way. You can tell Oracle NoSQL to sign off on the write after one, all, or a simple majority of the nodes are finished sending the data to disk. The documentation calls this feature a durability policy.

Some of this flexibility is available to you, the programmer, if you have the time to worry about it. All of the key-value pairs come with a version number, which you can watch yourself if you want to play your own games with replication. This can be helpful if you're trying to goose performance when modifying records.

While generic objects can be stored, those who care about performance may wish to look at Avro Schemas. The documentation claims,

The use of Avro schemas allows serialized values to be stored in a very space-efficient binary format. Each value is stored without any metadata other than a small internal schema identifier, between 1 and 4 bytes in size. One such reference is stored per key-value pair. In this way, the serialized Avro data format is always associated with the schema used to serialize it, with minimal overhead. This association is made transparently to the application, and the internal schema identifier is managed by the bindings supplied by the AvroCatalog class. The application never sees or uses the internal identifier directly.

NoSQL Database Community Edition is offered under the AGPL license. A commercially licensed Enterprise Edition is also available.

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Amazon SimpleDB service - Other NO SQL Database service

    by Ashish Pancholi,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Amazon SimpleDB can be useful for those who need a non-relational database for storage of smaller, non-structural data. Amazon SimpleDB has restricted storage size to 10GB per domain. Amazon SimpleDB offers simplicity and flexibility. SimpleDB automatically indexes all data. Amazon SimpleDB pricing is based on your actual box usage. You can store any UTF-8 string data in Amazon SimpleDB.

  • Re: Amazon SimpleDB service - Other NO SQL Database service

    by Robert Greene,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I guess it is just too slow as a reason they launched DynamoDB, what do you think? I know that DynamoDB is running on top of SSD's, so maybe its actually just SimpleDB under the covers, but running on SSD? They give very little information on the underlying implementation, only the external behavior one can expect, I would really like to know more about their implementation. With DynamoDB you do have to specify the desired throughput for your tables at creation time and pay for that reservation of hardware even if you're not quite using it yet, so its a bit outside of the model most people expect from Amazon.

    Cheers,
    -Robert

  • Oracle NoSQL for Enterprise

    by Davor Andric,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    If Oracle will act strategic, they can use his current spreading by enterprises clients as our advantages and start new Area for NoSQL and Graph in Enterprise. On my last Posts I consider some Aspects of NoSQL for Enterprises please see t.co/mItEybaPw, t.co/SneeZaID78 if you are interested.

  • Re: Amazon SimpleDB service - Other NO SQL Database service

    by Ashish Pancholi,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Amazon SimpleDB can be useful for those who need a non-relational database for storage of smaller, non-structural data on the other hand Amazon DynamoDB can be useful for those who need a fast, highly scalable non-relational database. Amazon SimpleDB offers simplicity and flexibility whereas Amazon DynamoDB offers good performance and incremental scalability. DynamoDB is priced according to how much request capacity you have requested. Amazon SimpleDB is cheap than DynamoDB.

    Finally I can share one doc that talks about building performance and reliability using Amazon SimpleDB.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT