ObjectWeb has announced the release of C-JDBC 2.0, a package that enables nearly transparent clustering of JDBC sources, for the purposes of using a distributed database as if it were one datasource.
- Posted by: Joseph Ottinger
- Posted on: August 09 2005 09:53 EDT
Changes include support for JDBC 3.0 Savepoints, new JGroups version, new serialization protocol, new infrastructure for database backup/restore, full transparency for database metadata, new command line console, and bug fixes.
- Does it do backup by Robert Greene on August 09 2005 11:51 EDT
- Clustered JDBC front end C-JDBC 2.0 released by Cameron Purdy on August 09 2005 12:15 EDT
- Benchmarks? by Igor Zavialov on August 09 2005 13:46 EDT
- What if data is out of sync across databases ? by Ronald Pomeroy on August 09 2005 15:36 EDT
It is nice to see this capability coming to relational technology. We have had transparently distributed database support for years (14) in the Versant Object Database. It is quite useful for using architecture to achieve extremely high scalability without undue burdon on the developer.
However, there are lots of subtle issues with a truely transparent distributed database that can be treated "as if it were one datasource". One obvious one is consistent backup that guarantees data integrity across the set of distributed databases. Without that capability then the usefulness of the feature is substantially degraded.
The Versant database has this ability to take a logically, physically consistent snapshot of a logical database ( distributed set of databases ) for backup. Do other database vendors provide that capability so that this new driver is really useful? I see in the announcement that there is "new infrastructure for backup/restore". Is this able to provide a logically,physically consistent backup across the distribution?
VSNT is trading at 40 cent a share, loses money and now has a market cap of about 14 mill...yea I'm going to trust my precious data to an object oriented database company trading at 40 cent a share
Ah yes ...the technical commentary of a coward.
FYI - Oracle....does. We are embedded in their supply chain management modules.
Is this able to provide a logically,physically consistent backup across the distribution?
Yes it is. To do this, we manage a cluster-wide transactional log to be able to do this.
Cool ...if there is a way to hook into this in phase 1, then I could use it with a specialized EJB3.0 driver to provide transparent distribution to Versant and RDB's combined with consistent backup. This is just what I wanted to know.
I will have a look.
Is anyone using it in production, and with what kind of loads?
Tangosol Coherence: Clustered Shared Memory for Java
i'm using in production version 1.0.x
and i have some issues :(
some problems. I hope the 2.0 resolve my problems.
Nice idea but not yet nice product
Very interesting project.
It'd be interesting to see a benchmark (preferably straight JDBC without any EJB, OR framework, etc.) showing how the performance of a single standalone database compares to, say, a respective 2-node C-JDBC cluster.
Igor Zavialov, Factoreal Corp.
Financial Data and Technical Analysis solutions.
I did a simple estimate of a stripped CJDBC installation (many features turned off for improved performance.
~32% Overhead for C-JDBC
I did a simple estimate of a stripped CJDBC installation (many features turned off for improved performance.~32% Overhead for C-JDBC
Note that database replication has never been meant to speedup writes since writes are replicated. So, a metric in inserts/seconds is only an indication of the cost of high availability for that kind of solution.
It is like measuring the write speed of a disk mirroring, it will always be slower than the speed of a single disk. Just reads can be distributed.
Something like this could be perfect for helping me migrate some old Smalltalk apps that read/write to multiple databases.
In one app we have a business constraint that if the data in each database isn't the same (disregarding a couple couple columns) it shouldn't be visible to the user.
We currently accomplish this by comparing returned rows in memory before presenting in the UI.
Can the same be accomplished (more elegantly) with these drivers ?