July 23, 2010 - 1:55 pm UTC
Reviewer: Oleksandr Alesinskyy
To put it short - NoSQL technologies are good when results can be good enough (like Google search),
RDBMS if results shall be exact.
July 23, 2010 - 4:06 pm UTC
there is more to it than that - certain other operations that are trivial to express in SQL are somewhat laborious in non-SQL databases (SQL is a rather rich, yet tiny, language).
July 24, 2010 - 2:15 am UTC
Great thoughts!! Thanks a ton.
NOSQL is already being Intergrated with RDMBS
July 25, 2010 - 6:20 am UTC
Reviewer: Assa Paran from Israel
as my review title reads:
Aster systems is implementing calls to google's MAP REDUCE in it's software offerings; it is is thus callable from SQL-style queries; it allows benefiting from the best of RDBMS (SQL) and mass highly concurrent processing (MAP REDUCE)
July 26, 2010 - 1:30 pm UTC
Reviewer: RC from The Netherlands
Data Storage Decisions
July 27, 2010 - 7:06 am UTC
Reviewer: Rob B from York UK
The current 'NoSQL' buzz I think is largely driven by people being excited by the transparent redundancy and failover of things like Hadoop Filesystem/Google BigTable and Cassandra, due mainly to what seems to be a current obsession with 'Scalability' and 'High Availability' without
really understanding what is needed and looking into all the options available to provide these. They serve a different purpose to your typical RDBMS currently which favours consistency and integrity by default. As people who deal with replication know, dealing with failures/inconsistencies/network outage becomes very complicated and application specific very quickly.
As Tom says the good features will merge together as they already are with SQL like interfaces being grafted onto the current 'NoSQL' products. The fact is that the RDBMS has been a mainstay for decades now because it is a very powerful and generically useful way to store (and retrieve) data. You need to come up with a very good business reason why an RDBMS is not good enough for your purpose before considering alternatives.
Serializing your Java Object and storing it in a Blob/Filesystem/Whatever may end up being the best solution for your specific application. You've got to realise though, that the next person along who has to merge this data with another application's data and report on it in real time is going to struggle because of this choice, rather than normalizing it and storing it in a RDBMS.
July 27, 2010 - 12:36 pm UTC
agree with first paragraph would just add:
"oh and the programmers are scared to death of a non-procedural language called SQL, they are easily confused by it and never bother to learn anything about it"
Add to that the fact they cannot spell 'transaction' sometimes let alone explain when and where they might be relevant...
Coupled with the decision that the application is the end all, be all (which for some very specific cases - it is, but they are rare). When building a typical application based on data (what typical application isn't) the application is secondary to the data...
... Serializing your Java Object and storing it in a Blob/Filesystem/Whatever may
end up being the best solution for your specific application. ....
I've seen that done (way more than once), and the reason I've seen that done is because.....You've got to
realise though, that the next person along who has to merge this data with
another application's data and report on it in real time is going to struggle
because of this choice, rather than normalizing it and storing it in a RDBMS.
that always happens and they want to know how to make it magically happen (how can I query my java serialized blob as if it were actual data??? been there, seen that, have no good answer for it)
Survey distributed databases
July 27, 2010 - 5:01 pm UTC
Reviewer: Charlie 木匠 from Victoria, BC Canada
Where to read about NOSQL
July 28, 2010 - 2:14 am UTC
Reviewer: A reader
Anyone knows a good starting point for NOSQL..I google but found too many different things.
July 28, 2010 - 8:48 am UTC
Reviewer: Alan Howlett from Ellicot City, MD
NoSQL, no joins, no referential integrity, no constraints, no support, no...
In a hurry? Need an buzzword fix? Remember, your reputation may be on the line. So when you
are in a rush and have to choose...
NoSQL - for when it absolutely, positively, doesn't have to be right.
July 28, 2010 - 9:20 am UTC
You can always fix it with some XML files to describe to the application to tell the application how to enforce referential integrity, constraints and so on. And of course you can always program a join yourself. There, quite easy to fix, isn't it......
How to query NOSQL database...
August 26, 2010 - 11:45 am UTC
Reviewer: Alan Howlett from Ellicott City, MD
Bob: So how do I query the database?
Andy: Its not a database. Its a key-value store.
Bob: OK, its not a database. How do I query it?
Andy: You write a distributed map-reduce function in Erlang.
Bob: Did you just tell me I'm scr%#d?
Andy: I believe I did, Bob.
RDBMS v NoSQL
September 13, 2010 - 5:37 am UTC
Reviewer: Rob B from York, UK
The link above is NSFW due to language...
September 13, 2010 - 8:07 pm UTC
Reviewer: Alan Howlett from Severna Park, MD
And I almost (Select 'P'||'E''||'E'||'''||'D'|| ' MYSELF!' from dual;)
March 14, 2011 - 6:33 am UTC
Reviewer: Parthiban Nagarajan from Coimbatore, India
March 14, 2011 - 8:22 am UTC
My answer is already written - above. It was the original question in this thread.
the points are not valid
June 01, 2011 - 7:57 pm UTC
Reviewer: A reader
Never thought those things like XML, OLAP or TEXT would have killed Oracle. Because Oracle is not just about data structure, it's about scalability. There are so many badly designed enterprise applications with view layer directly connected to the database, having to rely on something like Oracle cluster to perform.
There are several facts changing nowadays when it comes to database: 1. storage gets cheap, people start to talk about petabyte as unit of stored data; 2. computing power is over the imagination when it comes to cloud computing, Google shows they can put up 1 million nodes together to do map reduce; 3. it's true the data consistency might be an issue for nosql server, however, it will not affect the integrity of most platform as long as it's not financially impacting anything, for example, I am active on a social network site and noticed a friend's icon is inconsistent in my mail box, guess what? It's nosql behind it. It just doubly stored the icon or icon link and one of them is not up to date. But the upside is that there will be no limit on how many message you can have in your mail box. And does any one even notice this kind of inconsistency? I doubt it. In most enterprise applications, data consistency is not that important. Especially, it's not that much inconsistent.
With new trend of storage space and computing power, this thing is serious. It's guaranteed you will see more and more enterprise application shift to NoSQL servers, because it's too cheap comparing to Oracle cluster. It's not really the data structure probably will mark the Oracle dead. It's the scalability and cost.
June 02, 2011 - 8:44 am UTC
we'll see. the rdbms has been declared dead many times before. This is no different.
The truth is - there are applications other than facebook, most applications need transactional integrity. *most*. By far the *most*. I've seen the nosql folks say "hey, audit trails - 100% of them - nosql em, you don't need transactional integrity". Tell that to the bank, or the HR system, or any finance system, etc etc etc.
You have a new shiny hammer - everything appears to be a nail.
follow up last post
June 02, 2011 - 1:56 pm UTC
Reviewer: A reader
Well, it won't be as dead as dinosaur. It will be as dead as things like mainframes. As it will be limited to certain industries or perspectives. It's very hard for some enterprises to get over with an old infrastructure. That's very true. I think I still see some COBOL position out there nowadays in this technology age. But as a technologist, how many people will be willing on this kind of stuff? And NoSQL is just one idea supported by cloud computing and it's not the only solution created because of cloud computing. There are many out there. If an architect is smart enough, the data integrity should not be a problem. Think it this way: is Google using Oracle for their AD feeds? It's a major financial product, which makes Google this much money. The thing here is that you cannot beat the computing power like that, especially the hardware gets cheaper and cheaper. Of course, Oracle can get into this field and grow up with cloud computing as well. Then the rest of it is really about the cost on human resource and cluster itself.
I am pretty sure Oracle has enough smart peoples to think of growing with cloud computing. However, being indifferent to such a thing will be a deadly mistake.
June 02, 2011 - 8:47 pm UTC
science? where are the numbers or evidence of this?
I never said rdbms is like cobol. And cobol is still very very very much alive. There are fads like C#, Java, php, python, etc that are being replaced day after day with the newest fad - that is sure. http://www.codemonkeyramblings.com/2009/03/the-guardian-on-the-slow-decline-of-java/ http://stackoverflow.com/questions/1215946/what-will-be-in-cs-future-in-10-years And NoSQL is just one idea supported by cloud computing and it's
not the only solution created because of cloud computing. There are many out
there. If an architect is smart enough, the data integrit
there you go, now you are speaking sensible. change nosql to rdbms and you'll be just as accurate. And you are getting the point. If an architect is smart enough, the data integrity should not be a
Ok, now you just lost points. That was the dumbest thing you could have said - ever. Now I know you are not an architect - you are not very well experienced in many types of systems. Can google afford to lose a penny or two here or there? Perhaps. But perhaps you have never worked on a banking solution - or anything that requires actual accuracy. That is possible too.
And we can and do beat that computing power. Things like financial institutions actually require the equivalent of a two phase commit when moving a kabillion dollars from a to b. We are not talking micro-cents - we are talking money. We are talking "your employee review". We are talking "your paycheck". We are talking "your confirmed reservation for your honeymoon", we are talking 'anything that you sort of really count on actually happening". We are not talking about 0.001 cents for a clickthru - where no one gets hurt if it didn't happen. We are talking about your blood test that had to happen before your surgery.
We are not indifferent to it, we are just cognizant of the fact that our strengths are things that are not only going away - but will be more and more valued as everything becomes digital.
Oh - by the way - so sorry, we lost your birth certificate, apparently you never really were born - that is so bad that you cannot collect social security or receive medical benefits yada yada yada. But on the bright side - you can complain ad-nauseum on face book - they'll keep most of your complaints I'm sure. (not really - but only because a health care system would actually use transactions and such to preserve the data...)
You'll be an architect some day when you realize there are many hammers and many types of nails and most of them won't become obsolete in your lifetime (although some will - many will - but - many won't).
June 02, 2011 - 9:52 pm UTC
Many people (dumb) have been saying that oracle is dying since 1990 when MS came up with the free SQL server.
Then it was MySQL the big thing that is going to kill oracle.
The truth is all of this turned out to be 100% BS. just check out the market share of oracle or check the number of licenses they sell every quarter on their financial reports to verify that.
Oracle has grown to a big giant since 1990 with 50% market share (more than MS and IBM together).
People who think XML or flat text files can replace RDBMS truly do not understand much about OLTP systems or OLAP or data warehouses. try designing a banking application using these methods and you almost gurantee you will end up bankrupt pretty soon.
The last two postings show a great level of ignorance about relational database systems which have been the dominant systems for the last 20-30 years. most likely they will continue for another 20-30 years in the future.
Object based RDBMS still have very small market share comapred to RDBMS. People who keep talking flat file databases will end up like dinasours too.
October 05, 2011 - 6:48 am UTC
Reviewer: Oleksandr Alesinskyy
October 05, 2011 - 10:53 am UTC
I would simply write what I wrote the first time:What I've seen happen again and again and again is that when something truly useful database wise evolves - so evolves the RDBMS. There are lots of fresh starts that get subsumed over time. There are many things in the database right now that you need over time and that would take a long time to re-invent. And remember (this is important), these specialized databases are just that - specialized. They are not general purpose - they are very good at what they do - but they do not do it for everyone. And they will end up being abused (just like XML, and all 'technologies' like that have been) and over used, used in the wrong place.
@RDBMS v NoSQL September 13, 2010
April 23, 2012 - 5:20 pm UTC
Reviewer: tobias from Canada
A followup to Rob's video link was that two days after I saw the same video at another link I saw this : http://blog.foursquare.com/2010/10/05/so-that-was-a-bummer/
Spoiler = the MongoDB backed 4Square suffered an 11 hour outage. NoSQL is not a panacea. All systems are subject to faults, but the DNA of RDBMS and deep history in implementation [30 years of transactions, ACID, etc) includes anticipating and mitigating issues to a greater degree than NoSQL.
DBA role in NoSQL,
November 30, 2012 - 11:24 am UTC
Reviewer: A reader
Database administrators play a significant role in RDBMS. Besides helping development team (related to schema and their data), database has rich features to offer where administrators play a big role (like backup/recovery, replication, HA, etc).
One of the primary feature of RDBMS is data consistency. There are numerous tasks in the background running continuously to offer this feature (waits like buffer busy waits, latch contention, etc are seen due to the work does for providing data consistency).
Now in NoSQL, data consistency is relaxed a bit. When a NoSQL is thought of, it primarily consists of bunch of programs and the hardware. The first one is taken care by development/architects and the second one goes to Infrastructure team. What is the role played by a DBA in NoSQL? If installation, configuration, maintenance is a task, then DBA wouldn't have a long future in this field.
December 03, 2012 - 8:05 am UTC
data consistency is relaxed a bit.
many times more than "a bit" :)
does anyone back up these databases?
configure the environment?
monitor the processes?
December 03, 2012 - 9:22 am UTC
Reviewer: A reader
Thank you for your response. The question you asked are definitely a YES in RDBMS but my question is do those have a YES for NoSQL as well. RDBMS have been a pivotal in many corporates. The companies would have 10's and 100's of databases for their various applications and a need to look after them is very high. In the same line, I don't know yet whether NoSQL would be spread like an RDBMS in big corporates. Until then, I really don't see a need for an exclusive DBA and my answer to your questions are pretty much NO.
December 11, 2012 - 4:05 pm UTC
Reviewer: Michael Kutz from Greensboro, NC
Oracle -onsize fits all - enterprise database is here to stay
June 07, 2013 - 2:32 pm UTC
Reviewer: Bala from MN, USA
I have been following asktom for 14 years, and seen people to come-up with requirements suited to that time period. Java, web, data warehousing, OLTP scale, analytics etc, and got ideas/answers from Tom on how to do this in oracle. As you have mentioned in the original response, as requirements evolve, oracle has evolved too.
Any true enterprise is going to have many different needs, and imagine having a separate platform for each individual need, it will be a maintenance night-mare, and needless to say it will blow up the TCO (software license cost is just a part of the TCO). This 'one size doesn't fit all' argument is true only for very rare cases, how many people need to scale to the levels of facebook/google?
Architects should put requirements into test on existing enterprise platforms (oracle) before deciding on noSQL etc, and also when estimating costs include build/run/support cost for the life time of the system.
Future of RDBMS
October 15, 2014 - 5:53 am UTC
Reviewer: Vishal from India
I was going through this article nosql vs RDBMS, text vs RDBMS, XML vs RDBMS, object oriented storage vs RDBMS
And I'm completely convinced that when we require accuracy RDBMS stands strong against each alternative. However This article is almost 4-5 years back.
Now people are coming with solutions/applications with theses alternatives (just to quote one application example workday) which are based on theses alternatives and proving their point that these alternatives can also be used in systems where we need accuracy.
Do you still feel, RDBMS is going to stay here after 10 years or so and if yes I would really appreciate if you could provide points why do you think so?
create tables in oracle nosql db
April 06, 2015 - 11:19 pm UTC
Reviewer: Tin Hoang from VietNam
Hi! can i ask you some questions?
1. i'm using oracle nosql db 12cR1, when i create tables, i have a following problem:
kv-> table create -name customers
customers-> add-field -name userId -type string
customers-> add-field -name fullname -type string
customers-> add-field -name birthday -type DATE
Invalid argument: DATE
Usage: add-field -type <type> -name <name> [-not-nullable]
[-default <value>] [-max <value>] [-min <value>]
[-max-exclusive] [-min-exclusive] [-desc <description>]
[-size <size>] [-enum-values <value[,value[,...]]>]
<type>: INTEGER, LONG, DOUBLE, FLOAT, STRING, BOOLEAN, BINARY,
Please help me! Thanks!
2. i have a 'User' Table and i insert data into this table is Ok, but i create 'User.Folder' Table(child table of User table), but when i insert data into this child table and run 'exit' command, data wasn't insert as the following:
kv-> put table -name User.Folder
User.Folder-> add-value -field folderId -value F1
User.Folder-> add-value -field name -value Report.rar
"folderId" : "F1",
"name" : "Report.rar"
Error handling command exit: Primary key fields are specified out of order
February 16, 2018 - 6:41 pm UTC
Reviewer: Marcus from Brazil
Today is 2018 and the rdbms is working more than ever!