IBM Donates Java Database App. to Apache Foundation
the_pooh_experience writes "IBM has announced that it will open up Cloudscape by giving it to the Apache Software Foundation. Cloudscape, a small footprint Java database, is primarily used for small scale websites and point-of-sale systems. Its new, opensource name will be 'Derby.' Cloudscape (originally created by Informix, and purchased by IBM in 2001) has been valued by IBM at $85M."
Can anyone comment on how it performs?
Good! This is quite a nifty little SQL engine with a lot of features. Will be exciting to follow the progress of Derby, could provide competition for mysql and postgresql.
//TheToon
Is this designed to compete directly with MySql or is it like an open source version of Microsofts MSDE. Suitable for a small web app but not for hosting something like slashdot or Amazon? It's cool to see IBM once again support the OSS community.
Simon
In any case it's cool they donated it. Being a database developer myself, I'm extremely wary of the "you don't need a DBA" claim, but regardless of the hype it looks like an interesting product that will fit in well with the Apache lineup.
...) mistake of assuming that just because they were technically superior that people would just flock to them. That, and you don't get the Informix consultants recommending the product like you do with Oracle - mainly because you don't need 'em around. 95% of the standard "Oracle add-on" products and services were either built in or not needed.
I've never used Cloudscape, but coming from its Informix roots I trust this - to a certain extent, of course. If you never used Informix, it absolutely rocked in terms of stability and ease of maintenance. We had one Informix DBA for every 100 or so installed machines (with many installed instances per machine) for product support at my last company. It never got the press that Oracle did: they made the classic (beta, Xerox, TI,
So since this was their most "simple" database, I have some pretty good feelings about it. One thing that would be interesting is that this will open up the code to their SQL optimizer. That's one area where Informix always truly rocked compared to pretty much everyone else outside of a lab situation. I don't know how much of it got into Cloudscape, of course.
You're special forces then? That's great! I just love your olympics!
There are other DBs written in Java , for example Mckoi SQL .
Mckoi SQL is quite usable, supports a great deal of the SQL 92 standard, and the performance is not bad (of course, talking about the range of database sizes for which it makes sense using an embedded sql engine
Does anyone have experience with Couldscape. How does it compare with Mckoi?
Not really sure how it compares to mySql or postgres, but I loaded a 50+ million row table with a non index timestamp field to Cloudscape and MSSQL. Both took about 3 seconds to return a query returning a unique row (ie a row updated on a specific date and time) on this field on a 2ghz intel machine with 1GB RAM.
Firebird SQL was about the same. Next Im going to try HSQL.
I would be interested in anybody elses experiments?
Yes, I think this has some value for such a monolythic project as MySQL. Plus, it's clear that such a program would have made life a bit easier for the Linux kernel team after the appearance of SCO. I don't know about most contributors, but I'm more interested in getting a working tool than keeping copyright of some snippet of code. So it doesn't bother me much.
I can't count the number of times I've needed a silly ass database app to store a tiny amount of needed data on a site that has no other need for databases. These things are useful in their own right, because you don't want to HAVE to set up Oracle or DB2 when all you need is this.
Nice to see IBM giving to opensource, even if it is only a minor product.
ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
Renaming is good for differentiating the products. One has a comercial license and the other is free. The first probably provides some kind of support or other benefits not included in the free-licensed one. By renaming it the previous owners avoid problems. For example someone could claim that he was misslead to believe that he was using the "old-licensed" product and can claim damages or support or something similar. Whith totaly different names there is no serious way this can be claimed.
I guess I don't see any problem with the fact that they benefit from this decision, nor am I surprised. The most powerful argument for open source is not a political one, but a business one: cheaper, more secure, fewer bugs. Since IBM has moved its business into service, open-sourcing their tools makes good sense. And, they only get "free geek labor" if the tool is actually useful to people, in which case its a win-win.
Let's hope Microsoft haven't patented naming database software after clouds !!
(MS Access' project name was originally Cirrus)
-- "It's not stalking if you're married!" My Wife.
That seems strange to me since everything at Jakarta is under the "Apache License". I wonder if this is a mis-print or will jakarta really host a project that is not under their license?
Add to this some context.
* Most web applications are not written in C++/C
* More and more client-applications are being written in Java/.Net due to maintainability
* There is an impedance mismatch between OO systems and RDBMS systems
** Bridging this gap often involves very non-performant abstractions:
*** wrapping bean-objects around rows
*** storing intermediate copies of beans for caching
*** making copies of beans for transactional purposes.
*** redundantly applying data-constraint rules
Essentially re-inventing the RDBMS wheel.
Thus, if you're already going to write the application in Java, then there is a tremendous advantage to avoiding the performance bottlenecks of the impedance mismatch.
Think of what a c/c++ database does in the best case.. It compiles a SQL script, loads internal relationships to columns/rows.. Accesses the in-memory indexes, and then formats/serializes the in-memory rows for output.
Java has to deserialize the text-stream, instantiate numerous objects; possibly unicodifying the data. Then whatever abstraction layers may be applied to the raw object-array result-set have to be applied.
If the data was locally available, then it could be stored in such a way that, for read-only access, it might be possible to avoid copying, and merely have it return a wrapper for the raw data. Zero latency, and practically zero additional extra work. While this is effectively the same as cached data, here we only store the data once on disk and once in memory.
"hsqldb" is an example that pretty much does the above. You still get a SQL interface if you desire though. Only catch is that hsqldb isn't as feature-rich as many RDBMS systems yet. I'm sure the IBM java-database is merely a feature-rich sister of hsqldb.
And don't forget that many java API's still use raw c-code to do intensive or tight-data-structure work.
-Michael
I ported a CloudScape DDL to Oracle once upon a time. Since CloudScape is so standards compliant it was very easy.
Those who administer J2EE applications resist new databases. Having an embedded one like this is a selling point since it leads to lower maintenance costs. Maybe.
Downloaded it, installed it, created a database, then table, inserted data into table, all within 15 minutes. Not bad. It looks pretty cool. Of course DB2 is all over it, and I noticed a tool to migrate to DB2 when this isn't big enough.
It has a transaction log, row level locking, locking isolation levels, deadlock detection, etc. This really is a full featured database like DB2, Oracle, or Sybase. NO it isn't comparable, but it has the basic features. I deal with mutli-terabyte databases every day, and would love to have the time to create and torture Cloudscape on that level. Oh well, never anytime to play.