[Looking for Charlie's main web site?]

CF/Derby - Some common questions about Derby's suitability for use

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Some of the most common questions people wonder as they first consider using Derby (the embedded database in CF8) are the following: is it a development-only DB? Does it perform and scale well? Isn't it only a single-user DBMS? Is it the same database embedded in AIR? There's a lot of misinformation out there and there are surprisingly positive answers to all these potential criticisms, which I address these below.

I'll also address these points and more in my talk at Adobe Max, in my session "Using Apache Derby, the Open Source Database Embedded in ColdFusion 8", on Tuesday, November 18, from 4:30 pm - 5:30 pm. If you've not yet booked that slot, or are on the fence, I think you'll be VERY surprised to hear all that Derby can do. I'll share some tidbits over coming days.

Is it a development-only DB? How does it perform and scale?

No, it's not just a development DB. First, yes, of course you can build production applications with it (though redistribution would be according to the Apache license). But as for its performance capability, there's in fact a PDF of a presentation comparing Derby to MySQL and others. Still another is available from IBM.

I've heard that Derby is a single-user DBMS

That's a common misconception, and some of it stems from the fact that it can run on its own, embedded in another Java application or server (like ColdFusion), or it can operate using another feature called the Derby Network Server.

Let's look first at the simpler embedded form: Derby itself provides no communications abilities of its own, which helps keep it lightweight. As such, it can't be communicated with from outside applications, indeed it can accept requests from within that same JVM process. Does that mean it's single-user? Of course not. CF (like most web app servers) is multi-user, and IT handles that multi-user processing. Derby itself has no problem processing multiple requests within the CF process. It just can't receive them from outside of CF.

So why might a CF user care about the Network Server feature? Well, if you wanted to talk to Derby from another Java process, then you need it. You may think this applies only to other Java applications on the server or clients, but here's one that may trip you up: an IDE. The ij tool (mentioned later), for example, can't talk to your embedded database without enabling the Network Server.

That latter point, and indeed more on this whole question of "is it a multi-user database or not?" is covered in Chapter 1 of an available Derby book I'll discuss in a later entry, and that chapter is available online (and in pdf form). The discussion of interest here is on the next to last page. I'd like to quote a bit:

When developers refer to Apache Derby as an embeddable database, they are referring to the fact that the Apache Derby database runs within a JVM process. Without the Apache Derby network server, there would be no networking services, data access outside of the embedded JDBC driver in the database engine, or other infrastructure requirements; this accounts for its small footprint.

Understanding what the embedded concept entails is critical when developing applications. For example, one common misconception that developers have when they work with Apache Derby as a standalone database is that it's only a single-user database and does not have communication capabilities. They believe that it is a single-user, single-connection, single-threaded system and develop their applications accordingly. This is not true. Apache Derby as a standalone database can support as many connections as desired, so long as they are established from the same JVM hosting the Apache Derby engine.

For an Apache Derby database to be accessed from a process that resides outside the hosting JVM that loaded the Apache Derby database initially (even if the JVM process resides on the same server), you need to load the Apache Derby network server. Read that last sentence twice to ensure you understand it because it is often a source of confusion for Apache Derby developers when multiple JVMs reside on the same machine. The Apache Derby network server allows for communications between JVM processes. This means that this communication infrastructure isn't solely required to communicate between machines; it is needed even if two different JVM processes reside on the same machine and want to talk to the same database.

Is this the same database engine that's embedded in Adobe Air?

No, that's yet another open source (indeed, public domain) DB, called SQLite (not a typo: it's spelled with one "L"). One may ask why the different Adobe teams chose different open-source embedded DBMSs. It could be that the different groups weren't aware of each other's decision and simply chose what seemed best for them. (Is Derby embedded in CF the same way SQLite is in Air? Well, that seems semantics. Yes, Derby is embedded in CF. The full DBMS is there. Nothing to install. Yes, you have to create a DSN (more later), but that's it.)

Could Derby have been used for Air? Sure. Could SQLite have been used as the embedded DB for CF? It seems so. The two are very similar in being small, embedded, yet highly functional multiuser database engines.

There's a comparison of the two on the SQLite site, though obviously it has a SQLite perspective. For instance, it says "Derby only allows a single process to have the database open at a time in its embedded mode. However, Derby also offers a full client/server mode." That's a common misconception, as discussed in my previous point above.

Signup for my Derby talk at Max

Again, I'll have lots more to say on Derby. But I realize it can be hard to keep up on any blog entry or series of entries. If I've piqued your interest at all, or if you want to show your support for CF (and Derby) talks at Max, consider signing up for my talk. I'll have more to say and show there, for sure. Also, if you have colleagues who maybe don't read blogs, let them know that Derby is a lot more than they may have been led to believe, and have them sign up. The Max folks use signups to measure interest in topics. This may be one that slipped under the radar of many considering talks. I'm just trying to help promote it, while sharing more Derby goodness along the way.

Have you considered using the Derby DB embedded in CF 8?

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
One of the less heralded new features in CF8 is that fact that there is now a DBMS embedded within it, called Apache Derby. Yes, I called it a DBMS. Some have misconstrued it to be some simplistic file-system data file. It's much more (multithreaded, multiuser), and quite capable of being a production DB for you, with far more features and capability than you probably imagined.

I'll be talking about it more at Adobe Max, in my session "Using Apache Derby, the Open Source Database Embedded in ColdFusion 8", on Tuesday, November 18, from 4:30 pm - 5:30 pm.

If you've not yet booked that slot, or are on the fence, I think you'll be VERY surprised to hear all that Derby can do. I'll share some tidbits over coming days.

If you've not yet started to create your Max schedule, please do so. The planners use the information provided to juggle rooms, etc. Derby may not seem like a sexy talk, but I hope you show you there that it's very much worth your attention. It also opens the doors to some interesting that only a DBMS embedded in CF can enable.

Even if you don't want to book your whole Max schedule yet, if you think this would interest you, please add it to your schedule as a start. Thanks.

Adobe announcement - ColdFusion 6, 7, and the end of life of Java 1.4

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Some folks may have missed that Adobe released a technote yesterday that may interest some folks. The good news is that there's no bad news--but you should be aware of the news so that when rumors start running rampant, you'll have information from the source.

Old News, coming to fruition next month: Sun EOL of J2SE 1.4. Adobe's response

Sun has previously announced (in 2006) that J2SE 1.4 (the JVM that happens to underlie CF 6 and 7) would reach end of life in October 2008.

Well that's next month, and Adobe has offered a technote to explain how this affects CFers on 6 and 7 (they don't mention 6, as it's no longer formally supported).

  • Adobe will continue to provide support for configurations requiring this version of the J2SE on a best-effort basis
  • Folks can of course upgrade to CF8, which runs on Java 1.6 (and supports 1.5)
  • FWIW,folks running JRun can also upgrade to later versions of it that support later versions of the J2SE

All that's good news, really, so nothing to get excited about.

Java SE for Business

Sun themselves have also addressed the problem by releasing something called Java SE for Business, which extends the life considerably (up to 15 years), which an organization can license. Adobe has said in the technote that they will be supporting that as well.

So the sky is not falling

All this means that if you hear anyone start some rumor that the EOL of Java 1.4 spells some doom for CF 6 or 7, nip it in the bug. Point them at this technote.

As further testament to why this is not a significant issue, Adobe also makes note there that "Servers running ColdFusion MX 6.x with J2SE 1.3.1 or JRun 4 with J2SE 1.3.1 have historically run without problems long after Sun Microsystems had End of Lifed that J2SE version."

More questions

I imagine some reading this will have questions. I'll say right now that I know nothing more than what I read in the technote. I have no inside information. I just thought we ought to call out the technote so folks knew of it.

But ask your questions, and perhaps another reader (or later, I) will have an answer.

PS I'll grant too that maybe this isn't new information (the Adobe response, and this technote). I only caught it today because I get the feed (as I discussed previously) of new/updated technotes. The technote says it was updated yesterday. They don't say when they're created, so it's possible the technote came out in the past. I just don't recall seeing it. (I wish they would put dates on them for this reason.)

A 12-page Intro/Review of FusionReactor 3

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
If you missed my 12-page introduction and review of FusionReactor 3 in the last issue of the FusionAuthority Quarterly Update, Volume II Issue IV which came out earlier this summer, well, the good folks at the magazine, Michael and Judith, have kindly chosen to post the article online:

FusionReactor: ColdFusion Server Healthcare (and What's New in Version 3) (PDF)

Thanks, folks! I hope it might serve as a useful intro for those who've not seen the tool (whether in its older or newer version), which can be used to monitor CF 6, 7, and 8. That CF8 support is important not only for those running CF8 Standard, which doesn't have the CF8 Server Monitor, and also even for those who can run the CF8 Server Monitor, as there are some useful benefits of using it even on CF8 Enterprise). Note that FR also works with Railo and OpenBlueDragon, as well as BlueDragon/J2EE and indeed any J2EE application (including LiveCycle Data Services) and any J2EE engine (JBoss, Tomcat, WebSphere, etc.)

The article can also serve as a review of features that those already using the tool may have missed, or you can focus on what's new in FR 3 (quite a bit).

Check out the article, and the tool, including the available live demo in addition to the 10 day trial. I'll note that the live demo is running at a lower level of authority (one of the new features of FR 3), so you don't see and can't do all with it that you might as a full admin user.

I'll arrange to do a demo of the tool on an upcoming CF Meetup session, whether on its own or along with other monitoring tools for CF which I've discussed before.

20 bucks buys you considerable training in good development practices

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
I'm sure many readers have seen mention of the upcoming event, A Wee Dram of Scotch. If you haven't taken a look at it, it's shaping up to be quite a good value for getting a considerable amount of training in good development practices, all in one day and for just 20 bucks (10 British Pounds).

They have a great lineup of 7 terrific speakers, presenting on topics that many want to know or know more about: ColdSpring, OO, clustering, Subversion, dev practices, and Railo. And the topics are bring presented consecutively so you won't need to worry about missing a single one. That also makes for an easy read of the web site: it's just a single page, with popups for each talk. Take just a minute to check it out.

Put on by the same folks who run Scotch on the Rocks, I'm sure A Wee Dram will be as fun (and relaxed) as it will be informative. And since I spoke at this year's Scotch event, I say that from pleasurable experience. They've also got a nice lineup of sponsors, who I'm sure are helping make the low cost possible, and who should be thanked. Be sure to visit their booths while there.

(I only wish I could attend, but I've already got a commitment that week, volunteering at the PGA Tour Championship that's held yearly in Atlanta.)

It's being held 2 weeks from this coming Thursday, the 25th, in London. I realize that puts it out of reach for many, but hey, that low price gets you lunch, 2 free drinks, 10% off Scotch on the Rocks 09, and the great lineup of speakers. For folks in the greater London area, it's a no-brainer. And if you'd need to fly in to make it, and your training budget can cover that cost, it's a bargain, a good value, and sure to be a good time as well.

BTW, someone may want to ask, "is it being recorded?" The site doesn't say, so I'd assume not. It's in their interest (and that of the sponsors) to get people to come. Someone else may ask if I could get the speakers to present on the ColdFusion Meetup, and I'd surely like to, but none have offered yet, so do consider going to the event instead. :-)

Announcing CF411.com - your place to find the 411 on things related to CF

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Next time you have (or see someone ask) a question about finding some resource or tool related to CF, first check out CF411.com. :-) It's a list of more than 700 tools and resources in over 100 categories. You might find not just one but many alternatives. I hope this will help folks who might otherwise ask or answer questions on mailing lists, forums, and blog comments where such requests frequently appear.

So what's in it?

It's not a FAQ. Rather, some will recognize this as my long-existing list of tools and resources, which this weekend I decided to rechristen it as CF411. The domain name above simple redirects to that part of my site, now also called: CF411.

Far more than just tools, it also has dozens of categories of resources: CF job resources, self-help resources, professional assistance resources, tutorial sites, conferences, hosting alternatives, certification prep resources, other sites listing CF resources, and much more.

And the tools list has several dozen categories, both those written in CFML (like caching, debugging, file uploading, and code generating tools, as well as CMSs, all the frameworks, and all the CFML engines, to name just a few), and just as many tools not written in CFML but useful for us (including database tools, editors, http debugging, log analysis, load testing, monitoring, and source code tools, to name a few), whether free or commercial.

Like my UGTV, I offer CF411 as a contribution to the community, to save people spending a lot of time looking/asking around for stuff. I hope it becomes another one-stop shop for people to find what they need (well, I use the term "shop" loosely. As always, it's all free).

What's in a name?

I hope the new name will just be easier for people to remember/think of the next time they see a question asked that they know is (or think may be) answered on my list, telling folks: "You should check out CF411."

I was torn about bothering with a new domain name. I didn't need to bother with my UGTV site: you can google that phrase and my site comes up first (even with Microsoft having launched their own UGTV), but I just figured it might be easier for people to reference in conversation, and some might naturally look for a domain name.

As always, I welcome contributions if you think of something (a category or a tool/resource) that I've not listed.

I'll begin blogging again soon to highlight more of the many categories.

Resources for getting into cloud computing

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Interested in getting into cloud computing? Check out this blog entry with a compendium of links to other resources on the topic:

http://highscalability.com/useful-cloud-computing-blogs

By cloud computing, most think of Amazon EC2 and S3, but there really are more options, as shown in one resource listed on that entry.

I should note I didn't create that list. Someone else did. I don't generally do an entry just pointing to that of another (we often see way too many dupes in the CF blogosphere that way), but in this case it's a non-CF blog and therefore many readers here may not see it otherwise.

Also, some will know that I do like to do such resource lists myself, whether as blog entries of that sort, or as resources lists offered on my site, so I really appreciate this blogger's efforts here.

Hope that may help someone interested in the topic of cloud computing. (And yes, if someone would ask if this might be a good topic for the Online ColdFusion Meetup, it would be, and we've had a few sessions on the topic. You can find them either by doing a search for "amazon" on the UGTV site (which has more than just Meetup recordings, of course) or by scanning the list of all previous CF meetup recordings.

Mistake in CF Meetup times - talk times were reversed by mistake

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Sorry folks, I made a big mistake in posting the announcements of the CF Meetup sessions this week--and I caught it after I sent my last blog entry today where I announced the mistaken times. The times were reversed by mistake.

Ray is at noon, Dan is at 6.

See the CF meetup site for details.

For more on the mistake, and an apology to those who may now have to miss out, as well as how to access the recording of the meetings, see my discussion of the mistake on the CF meetup discussion board.

Again, sincere apologies everyone.

Seeking more speakers for the ColdFusion Meetup (an online worlwide CFUG)

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Hey folks, if you're a speaker on CF topics (or would like to be), the CF Meetup wants you! I've written on this before in more detail, but suffice it to say that the Online CF Meetup is an an entirely online CF user group. We try to meet weekly (when I can get speakers), and with 1500 members (yet only 30-50 at each meeting), there's no topic that's too niche, too beginner, or too advanced to appeal.

It's a low-key affair. Don't fear that you need to be polished. Whether this would be your first or your fiftieth presentation to a CF audience, you'll be warmly welcomed.

See the link above for more information (answers to common questions), and drop me a note or leave a comment here to express interest.

You don't need to set a date (or you can if that will help you). We meet Thursdays, and you can choose either noon or 6pm Eastern US time. I'm even open to hosting at another hour to reach international speakers and audiences.

If anyone's interested, you can see previous talk topics that have been presented at the meetup (26 so far this year) on the recordings pages for 2008 and 2007.

Discount Code Available for FusionReactor, FusionDebug

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Ah, August, when thoughts turn to vacations...and end of summer sale-a-thons. :-) I want to share that the fine folks at Intergral, makers of FusionReactor and FusionDebug, are offering a 10% discount coupon code, CFCOMMUNITY, good through the end of this September.

I've written about both these tools quite a lot in the past, if you're interested in exploring my respective blog entry categories: FusionReactor and FusionDebug.

I've also written about them in the FusionAuthority Quarterly Update, if you happen to get that great magazine. Most recently I did, "FusionReactor: ColdFusion Server HealthCare (and What's New in Version 3)", in Volume ii Issue iv (Summer 2008), and a couple of years ago I did, "FusionDebug Explained: Interactive Step Debugging for CFML", in Volume i Issue ii (Fall 2006).

I'll also have news coming up about more cool stuff coming from the folks, including FusionAnalytics and FusionReactor Enterprise Monitor, both discussed in the FusionReactor Labs, as well as the recently released AIR Enterprise Dashboard, recently promoted from the labs to an available product.

Until then, go enjoy the discount code to get these great products, which help you with debugging and monitoring whether you run on CF 6, 7, or 8. (For more on why they still matter even with CF 8, see this previous entry.)

More Entries

Copyright ©2025 Charlie Arehart
Carehart Logo
BlogCFC was created by Raymond Camden. This blog is running version 5.005.
(Want to validate the HTML in this page?)

Managed Hosting Services provided by
Managed Dedicated Hosting