First Look: Oracle NoSQL Database 117
snydeq writes "InfoWorld's Peter Wayner takes a first look at Oracle NoSQL Database, the company's take on the distributed key-value data store for the enterprise. 'There are dozens of small ways in which the tool is more thorough and sophisticated than the simpler NoSQL projects. You get a number of different options for increasing the durability in the face of a node crash or trading that durability for speed,' Wayner writes. 'Oracle NoSQL might not offer the heady fun and "just build it" experimentation of many of the pure open source NoSQL projects, but that's not really its role. Oracle borrowed the best ideas from these groups and built something that will deliver good performance to the sweet spot of the enterprise market.'"
hah, talk about nonstarter (Score:1, Insightful)
3 minutes and no comments :)
Re:hah, talk about nonstarter (Score:5, Funny)
Slashdot uses the NoComment database. Comments are passe.
Re: (Score:2)
Re: (Score:2)
Oracle = pain (Score:5, Insightful)
Oracle NoSQL might not offer the heady fun and "just build it" experimentation of many of the pure open source NoSQL projects
Oracle databases aren’t about fun, they are about pain. Severe pain. The kind of pain where you scream so loud in your mind at night that it wakes you up. Pain which you only endure if you need the power they offer over all the much more palatable alternatives available, or need support and/or the perception of not using “some freeware database” in the case of large bureaucratic enterprise.
All that said, this actually sounds like a good idea, and from what the article describes, it sounds like a good product. It will of course be painful to use, but I can see this catching on in the “serious performance/reliability” and “large enterprise with compulsive need to spend” groups, especially as NoSQL becomes a buzzword.
Re: (Score:3, Informative)
Re:Oracle = pain (Score:5, Insightful)
> but enterprises have different needs
Yes, like PostgreSQL
Re: (Score:1)
Re: (Score:3)
That's less like Enterprise and more like Galileo.
Re: (Score:1)
Nope. Postgres still requires that the developer and DBA actually talk to each other every once in a while, whereas Oracle does not. That's its primary value.
Re: (Score:3)
Re: (Score:2, Informative)
Yeah, I'm not sure where you get that idea from about dbas and devs not being required to communicate... That's way off...
What kind of world do you think you're living in?
Re:Oracle = pain (Score:4, Informative)
Oracle is not "plug and play" for developers, far from it. But it is true that recent versions do a lot of auto-tuning, and you can get reasonable performance with not a lot of work (but that assumes you don't have a truly dumb design, and really high performance requires a DBA, for sure). Oracle's superior locking model also in my experience produces less developer pain that many of the alternatives.
Re: (Score:2)
Oracle's superior locking model also in my experience produces less developer pain that many of the alternatives.
What is Oracle's superior locking model?
Re: (Score:2, Funny)
Vendor lock-in(g) :)
Re:Oracle = pain (Score:4, Insightful)
What is Oracle's superior locking model?
Oracle uses row-level locks only, and unlike for example MS-SQL or Sybase, will never escalate lock scope to the block or table level. It does not have any limit on the number of rows that can be locked during a transaction.
If you have a mostly-read application this may not matter, but it matters a lot if you have a high update frequency from multiple clients.
You can try to relax the transaction isolation level in MS-SQL to get greater update performance but that does not then provide the same degree of isolation as Oracle.
Re: (Score:2)
Thanks. It would appear, then, that most other DB's, especially, I'm guessing, DB's like MySQL and Postgresql use page level locking, I'm guessing.
Re: (Score:2)
For mySQL, it depends on the storage engine you are using. Postgres has row-level locks I believe but there are still some subtle differences in how Oracle does it.
Re:Oracle = pain (Score:4, Insightful)
Postgres still requires that the developer and DBA actually talk to each other every once in a while, whereas Oracle does not.
s/requires/allows/, because as far as I can tell Oracle legally obligates the two parties to communicate through layers of upper management before the DBA can so much as add an index the developer needs.
Re: (Score:2)
Postgres still requires that the developer and DBA actually talk to each other every once in a while, whereas Oracle does not.
Oracle requires that the developer and DBA actually talk to each other all of the time. It's not like Postgres.
Re: (Score:2)
Nope. Postgres still requires that the developer and DBA actually talk to each other every once in a while, whereas Oracle does not.
ROTFL. That has to be some kind of joke.
Re: (Score:2)
> but enterprises have different needs
Yes, like PostgreSQL
Thank you! My thoughts exactly.
Re:Oracle = pain (Score:5, Interesting)
The problem is that PHB's buy Oracle thinking because it's "top of the line" it will just be great out of the box. Instead, it requires skillful tuning and fiddling to use effectively, but the PHB's don't want to pay for that aspect.
It's almost like giving a Stradivarius violin to your neighbor's newbie kid and thinking that "because it's a Strad, it will make the kid sound good."
Re: (Score:1)
Exactly, the boss doesn't pay $10/hr an hour for the CS grad who can't find a job elsewhere to tune it to handle 10 petabytes by the end of the business day for nothing.
Re: (Score:2)
It's almost like giving a Stradivarius violin to your neighbor's newbie kid and thinking that "because it's a Strad, it will make the kid sound good."
I like how you describe this... it makes perfect sense in a way that even a PHB can understand. But can I get that in a car analogy?
Re: (Score:3)
Re: (Score:2)
Even if you give a Lamborghini to an uncool guy, who can't drive, he still isn't cool ...
Re: (Score:1)
Oh hi Larry, how do you like it here?
Re:Oracle = pain (Score:5, Interesting)
In what world do you live? Oracle DB is the only great product they have, the rest is complete and utter crap, and they don't even know how to maintain them. We've been trying for months now to get someone from Oracle to explain us why our OSB does not work as it should, and even the guy from engineering that they shipped over half the world was just as clueless as we are.Siebel has been going downhill ever since they purchased it. BRM has never worked in a large deployment. Fusion is still just a dream that doesn't really work, the list goes on...
And you know what, it's because all the good engineers don't want to work at Oracle. Over the course of my current project, we've had three different consultants, the first two quit because they said the atmosphere is just awful and noone has a clue what's going on. And they are trying hard to hide that they have people leaving the company in droves, leaving people with very little experience maintaining software that they have no clue about.
Re: (Score:1)
That doesn't match the Oracle that i work at.
Re: (Score:3)
Disclaimer: I work at Oracle. Your description does not match my experience.
I and my team use OSB every day (about 80/20 to Netbackup) to
Re:Oracle = pain (Score:5, Interesting)
They are also about selling training course. The syntax for half of the commands is appalling. RMAN for example with its "copy control file from path1 to path2 whilst patting your head and then write home to your gran" attempt at plain english language is far too obtuse for what it actually does, which isn't much. It copies a control file and then does autobackup. Wow. Didn't need a paragraph of shakespeare.
It's the same throughout. Then they can't even install the software without running a massive java app (I really don't want to go into too much detail about how much time it took to automate Oracle installs...)
And before you ask - we're running the 6th busiest Oracle database in Europe - according to Oracle themselves - running across 4*128 SSD drive arrays at a cost of millions.. and for the 3 or 4 features we need to justify the licenses instead or designing our way out of the same problem, at times I really wonder about the hassle, especially when our data is so important and locked up into such a bloated closed up mess.
Re:Oracle = pain (Score:5, Insightful)
And before you ask - we're running the 6th busiest Oracle database in Europe - according to Oracle themselves - running across 4*128 SSD drive arrays at a cost of millions.. and for the 3 or 4 features we need to justify the licenses instead or designing our way out of the same problem, at times I really wonder about the hassle, especially when our data is so important and locked up into such a bloated closed up mess.
You might think such things as a fun fantasy, but you would be insane to actually do it. When it (say) turns out your home grown solution corrupts records spanning odd page boundaries, you will be quite sad as you and the one other guy who has a clue how your "clever hack" functions gets to work 24hour days trying to debug the problem, determine the extent of the damage, and try and figure out a solution. It is times like that when having thousands of consultants, and a major corporation with teams of dedicated programmers ready to jump on your problem (for a price, certainly for a price) is the only sane option. If you are really as big as you say, your data is WAY to valuable.
I may not be fond of Oracle either as a corporation or as a product, but there are reasons it rules in the enterprise DB niche.
Oracle vs Postgres (Score:2)
There is more than one way to skin a cat - a sad truth for cats the world over. Postgres combined with commodity hardware and database joining extensions like dblink allow you to partition data across dozens (or hundreds) of commodity servers, allowing you to provide massively parallel access to massively large datasets without compromising performance. The cost is developer competence.
The trick is to have a decent abstraction layer and technologies that commoditize cross-database querying, something my com
Re: (Score:2)
You nailed it. Postgres is a superb product, and a stellar example of open-source done right. Incredibly flexible, incredibly tough, easy to use for a newbie yet powerful enough for an expert, and an al
Re:Oracle = pain (Score:5, Insightful)
Most of all they're about lock-in => $$$ => Larry's yachts.
Re: (Score:2)
But that's when you turn back to Oracle to buy a real database. They know what they're doing.
Re: (Score:2)
And they're going to call you every other day to make sure that you do too, while they try to pitch every service that they sell and weasel to other people within your group or company to do the exact same thing.
Oracle makes a pretty spiffy database, but they have been about the worst company that I have ever dealt with.
Re: (Score:1)
Fortunately they mostly skip the techies and harass the executives instead (who don't ask thorough questions).
Re: (Score:1)
lacking basic things other databases do without issue.
Then you should probably not be using NoSQL
Press releases (Score:4, Insightful)
I know that a lot of submissions are inevitably going to be based on press releases (it's straight from the horses mouth so to speak), but do they have to be so blatantly biased? Could we have some sort of editorial? The last sentence of this post make me want to vomit.
Re:Press releases (Score:5, Funny)
It could be worse - it could be an article about Agile.
Re: (Score:2)
Re: (Score:2)
I found the article to be offensively biased, loaded with null-value emotionally charged language, and generally uninformative other than the couple of sentences that tried hard not to say "Oracle bought SleepyCat and re-wrote BerkelyDB with added features to avoid that whole open-source thing".
Like the many other "NoSQL" products the author maligned and slandered, Oracle's new product may be great for the purposes it's intended for. The writer of the article is not.
Google Patents? (Score:4, Interesting)
Anybody know how broad Google's map/reduce patents are?
It's been said that the whole reason Oracle bought Sun was to clobber Google with the Java patents so they could cross-license the map/reduce patents and get back to an Oracle database that could scale.
Regardless, corporations should just release their software and fight it out in court later (sorry, real people, you can't play) but now that this is out, things might get more interesting in the patent wars.
Re: (Score:2)
The Brilliance of 'MapReduce' Is Overblown (Score:5, Insightful)
This is not Hadoop, with its elaborate application plumbing or CouchDB with its curious use of MapReduce as part of its querying system.
MapReduce is too simple for all acclaim. It's too obvious.
Re:The Brilliance of 'MapReduce' Is Overblown (Score:4, Insightful)
MapReduce is too simple for all acclaim. It's too obvious.
Yeah, we did these in first-year algorithms class - they called them scatter/gather at the time. Google's insight seems to have been doing this with key/value pairs and making it an n-stage operation for application-independent parallelization.
Which, of course, the USPTO threw a patent at. So, here were are, stuck with it until 2024. Yay, government.
Re: (Score:2)
Sure it's been said. By those who don't know what they're talking about.
Patent licensing -- in my opinion -- would be somewhere very near the bottom of any reason for acquiring Sun. It was, plainly put, a great deal at a great time, and some huge innovations have already come out of it. Just a few:
* Exadata
Obligatory (Score:5, Funny)
Re: (Score:2)
Just your lucky day! I happen to have experience in NoTruth.
Re: (Score:1)
I'm your man. I have 15 years of Oracle experience with no SQL (I'm still trying to configure this f***ing DB and haven't been able to run a single request yet)
Re: (Score:1)
Pffft. I got 15 years of Oracle NoSQL, even 12 years of interfacing it with HTML5.
Re: (Score:2, Funny)
Perfect; I myself have no SQL experience, neither with Oracle's products or anyone else's.
Re: (Score:2)
I have 10 years experience with NoSQL Oracle DBMs as well as 7 years of HTML 5 experience with IE 6
Re: (Score:2)
Re: (Score:2)
That's why you write your résumé like this. [typepad.com]
Opinion: Complete failure of Oracle security respo (Score:4, Interesting)
So Sayeth Litchfield:
http://seclists.org/bugtraq/2005/Oct/56 [seclists.org]
'nuff said
Re: (Score:2)
Is there anything more recent than 6 years ago to look at? Most NoSQL DB's haven't even existed that long, so I fail to see the correlation. To assume that a bad (or good) support and maintenance never changes quality is ridiculous. How are their products that I'm actually buying today?
Berkeley DB (Score:1)
How does this differ to the key-value Berkeley DB key-value store which is around 10 years old, free software, widely used and tested, full ACID compliance AND it's owned by Oracle.
Re: (Score:2)
At a minimum it probably costs a lot more.
Also maybe it was the subversion side and not the Berkeley DB side, but from my experience using Berkeley DB with subversion, I don't think I'd want to use it for anything else.
Re: (Score:2)
BerkeleyDB is an embedded database (doesn't run as a server on your network unless you write your own server for it), and it's not particularly fast.
Re:Berkeley DB (Score:5, Informative)
BDB is an in-process key-value store. It's limited to being accessed by a single process, and has much more limited replication ability.
This is a server based product ; your client communicates with servers using a driver. It's "eventually consistent", meaning that changes take time to propagate across the replication axis, so not all clients see the same picture (although with this one, you can influence the ACID-ity of atoms of data by grouping them on "major" keys).
The advantage is mostly scalability. You can throw more servers at it to provide more capacity, and the software will do a lot of the work to ensure that this works. If you want more capacity on BDB, you need to throw a bigger chunk of iron at it.
The other major difference ; the open-source license (Sleepycat [wikipedia.org]) for BerkeleyDB is copyleft. Despite the name, it's not released under a Berkely Software Distribution style license - Oracle dual license it and you have to pay a commercial license fee to distribute products based on it without releasing your own sources.
The Community Editor license file for Oracle NoSQL from the distribution lists a number of licenses, all of them BSD-style - new BSD and Apache 2.0 ; in certain quarters this will be greeted with a great deal more enthusiasm. The only difference between the Community and paid editions is the support.
Re: (Score:2)
Re: (Score:1)
No. I thought this was about performance and how the relational model can't handle every problem well.
Sometimes you need something that's not an RDBMS. Perhaps you really need to use something that predates the RDBMS but is now just being rediscovered again.
Re: (Score:2)
Re: (Score:2)
At fucking last someone who knows something.
PIC is just insanely fast at what it does and it does what it does in ways no one has picked up on.
Last version of the PIC OS I worked on was OEM'd by the now defunct Ultimate Computer Corp.
Re: (Score:2)
Re: (Score:2)
I would want it at the OS level like the original. The operating system is the database and the database is the operating system.
it has been so long since I have even touched it I would have to take a crash course. D-basic was pretty cool put I think it would be nice to have something *like* C or FreePascal ported onto it.
Just watch your overflow frames!
Re: (Score:2)
Anyone that's been to University and taken a class that covers this sort of thing should already "know something". They tend to talk about more than just the industry flavor of the month.
That's the great thing about a more theoretical CS program.
A lot of stuff in tech is not nearly as new as most people (even in the field) think it is.
Re: (Score:1)
Since when was that EVER the point? You're the first one I've ever heard use that reason.
False dichotomy (Score:1)
Is it just me or does this article present a false dichotomy? I enjoy using NoSQL, but I'm not running out and replacing every SQL db with Mongo. NoSQL is just another tool available to me, and I leverage it when it makes sense.
Re: (Score:1)
You sir do not webscale [youtube.com]
Re: (Score:1)
what other ways to do this (Score:1)
There's these nosql things. I am not familiar with them at all. They seem nifty - some of you are way smarter than me, maybe you can correct me. It's like a giant bag with stuff in it, and there are keys tied to all of them hanging out the top of the bag. You just yank on the key and get your thing out. It's massively parallel and redundant, so maybe given enough leeway that bag can span continents, and we can each grab a key marked "file1.blah" and get it reasonably fast. It's got nothing to do with
If the tables were turned (Score:1)
hey, did they rip me off??? (Score:2)
sounds like they ripped off my "write-only" algorithms from college. no SQL, indeed,.
Practically ACID (Score:5, Interesting)
The serious part of Oracle NoSQL is a practical approximation of ACID compliance, the standard that SQL databases like to offer.
If this claim holds up, then its easy to see where Oracle could come out ahead of other NoSQL databases. TFA mentions that this practical approximation is dealt with by arranging the cluster machines in two axes: the replication axis and the sharding axis. Along the sharding axis, each major key is guaranteed to be tied to a single machine. Since there is only one record to be updated, there is no "eventual consistency" problem. The replication axis is responsible for making multiple copies of that data. If full ACID compliance is desired, even along the replication axis, there are plenty of options for ensuring that the write is complete before calling the transaction complete: the master node is updated, a majority of replicated nodes are updated, or all replicated nodes are updated.
This approach seems to take the best of both worlds in the NoSQL arena: sharding, which is the approach used by MySQL cluster, and replication, as used by pretty much every other NoSQL store available. Of course, if you have a fuck-ton of data, you'll also need a fuck-ton of machines. This is not a server you will be testing without considerable resources at your disposal.
Re: (Score:2)
No sharding solution can guarantee consistency in the event of node failures, unless you completely block writes or reads until the nodes are back up. It's great that they bind a key to a particular server, but I can think of several other NoSQL solutions which do the same thing. Basically everything that uses hashrings and do lookups based on that. Oracle NoSQL is hardly unique in that respect.
NoSQL = Lotus Notes database (Score:1)
Re: (Score:2)
I think the guy that wrote CouchDB was a Notes developer.
Re: (Score:2)
CouchDB, yes. It took a lot of its design ideas from Lotus Notes.
NoSQL databases in general, however, follow all different kinds of paradigms and designs. You can't make any blanket statements about them because they all were born out of the need to solve completely different problems.
Be afraid. Be very afraid... (Score:2)
Yes. Yes.
And my 10 wasted years as a Notes admin trying to fix the !@#!@ that a PHB made us do in Notes instead of a relational database really makes me very wary of this whole noSQL boom.
NoSQL Databases are definitely good for some things (as is Notes) but it is certainly no Nirvana. There is a reason relational databases were invented in the first place: a schema forces you to be consistent with your design which helps with large projects. In Notes and noSQL things very quickly become a tangled mess, and
Re: (Score:1)
New enterprise project = stodgy by default? (Score:2)
'Oracle NoSQL might not offer the heady fun and "just build it" experimentation of many of the pure open source NoSQL projects, but that's not really its role.
Restated: Oracle started a new project from scratch, but still managed to make the code look like it had been maintained by a megacorporation for a decade, like other long-term Oracle and Sun projects?
Re: (Score:3)
How about: "Not suitable for High-school kids looking to write their first database application"
or
"Not for mere morons"
or
"Not suitable for enthusiasts"
It seems like of silly. For playing around with K/V based systems, on the low end, you can throw something together with bubblegum and gumption without much concern about reliability, concurrency, or scaling. If you are a large project with a non-trivial set of requirements, the learning curve on a solution should be far less important than the effective outp
Really? (Score:1)
"Oracle borrowed the best ideas from these groups and built something that will deliver good performance"
REALLY?
Now others' ideas can be borrowed in the clusterfuck of regulated UNnovation that the USA is? Great news!
Don't get me wrong, I'm 100% behind Oracle in this thing of Borrowing Ideas, I think that's the only way to unstuck innovation, but I'm a little bit skeptical about Oracle playing nice if someone borrows their ideas.
TFA F'd in the Ass, Oracle Lied (Score:2)
The person who wrote this article was an idiot. First of all, it describes several brilliant innovations Oracle brought to the table:
It's a key-value store I guess they have to steal that idea to join the category.
Consistency can be throttled so that a write does not complete until it has gone to one, a quorum or all replication nodes. Duh! For years that has been a feature on nearly every incumbent NoSQL DB such as CouchDB, MongoDB, Cassandra, and others.
It allows you to attach a version number to an
Sharding (Score:1)
Does it do sharding? Is it WebScale?
http://www.youtube.com/watch?v=b2F-DItXtZs [youtube.com]
Software Patents (Score:2)
Whew, thankfully there's no such thing as software patents, which means we can have actual innovation and improvements... oh.. wait, software patents exist in this timeline.. damnit!