"No one is harder on a talented person than the person themselves" - Linda Wilkinson ; "Trust your guts and don't follow the herd" ; "Validate direction not destination" ;

November 02, 2011

NuoDB – ACID Compliant, Scalable Cloud Database


I have been learning / working on MSSQL (2005/2008) on 

  • Database Development
  • High-availability (Replication / Log Shipping / Mirroring / Clustering)
  • Performance Tuning (Index Tuning, Partitioning)
  • Performance Testing (To validate Peak Load performance, Web Service response at peak loads)
Last night I attended Technical Overview Session on NuoDB. The Session was very impressive. Outcome of Session is NuoDB has the potential to become dominant player in Cloud based Database Platform. I have prepared a Table comparing NuoDB features against MSSQL.  






Feature
MSSQL
SQL Azure
NuoDB
Comments






Processing
Parse, Execute, Cache. Transaction manager is invisible to the enduser. Rows, Pages, Extents are basics on Data Storage.
Parse, Execute, Cache. Transaction manager is invisible to the enduser. Rows, Pages, Extents are basics on Data Storage. Maximum Size is 50GB Limit.
Transaction Manager and Archive manager are core components of the system. Everything in DB is an ATOM






Database Scale out Architecture
Every Version has number of processors, RAM support. Based on the performance you can add /remove additional hardware physically
Not Mentioned. I am still checking MSDN
Add / Remove Transaction Manager, Archive Manager based on Need
Add / Remove Transaction and Archive Managers based on Need. During Holiday season scale out and in normal days reduce the AM/TM. NuoDB is scaleable. NuoDB Scales out immediately






Free Version
Express Edition free with 10GB data limit
1 GB Trial Edition for 90 days
One Transaction manager and Archive manager Free






Failover
Clustering, Mirroring, Logshipping
Replication, Mirroring – Not Supported
Multiple Archive Managers, Transaction Managers geographically distributed. All are peers. Data Distributed across all TM, DM
NuoDB is highly resilient, highly redundant. When there is no Archive Manager, Transaction Manager only then System will be down. This possibility requires lot of effort bring down all the data centres across the globe. Geo-Distribution (Active - Active Configuration). Database running in multiple places






Index Support
Clustered, Non-Clustered indexes
Clustered, Non-Clustered indexes
Supports B Tree based Indexes






Stored Procedures
Supported
Supported
Supported






Partitioning, Data Caching, Virtualization Support
Partitioning Supported, Caching - NA, Virtualization - Supported
Partitioning Not Supported, Caching - NA, Virtualization - Supported
Transaction manager has many characteristics of cache. Leverages deep knowledge of transaction. , Virtualization - Supported, Partitioning not supported






Migrating from MSSQL
NA
NA
90% SQL standards are applicable in NuoDB as well. There might be 10% additional work to be checked for migrating to NuoDB






BI
PDW, SSIS, SSAS, SSRS
Currently no BI support in Version 1. NuoDB is best supported for Mixed workloads. Long running queries, Short running queries both work independently






Locking / Blocking, Versioning
Isolation levels defined. They define how locks are assigned. Version need to be enabled (RCSI)
Isolation levels defined. They define how locks are assigned. Version need to be enabled (RCSI)
MVCC based architecture for versions. Data is never deleted.
I am not too sure about this architecture for NuoDB. Need to check further

I need to deep dive on specific aspects to write / expand further on above listed topics. To Summarize  

  • NuoDB is 100% ACID Compliant, Scaleable Database
  • ACID compliance makes it Ahead of NOSQL DB
  • NuoDB Scalability, High Availability Support makes it a potential dominant player for Cloud Database Platform
I would urge readers to install / Try Beta Version of NuoDB

Happy Learning!!

2 comments:

Siva said...

Thanks Jim for correcting me. I need to learn on basics of NuoDB (MVCC, ATOM, ACID Handling).I have downloaded Whitepaper. I am going to try Beta version.

Sachin said...

"MVCC doesn't mean that data is never deleted, just that old versions are kept for as long as a running transaction requires for consistency."

What abt a long SELECT working on a data that changed state from read>modified>commited all within the lifespan of the SELECT running from parallel session?