Slashdot Mirror


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."

31 of 261 comments (clear)

  1. "public domain" is not the same as "open source" by samuel4242 · · Score: 5, Informative

    Geez is the NYT dumb. Putting something in the "public domain" means you relinguish control. It's owned equally by everyone. Choosing an "open source" license means you keep control. If you're careful about how you do it, you can even change the license terms a bit later. MySQL is constantly tweaking their terms because they're the sole copyright owner. Sure, it's available under the GPL, but they can tweak the terms for preferred customers. And they do! That's still their perogative because the code is NOT in the public domain.

  2. Value by Anonymous Coward · · Score: 5, Funny

    "...has been valued by IBM at $85M."

    Now, it's free, so it's worthless.

    1. Re:Value by Tassach · · Score: 5, Insightful
      It may well be worth $85M, but how much would it cost IBM to maintain it? Besides, it would only be worth that much if they could find a buyer, and it's pretty unlikely that they'd find someone to buy it at that price.

      An $85M "asset" isn't worth much if you have to spend $16M a year maintaining and supporting it. Also, remember that IBM has several other database products this would be competing against. The fact that they released it as Open Source is a very good thing for everyone, considering that they could have just abandoned the code and kept it locked away. This way they get good publicity, reduce their maintenance costs, and get a nice tax break.

      Another point that IBM really isn't in the business of selling either software or hardware anymore -- they sell SOLUTIONS. Nowadays, most of Big Blue's revenue comes from sending consultants out to tell customers what hardware and software they need to run their business, and then putting all the pieces together for them so the whole thing works. While they'd prefer to sell you IBM hardware and IBM software, they're pretty agnostic in that regard. Having their own pet OSS database allows them to offer an IBM-backed solution for lower-end projects which don't have the money for a DB2 license.

      --
      Why is it that the proponents of "one nation under God" are so eager to get rid of "liberty and justice for all"?
  3. Foot in the door? by frostman · · Score: 5, Insightful
    I had a look at the IBM product page and found this:


    Supports complex SQL, transactions and JDBC so that your applications can be migrated to DB2 UDB when they need to grow.
    ...which makes me wonder whether this is part of a strategy to get the foundation and community to do the work maintaining something that may not have been profitable but was something their service division could get people using as a baby step towards DB2.

    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.
    --

    This Like That - fun with words!

    1. Re:Foot in the door? by rjstanford · · Score: 5, Interesting

      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.

      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, ...) 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.

      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!
  4. NYT by 13Echo · · Score: 4, Insightful

    Leave it to NYT to misinform people. The article says that IBM put the code "in the public domain". The license by which the Apache foundation will distribute this is certainly NOT public domain. It later says "Apache will hold the licensing and intellectual property rights to the Cloudscape code."

    I wish people would stop mixing these things with public domain. Apache's license, GPL, etc., are forms of copyright, and are NOT public domain.

    1. Re:NYT by poot_rootbeer · · Score: 4, Insightful

      Leave it to NYT to misinform people. The article says that IBM put the code "in the public domain".

      While many at Slashdot have caught this mistake, relatively few at the New York Times are likely to.

      Instead of/in addition to posting about the error here, why not send off a note to the Times to let them know about the important flaw in their coverage of this story?

      If there is one observation that can be made about the surging popularity of blogs in the past few years, it's that Media is able to function better when it gets feedback from its readers.

  5. Re:Tax Reduction? by Grullie · · Score: 4, Informative

    Cloudscape is hardly dead - it shows up prominently in Websphere Application Developer as the default embedded DB for EJB data. It feels a lot like MS Access - simple, quick, and dirty.

  6. More techincal background by TheToon · · Score: 5, Informative

    The Cloudscape homepage: Cloudscape
    And more details with links to PDF documents: Features and Benefits

    I would guess that mysql would be faster for simple stuff, but Cloudscape could give it a run for it's money with support for more complex SQL.

    Wouldn't know how it compares agains postgresql...

    --
    //TheToon
  7. Performance by DuncanE · · Score: 5, Interesting

    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?

  8. Re:Database written in Java? by the+quick+brown+fox · · Score: 4, Insightful
    I'm pretty sure databases spend a lot more time I/O and network bound than CPU bound. Besides, Java is pretty fast these days.

    On the other hand, it's still a (relative) memory hog.

  9. Re:MySql Competition? by jaaron · · Score: 5, Informative

    While I haven't used Cloudscape in a very long time, I imagine this is more competition to other Java open source databases like HSQL, Axion, or McKoi.

    Most of these databases are used by "embedding" them into an application (something not uncommon in Java programming), not as a standalone database server like Oracle or Postgres. Of course, like I said, it's been a long time since I looked at Cloudscape so it could have changed to be more of a standlone server.

    I'm also surprised I haven't heard more about this in Apache, but I imagine it will first go through the Apache Incubator to sort out any legal issues and then end up somewhere in the Apache Database project. If anyone has more info, I'm interested to know.

    --
    Who said Freedom was Fair?
  10. Re:MySql Competition? by Anonymous Coward · · Score: 5, Informative

    I think that Slashdot runs MySQL. So saying that MySQL cannot run big webapps is a bit of an underestimation :-)

    Anyway, personally, I see it more as a competitor to hsqldb, which is also an embedded java DBMS. Or sqlite, although the latter is written in C++. It has the potential to become popular as a DBMS embedded in applications, but I don't think it is usable as a real stand-alone DBMS, such as MySQL.

  11. 503 Service Unavailable by stavrosfil · · Score: 4, Funny

    Great!!!

    Maybe slashdot can used it to stop the 503 errors :)

    1. Re:503 Service Unavailable by LnxAddct · · Score: 5, Informative

      Just remove your slashdot cookies and all is well again... go figure.
      Regards,
      Steve

      P.S. Anyone know what the hell is going on over at Slashdot HQ?

  12. Kinda similar to Berkeley DB for Java... by CitizenDan · · Score: 4, Insightful

    Of anything out there I think Cloudscape is most similar to Berkeley DB for Java (an in-process DB). The comment about it being a stepping-stone to DB2 could be made about any JDBC-compliant DBMS...IBM just happens to favor theirs ;-)

  13. "Open Source Name"? by ceeam · · Score: 4, Funny

    Good thing it's Derby and not Firebird.

    Anyway - why bother renaming and what is "Open Source Name"?

    1. Re:"Open Source Name"? by Anonymous Coward · · Score: 4, Interesting

      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.

  14. Re:MySql Competition? by NineNine · · Score: 5, Funny

    MySQL is definitely ready for heavy loads

    You're right. After all, it performs so well for Slashdot...

  15. Correction by cdegroot · · Score: 5, Informative

    Cloudscape was originally crated by Cloudscape, Inc. (I contracted for them at one time), which was later acquired by Informix.

    At the time, it was a fairly complete and well-performing database with some nifty multi-database synchronization features, so even though I'm not involved in Java programming anymore this can turn out to be a quite interesting addition to Joe. A. Opensourcecoder's toolkit.

  16. Re:Database written in Java? by Tassach · · Score: 5, Informative
    Java's reputation for slowness is based on a few factors, none of which is applicable here:
    1. The GUI, partiuarly AWT, is horribly slow. This is unavoidable because there's no good (fast) way to do platform-independent graphics. However, since a database engine has no GUI components, this won't be a factor.
    2. A lot of the perceived slowness of Java comes from the time it takes to load and initialize the JVM. This is a factor when launching a desktop app written in Java. However, since a db engine is a long-running (daemon) process, this is also not applicable in this case.
    3. Early JVMs, particuarly before JIT (just-in-time compilation) took off, were indeed slow. Modern JVMs with JIT, once loaded, run (non-gui) Java code at a speed comperable to compiled C++. This is just 8 year old FUD that needs to die.
    4. A database is almost never CPU bound. The very nature of databases causes them to be I/O bound -- I/O bandwidth (especially disk throughput) is almost always the limiting factor in database performance. Modern CPUs are so vastly over-powered for database work that even if it took twice as many cpu cycles to run the Java code as it would to run comperable C++ code, you'd still only be using a small fraction of the available CPU cycles. Excessive CPU consumption in a database is almost invaribly caused by user error -- poor schema design, missing indexes, poor SQL coding, etc.
    --
    Why is it that the proponents of "one nation under God" are so eager to get rid of "liberty and justice for all"?
  17. Re:Database written in Java? by LnxAddct · · Score: 5, Informative

    You obviously haven't used java within the past 3 years or so.... Its speed on every platform I've developed on is no different then native speed, and in many scenarios its faster because of the many optimizations that java makes to your code and also from years of optimizing their own algorithms. This could be debated well... forever, but anymore if you need something faster then java then you should probably be using assembly. Speed and overall performance has only gotten better with the new 1.5 VM as well (It's now known as 5.0, and its still in beta but very useable).
    Regards,
    Steve

  18. Re:Anybody used it? by mauryisland · · Score: 5, Informative

    I've been using Cloudscape 4.0 in a web environment for a couple of years now, with no database failures of any sort. Cloudscape has a good selection of utilities (bulk loader, CLI and GUI, etc.) It's picky about ANSI SQL, and it supports most of the SQL that I'm interested in, like nested queries, stored procedures, etc. I'm using it as an imbedded database (just presenting data, not writing anything while in production), so I can't speak to the speed in an OLTP environment, but for my purposes, I'm absolutely delighted with it.

  19. Re:Tax Reduction? by michaelggreer · · Score: 4, Interesting

    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.

  20. Apache Corporation? by gtrubetskoy · · Score: 4, Informative


    Funny how the word Apache in the article is linked to the stock ticker for APA. (Or may be not so funny) For the record - The Apache Software Foundation is a registered non-for-profit 501 c3 corporation incorporated in Delaware, and as such it does not have stock but rather can hand out membership to make one a stakeholder.

  21. Re:Tax Reduction? by Anonymous Coward · · Score: 4, Informative

    It's hardly a dead technology. Cloudscape is to be used as the local data store in the next generation of IBMs messaging products (e.g. Workplace which is built on eclipse RCP - see www.lotus.com)

    Lotus say that the Notes client will 'converge' with the Workplace client in the version 8 release timeframe so that'll put an eclipse runtime and cloudscape DB on most every corporate Notes desktop in the next 2-3 years.

    What you're seeing is IBM seeding the developer marketplace with technology (Eclipse, Cloudscape) in order to reap dividends in the form of an established base of technologists familiar with the underpinnings of their commercial products.

    You getting the picture?

  22. Re:Database written in Java? by maraist · · Score: 4, Interesting

    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
  23. Re:Yawn. by MORTAR_COMBAT! · · Score: 4, Informative
    Another fast, small Java database is Hypersonic SQL.

    hsqldb is a relational database engine written in Java, with a JDBC driver, supporting a rich subset of ANSI-92 SQL (BNF tree format). It offers a small (less than 160k), fast database engine which offers both in memory and disk based tables. Embedded and server modes are available. Additionally, it includes tools such as a minimal web server, in-memory query and management tools (can be run as applets) and a number of demonstration examples.


    Another interesting, open source Java database is McKoi SQL Database, a GPL-licensed Java database with all kinds of nifty features.

    Mckoi SQL Database is an SQL (Structured Query Language) Database management system written for the JavaTM platform. Mckoi SQL Database is optimized to run as a client/server database server for multiple clients, however it can also be embedded in an application as a stand-alone database. It is highly multi-threaded and features an extendable object-oriented engine.


    Things are getting interesting for JBoss developers: JBoss ships with HSQL, supports McKoi nicely, and now we get Cloudscape thrown into the mix. Sweet.
    --
    MORTAR COMBAT!
  24. Re:Anybody used it? by Anonymous Coward · · Score: 5, Informative

    We are a successful enterprise software ASP and used Cloudscape during our first 1.5 years before switching to a more robust database. Cloudscape powered our applications for 40+ customers globally. While it performed well given its small footprint, a huge problem for us was the fact that it does not release unused space -- the only way to do this is to run COMPRESS. With growing transaction volume we began running into random database balooning problems where the size of Cloudscape grew from 100MB up to 30 or 40GB depending on how long it was running. The fix required a COMPRESS command which takes anywhere from 1 to 48 hours depending on the size of the database and the amount of physical memory available.

    Switching to Oracle and SQL Server eliminated this problem entirely. In addition, performance has been increased literally ten-fold just from the switch (no changes were made to our code or schema when this performance increase was measured).

    While I would recommend Cloudscape for smaller, non-critical applications, it is not ready for real-world enterprise apps. I look forward to the improvements the open source community might bring -- from a cost perspective I'd certainly like to see us switch back someday.

    Regards,
    Matt

  25. Access Killer? by Snap+E+Tom · · Score: 4, Insightful

    The main thing I've felt that has been holding Star/Open office back is a need of a database as easy as MS Access.

    I know it's a different language, but work with me for a second.

    Yes, Access sucks as a DB, but it's good for three things. First, it's a quick and dirty way to store data. Secretaries and analysts use it, dump their data in a little file, put it on a floppy, bring it home, work on stuff at home, and bring it back on a floppy the next day. That is the ultimate selling point of file based databases. Even with Open Office's database tools, I have to know something about being a DBA - starting mysqld, db security, etc. Second, our DBAs love it because it's a graphical frontend to ODBC datbases. It gives semi-cluefull non-techs a way to see data. Finally, you can actually drop it onto a webserver and drive databases with it. Biases aside, it did gather them a following in the late 90's when everybody was a "developer" doing websites.

    Any sort of MSOffice competitors have taken a while to solve these three needs elegantly. Looking at the IBM site, it looks like Cloudscape, with the embeded and network connectivity features, can be a foundation for something that can fill all three needs.

  26. Re:MySql Competition? by kpharmer · · Score: 4, Informative

    > MySQL is definitely ready for heavy loads

    heavy transactional read loads for non-critical apps perhaps.

    - Not heavy DSS/OLAP read loads though (where indexes don't work well and you want partitioning to bypass 95% of your rows). See Oracle, Informix & DB2 to see how this is done and the results it achieves.

    - Haven't seen a proper benchmark but antecdotal evidence points to problems that MySQL has scaling to meet much write traffic. Postgresql, Firebird, etc on the inexpensive/free side appear to be better choices for this kinds of applications.

    - Aren't online backups unavailable except through separately-licensed (and expensive) products?

    - Then you've got the entire managability issue - on larger projects in which you desperately want the kind of functionality that MySQL AB has claimed that 95% of database applications don't need and which they've failed to support well: like database-enforced data quality constraints (referential, uniqueness, and check constraint declaratives). Add to that the lack of flexibility that comes from various missing features like views & stored procedures. Add to that the problems porting their non-standard SQL. Lastly, add to all of the above their massive list of exception-handling problems - in which errors silently fail.

    Nah, MySQL is a nice little database. But unless 'heavy loads' means non-critical, read-only, index-oriented loads - I think that there are about a dozen better options available.

    Oh yeah, and no - cloudscape isn't a competitor for mysql in general. They each bring different strengths to the table.