IBM®
Skip to main content
    Country/region [select]      Terms of use
 
 
    
     Home      Products      Services & industry solutions      Support & downloads      My IBM     
developerWorks  >  Blogs  >   developerWorks

author Cloudscape to Derby - Closed to Open Source

Daniel Debrunner is a Senior Technical Staff Member with IBM's Information Management division in San Francisco, California. For the past eight years he has been the architect for the Cloudscape database engine, guiding the technology from a startup company through two acquisitions to wide deployment in IBM's products and middleware. Now he is looking forward to being a participant in the Apache open source community that will drive Derby. Daniel has worked on the internals of number of additional database engines at Sybase, Illustra and Informix. Prior to coming to the United States Daniel worked for a London based Unix systems company and received a MA in Physics from the University of Oxford.



Saturday April 08, 2006

Derby at JavaOne 2006

David Van Couvering (Sun Microsystems) & I are presenting at JavaOne this year.
The title and abstract are:

TS-3154 Introduction to Apache Derby

Apache Derby is a 100% Java™ technology-based open source database. It is an excellent fit for Java technology and web applications, because it is fully embeddable; requires zero administration; has a small footprint; and is secure, easy-to-install, and fully standards-compliant. This session gives you an overview of the qualities and features of Derby, discusses the different scenarios and topologies in which it can be used, and provides an in-depth overview of Derby's support for the JDBC™ API and SQL and how it integrates with an application or web server.

There is also a Derby/Eclipse tutorial from John Graham of Sybase.

TS-4259 Watching Apache Derby: Eclipse Tools for Administration and Monitoring

The Eclipse Data Tools Platform (DTP) project provides open source frameworks and tools for data access, management, and development. Add in the application-hosting capabilities of the Eclipse Rich Client Platform (RCP), along with the open source database Apache Derby, and a compelling stack for rapidly developing data-centric applications emerges. This presentation uses this stack in a case study building basic administration and performance monitoring tools for Apache Derby.

Assuming only a basic understanding of Eclipse plug-in development, the session begins by describing the requirements and architecture for such tools. Included in this section is an overview of DTP frameworks and tools, an introduction to building RCP applications, and potential avenues for future development based on the chosen approach. It shows that RCP and DTP modularity presents several interesting trade-offs, and you learn some design heuristics for making such choices. You also see that DTP frameworks enable replaceable storage systems, so the lessons from this one instance with Apache Derby can easily be generalized to many other databases and even other data sources.

With a design in hand, the presentation next investigates how to configure RCP and DTP into a minimal container that meets the requirements. This exercise demonstrates the power of modularity and progress functionality addition afforded by these platforms. This extensibility and modularity make it possible to note key areas where further features can be added. Connectivity to Apache Derby is then added easily through DTP, and the presentation explains details of how other databases can be used. The end result of this section is a lightweight application environment ready for Apache Derby tools to be added.

The third section reviews the design and implementation of the plug-ins added for Apache Derby administration and monitoring. Working from the conceptual to the code levels, the presentation details the benefits of the assembled data-tooling stack. Although the code is specific to Apache Derby, it is apparent that key domain patterns are present. The discussion shows how these patterns can be applied to other databases and other data sources easily (sometimes not so easily).

Finally, the attendees see the sample work. Within the space of a conference presentation, frameworks and tools that traditionally have taken a very long time to build and even longer to mature will have been covered. Because RCP and DTP provide so much in a highly extensible package, the community is able to concentrate on more-advanced, differentiating functionality.




Apr 08 2006, 10:17:00 AM EDT Permalink



Friday April 07, 2006

JavaDB and Cloudscape

Sun Microsystems who have been active in Derby for a number of months followed up their announced support of Derby by providing a download site for JavaDB. JavaDB is Sun's re-branding of Derby, much like IBM Cloudscape is IBM's re-branding of Derby.

http://developers.sun.com/prodtech/javadb/downloads/

I still haven't found any details of their support plans.

Of course, IBM continues to provide IBM Cloudscape at zero licence cost with support options:

http://www.ibm.com/software/data/cloudscape/

Interesting times we live in when a Sun Java product is entirely based upon technology that IBM developed and contributed to the open source community at Apache.




Apr 07 2006, 03:15:02 PM EDT Permalink



Friday November 11, 2005

The Google generation

Last night at dinner I was talking to my eight and ten year old children and following some discussions about finding information, I said "Imagine a world without Google."

My eight year old daughter replied: "That's not a problem, there's still Yahoo!".

It's amazing that they are growing up in with the expectation that all information is right there, through a web-search. I have to admit that my daughter, when she was seven, showed me that searching for images was possible in Google.




Nov 11 2005, 03:06:00 PM EST Permalink



Tuesday November 01, 2005

Upcoming conferences with Derby

I'll be speaking at the first Open Source Database Conference 2005, in Frankfurt, Germany, November 8th & 9th.

http://www.opendbcon.net/

Then ApacheCon US 05 is in sunny San Diego, December 10th-14th. There will be a number of Derby presentations and a tutorial.

The tutorial has reduced rates for the first 25 people to sign up, thanks to IBM.

http://www.apachecon.com/2005/US/index.html/e=MjAwNS9VUw



Nov 01 2005, 04:59:00 PM EST Permalink



Friday October 14, 2005

Upgrading Derby is easy!

In looking at the various MySQL upgrade documents, such a upgrading MySQL 4.1 to 5.0 I thought that Derby needed a similar document.

Unlike MySQL's upgrade, though, which requires many manual (and hence error prone) steps, Derby's upgrade is as simple as replacing the 10.0 jars with the 10.1 jars, and in some cases adding the attribute upgrade=true to the connection request.

Thus the quick document I wrote is much simpler.

http://wiki.apache.org/db-derby/UpgradingTen

This simple upgrade philosophy will continue for all Derby releases, as part of Derby's goals to be an easy to use database.

In the Cloudscape time frame this style of upgrade worked very well along with proven track record of upgrade's and bug fix releases not regressing. This approach made it very easy for our customers to happily accept new versions of Derby, rather than being fearful of new versions.


Oct 14 2005, 09:55:00 AM EDT Permalink



Thursday October 13, 2005

10.1 bug fix release snap shot available

We are working on Derby's first bug fix release, for two reasons. First to fix some bugs, and secondly to smooth out the process for future bug releases. This will help ensure that users of Derby can get their bugs fixed quickly in official releases.

An (not so early) early snapshot is now available for testing at:

http://db.apache.org/derby/derby_downloads.html#Snapshot+Jars

I think around 20-30 bugs have been fixed in this snapshot, more details are at:

http://people.apache.org/~kmarsden/tenOneTwoRelease.html


Oct 13 2005, 10:58:00 AM EDT Permalink



Thursday October 06, 2005

SQL/PSM Derby project

I've been experimenting with getting functions and procedures written in SQL supported in Derby. This would be a step towards full SQL/PSM support. I've taken the approach of re-writing the SQL code to server-side JDBC byte code and then using the existing Java function and procedure support.

The ease with which I got a simple SQL function running I think shows the power of Java and the flexibility of Derby. It reminded me of my early days with Java when tasks I thought would take several hours took a few minutes due to the Java libraries.

I'm hoping others can join in and work on separate pieces, I've started a Derby wiki page

http://wiki.apache.org/db-derby/SqlPsmSupport

Either join in the discussion or contribute to the wiki page.



Oct 06 2005, 12:48:00 PM EDT Permalink



Tuesday September 27, 2005

Common code discussion

There has been an on-going discussion on derby development mailing list about shared or common code. This is basically the ability to use the same code for multiple jar files in Derby, say the client and engine jar files. It has been fasinating in the number of approaches discussed and the different angles that developers approach the issue from, namely:

Community involvement
Ease of development
Quality of Derby
Ease of use for users of Derby
Preservation of existing functionality

Of course while common code sounds a good thing, the basic issue is how to make use of it while not descending into version mismatch hell.

The discussion on the mailing list has not always been easy, it seems that too often such a discussion tends to spread off in four or five different directions at the same time, under the same subject. This is the situation where in an in-person meeting someone would say, let's stick to the subject, discuss the issues one at a time or discard irrelevant items as soon as they arise. This doesn't happen on a mailing list, typically because of the time lags involved, while you sleep the discussion may have gone off in different and unexpected directions by folks in other timezones or nocturnal developers!

Not sure yet what can be done to hasten such discussions to a conclusion, maybe some self disipline to stay on subject, otherwise the folks with the greatest stamina over the long haul can win out!

I think we are heading towards a solution, the discussion has moved to the Derby wiki which presents another method of communication. It's yet to be seen if this will be helpful or not.

http://wiki.apache.org/db-derby/ModuleVersioningGuidelines


Sep 27 2005, 11:15:00 AM EDT Permalink



Monday September 26, 2005

The invisible database

Found a great Derby quote through Google.

"Postgresql has been removed in favor of the derby embedded sql engine. This means you no longer require a dedicated rdbms (Thanks IBM!!)"

http://hoopajoo.net/mud/cheeselab.html

It's not that Derby replaced Postgressql, but more that someone recognized the power of a local, invisible database engine, replacing any need for an external database.

I'm building a list of products and projects that support Derby, one day I'll get to posting it on a web site. This would be, of course, only the products that document their use and/or support of Derby. There are probably many other applications that use Derby as the invisible database, no need to document or announce its use.

Of course, Derby being under the ASLv2, there is no requirement for any ISV to document their use of Derby, notify the ASF, open their source or pay money to anyone.

As the independent company Cloudscape, Inc., that was one issue, how to market success stories when the ISV's using Cloudscape did not want to document they included a database.




Sep 26 2005, 08:52:00 PM EDT Permalink



Friday September 23, 2005

New Apache Derby zone on Developerworks

Derby now has its own zone in the Open Source section of Developerworks.

http://www.ibm.com/developerworks/opensource/top-projects/derby.html

This is in addition to the IBM Cloudscape zone

http://www.ibm.com/developerworks/cloudscape


Sep 23 2005, 02:54:00 PM EDT Permalink



Thursday September 22, 2005

Derby/Cloudscape bug fix releases

In addition to the smooth running of releases, Derby being open source has not hindered in any way IBM's ability to provide bug fix releases to Cloudscape's supported customers. The IBM Cloudscape team addresses a customer's issue by entering into the Derby bug tracking system (Jira) once it has be verified as a bug, and then fixing the problem directly in the Derby branch. (or anyone else can work on the issue once it is reported).

Thus the IBM customer gets a fast response to their issue and the Derby project gets the bug fix immediately.

And talking of bug fix releases, Derby is working on producing its first bug fix release, for the 10.1 line. It looks like about at least 25 bugs will be fixed before the release candidates are voted on. The planned date is the end of October. Prior to that, of course, anyone can test any bugs that have been fixed by building the 10.1 line, or hopefully soon testing the pre-compiled sanpshots.

We are welcoming anyone to get involved by reporting bugs, voting for a bug to be fixed, fixing bugs or testing the fixes or release. Details are here:

http://people.apache.org/~kmarsden/TenOneTwoRelease.html







Sep 22 2005, 08:38:00 AM EDT Permalink



Wednesday September 21, 2005

Derby-Cloudscape - improving each other

Now that Derby has release two versions (10.0 & 10.1) and IBM subsequently released matching Cloudscape versions I was thinking how smoothly the whole process was going.

IBM Cloudscape is built directly from the Derby source branches (10.0 or 10.1). The actual derby.jar shipped with Cloudscape may not be the same as the actual Apache Derby release. This is because we (at IBM) may fix bugs after the Apache release but before releasing Cloudscape. There are various reasons as to why the bugs were not fixed in the Apache release, they may have been found after the release was made, or IBM thought they were important to fix but the community didn't think it was worth holding the release up or the fix was being worked on but wasn't ready in time etc.

Whatever the reason, the fixes are always contributed back to the community, in fact contributed back is the wrong description. The fixes are worked on in the community and checked directly into the Apache SVN repository. IBM does not maintain a separate code line, we work directly in the Apache SVN repository.

In addition in the time between the Apache release and the Cloudscape release anyone might have fixed a bug in the branch, and since this is part of the branch it will be included in the Cloudscape release.

So this means as soon as Cloudscape is released anyone building Derby off the same branch will pick up any bug fixes that are in Cloudscape but not in the previous Apache release. And any subsequent Apache Derby release will include those fixes.

Thus any quality improvements in Cloudscape are automatically part of Derby, and vice versa!

Win-win for all!






Sep 21 2005, 10:14:00 AM EDT Permalink



Thursday August 04, 2005

Here comes the Sun ...

Cnet has a story on the Derby 10.1 release and graduation.

http://news.com.com/Apache+Derby+graduates+with+Sun+onboard/2100-7344_3-5818473.html

The interesting part is the confirmation by Sun Microsystems that they will have engineers working on the project. I've met several of the Sun folks active on the derby-dev list either at JavaOne or ApacheConEurope. Indeed Sun has hired a couple of ex-Cloudscape, Inc folks I used to work with.

It must be strange to change companies to work on the same project or a codebase you used to work on, but it seems the open source development model is going make this a common occurrence.

It's great to see another significant technology company join the Derby community, I've enjoyed meeting the Sun folks and at ApacheCon sharing a few beers! They will bring a new perspective to Derby.




Aug 04 2005, 11:05:00 AM EDT Permalink



Wednesday August 03, 2005

Derby 10.1 Release

Fresh from graduation Derby has issued its first offical release as an official ASF project!

Derby 10.1's major new feature is a new open source type 4 JDBC client driver that replaces the previous use of IBM's Universal DB2 driver.

Support for J2ME/CDC/Foundation and J2SE 5.0 are added (I did the J2ME work). The complete set of new features and the download can be found at

http://db.apache.org/derby/releases/release-10.1.1.0.html


Aug 03 2005, 03:00:00 PM EDT Permalink



Monday August 01, 2005

Derby graduates to Apache DB project

With a vote on the general incubator list at Apache Derby has successfully graduated out of the incubator. Now Derby is an official Apache Software Foundation DB sub-project.

http://mail-archives.apache.org/mod_mbox/incubator-general/200507.mbox/%3c42E67D6F.8000009@debrunners.com%3e

Graduation is all down to the great community we have a Derby, active, engaged and very positive.

Thanks to everyone!

I've submitted an abstract for a presention on the Derby experience of going through graduation to ApacheCon US 2005.


Aug 01 2005, 10:11:00 AM EDT Permalink

Previous month
  July 2009
S M T W T F S
   1234
5
6
7891011
12131415161718
19202122232425
262728293031 
       
Today

RSS for

RSS for

Favorites
Apache Software Foundation (ASF)
BBC News
Cloudscape DeveloperWorks
Derby
telegraph.co.uk

Categories

Recent Entries
Derby at JavaOne 2006
JavaDB and Cloudscape
The Google generation
Upcoming conferences with Derby
Upgrading Derby is easy!
10.1 bug fix release snap shot a...
SQL/PSM Derby project
Common code discussion
The invisible database
New Apache Derby zone on Develop...
Derby/Cloudscape bug fix release...
Derby-Cloudscape - improving eac...
Here comes the Sun ...
Derby 10.1 Release
Derby graduates to Apache DB pro...

Blogs I read
Joel on Software

Special offers
Cloud Computing: IBM and Amazon Web Services
Hey there! developerWorks is using Twitter
Get recognized!
dW Author 
Program

More offers

Exception in tag

 
    About IBM Privacy Contact