I’m just reviewing Oracle NoSQL database. This database is part of BigData and Oracle has an interesting view about the coexistence of NoSQL, Hadoop, Traditional SQL.
Check out this image:

Oracle view is really impressive and may become a real challenge.
Oracle claims to have a BASE compliant database but this seems not true. Reading documentation you can discover that sometimes eventual consistency model is not obeyed.
I’m also impressed from this technical aspect: ACID compliant transactions. Is this the first NoSQL database ACID compliant? Is Oracle able to deal against a paradigm? Is it able to change the theory? Of course not.
Support for atomic transactions is not provided in fact and this is in contrast with A of ACID.
Ending, I can suggest the interesting overview offered by Daniel Abadi, available here. Furthermore you may also check this cool link too.
I’m dealing with the upgrade to Enterprise Manager 12c (the cloud version….we really need the cloud version?).
Agent deploy is totally managed by enterprise manager console where, after the installation of patch #13503844 for bug #10044087, you will find the Upgrade Console under deployments tab.
A long job will:
- Copy agent
- Copy dependent plugins
- Deploy agent
- Configure agent
I have discovered a bug (Oracle support said it’s internal bug 12911215 … obviously not published) where if agent installation is done without sudo or powerbroker may fail.
The behaviour is that during job phase unzipAndDeploySoftware the command agentDeploy.sh fails signaling a mismatch between installation user and the owner of agent12g directory. This is a false alarm and the only workaround is to trick the agent installation making it to use the argument -ignoreDirPrereq.
To do it you have to connect to the enterprise manager database and issue the statement:
update PRE_UPGC_MASTER_INFO set PROPERTY_VALUE='-ignoreDirPrereq' where PROPERTY_NAME='deploy_param';
commit;
This is a really interesting question. Many people are force to think that MySQL is not totally ACID compliant due to some limitation of MySQL itself or limits introduced by some particular storage engine.
We cannot hide that old versions of MySQL were not aware of the concept to transaction and transaction is a concept must be present in an ACID database. Also ACID implying a good design of application and data, as said by Alex Popescu:
That’s because you are basically taking your data and vomiting it on the hard drive without any consideration as to if your data you are writing is sensible or simply dreamed up by magic pixies.
You may also find an interesting bug opened to MySQL: bug #62209. There is a nice complain about ACID functionalities when MySQL is used with InnoDB. Jordan Hall also made a simple test about the functionalities of CHECK constraints in MySQL showing that ACID is not totally supported.
At the end, this famous video:
Amazon Gift Card
by: gar1t
Quoting a blog post of the 451 group we can do some remarks on NoSQL. First of all many person do not really know what is NoSQL and the worst of it is that many persons claim to be IT consultant does not really know anything about NoSQL; they simply think that NoSQL is a different kind of database that don’t use SQL language!
Second NoSQL is a widespread concept that has been used for different products without really leveraging the single functionalities; this has been caused market confusion and it haven’t helped the real diffusion of concept and use.
Probably only few persons known the theory behind NoSQL, the differences between BASE and ACID, te CAP theorem, the differences between NoSQL datastores, etc.
Also today you hear from many sources the term BigData. Do you know that BigData is a trademark of a company called SysTap ?
Furthermore the big problem of NoSQL in the enterprise: is the eventually consistent model applicable to your business?
I agree this title is misleading but problem is clear: today Oracle does not provide any product can compete with new cloud computing needs and with the NoSQL movement. It is not possibile to think that actually the RAC technology of oracle can be used in a cloud environment and also a cloud service cannot be deployed over an Exadata.
The acquisition of MySQL wasn’t of course the interest of Oracle in MySQL, but today MySQL might be used in a cloud environment with some tricks. Might as MySQL is not in fact a NoSQL database but can be adapted for this role. Oracle provide a plugin to integrate MySQL with Memcached that is widely used in NoSQL environment to solve the problem of data partitioning but IMHO is not enough.
A NoSQL database is not an old relational database (somebody might also complain about the real ACID compliance of MySQL) converted or readapted to support BASE properties instead ACID. The entire pattern is completely different.
Of course Oracle from its point of view try to say the NoSQL is really not needed as presented in this webcast. Moreover the famous Tom Kyte in his own blog Ask Tom answered to the topic NOSQL vs. RDBMS databases
However I can argue that the problem must be taken at a lower level. The CAP Theorem shows clearly that a standard RDBMS cannot be used in a real distributed environemnt; so there is no possibility to adapt an RDBMS for this purpose. However, with respect of CAP theorem, the missing of real consistency is a barrier for many applications…try to apply the statement eventually consistent to a deposit in your bank!
…coming soon..what? Today I’m too tired to write again anything interesting. I’ve just discovered another Oracle bug and I’m seriously trying to understand how and why they’ve started working in this fucking way….
About me? I’ve just become an IEEE member of IEEE Computer Society and IEEE Computational Intelligence Membership.
Open University is going well even if I’m fightened about next TMA and exams.
My life instead is going bad and I’m here alone writing down this few stupid words….
Few months ago I wrote a question on oracle-l regarding generation of test data. Stephane Faroult answered me suggesting to take a look to the fourth chaper of his own book Refactoring SQL Applications.
Having test data is really important because many times you cannot work with masked data or you do not have any data at all.
In my case I had to generate a table, huge table, of employees or citizens. The solution was to find and download lists of firstnames and surnames with rank and distribution; also I needed a list of top1000 cities in the United States. Google is always an interesting source, but the best site is, for US of course, the Census Bureau website.
Stephane Faroult suggested a method to calculate the frequency based on rank and then to create a table with correct percentage of names. The book contains a set of scripts can be used and adapted for any needs.
Today I’ve been looking how to load some performance metrics from Oracle database to Cacti. Cacti has an interesting collection of monitoring scripts available for Oracle uses Oracle SNMP agent. The SNMP subagent is part of Oracle Enterprise Manager agent acts as a proxy between SNMP and database queries. This kind of feature, according to metalink (formerly My Oracle Support, aka MOS) will be deprecated in future releases starting from enterprise manager 11gR2.
ANNOUNCEMENT: The Management Agent’s SNMP SubAgent is Being Planned for Deprecation in Future Release of Grid Control [ID 1057526.1]
This is really bad and probably Oracle already knows that many monitoring systems and infrastructures are based on this component. To prove this, at the end of announcement, Oracle is seeking feedback through Oracle communities website where many people has already expressed their disappointment about this news.
In fact what about your third parties monitoring system? I like Enterprise Manager for many feature but I also hate it for many others. Capability of creating and maintaining graphs is really poor, CACTI, that’s based on RRD, does it better for example. Also the real monitoring system seems good but if you drill down al features you can understand that is not so good, and sometimes its cost is not justified by its own features.
Just to let you know that I’ll in Zurich for Trivadis Performance Days 2011. Hope it’ll be a day to meet other oracle professionals. If you plan to come in Zurich let me know so we can organize a dinner and/or a beer togheter!
This concept is almost unknown by people. Googling for Oracle Transaction Isolation Level the first post is a PowerPoint file from the University of Indiana about Oracle Locking mechanisms that is not strictly related and sometime confused with transaction isolation level.
Transaction Isolation Level is a property of ACID model called Isolation and is described here on wikipedia.
Oracle talks about its own isolation level in the Concepts Book, chapter 13. Probably with Oracle you’ve never heard anything about this because:
- You’ve not read carefully the Concepts book
- You don’t know all about ACID model
- You don’t know anything that is not Oracle and it’s normal workig way
- Most developers don’t use Isolation Level (probably because they don’t know it)
It’s important to understand that oracle use the read consistency isolation level and in particular Oracle use if at statement level. Thus you are sure that data for every query comes from a single point. This does not eliminate the possibilty to change isolation level for a particular transaction.
Locking mechanism is important but is not strictly related to isolation level. Locking mechanism prevent destructive interaction between transactions accessing the same resource. Particular attention have to be used when you force isolation level to serialize because the way of locking and possibile locks