19
Fri, Apr
5 New Articles

The Linux Letter: The Database Engines That Could

Linux / Open Source
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Hi. My name is Barry, and I'm a DBMS addict. You have to be if you're in the IT field. As an i5 junkie, my DBMS of choice is DB2. I love its stability, its power, and its lack of a requirement for a full-time DBA to keep it running at peak efficiency. Unfortunately, DB2 on any other platform (e.g., Windows, Linux, AIX) isn't as self-maintaining as it is on the i5. Thus, the biggest advantage DB2 offers to the i5 user wanting to implement a DBMS on another platform is the ease of migrating databases between platforms.

On My Radar

Why consider a different platform? Here's one reason: mobile computing. The availability of PDA-sized devices having respectable amounts of horsepower and RAM are opening some great possibilities for mobile applications. I've always been fascinated by these devices, but their limited resources dissuaded me from actually doing anything with them. Now, they're on my radar again. And if PDAs are too small for the job, there are laptop computers, which can effectively replace most desktop computers. Battery life, formerly a sticking point, is now into the multi-hour range, compliments of the superb power management and high-capacity batteries being included with current laptop models.

Most of the mobile applications that I'm contemplating require some kind of DBMS. My options run the gamut from IBM's DB2e (DB2 Everyplace) to one of Microsoft's offerings. My objections to either of these choices include that they may be tied to specific operating systems (the latter more than the former) and that I'd have to deal with the complication of loading the DBMS software onto every mobile platform that I want to deploy, PDA or laptop. And, of course, there's the license aggravations that come with proprietary software—always a turnoff in my mind.

Some Kind of Sick Joke

Given that I do the majority of my development in Java, I wanted a DBMS that I could deploy just like any Java application. Could I find a DBMS written in Java? As it turns out, there are some outstanding choices that are powerful and have the flexibility to run on any machine with a Java Virtual Machine (JVM) and modest memory resources.

"Hold on now, Barry," I hear you say. "Java for a DBMS?" I have always held the view that to be blazingly fast, a program must be compiled. The first release of Java certainly didn't do anything to dispel that notion. My first impression of Java program performance was that it reminded me of the coffee that Lisa Douglas used to make on the old TV show Green Acres. If you don't remember (or are too young to remember), it poured out of the pot like syrup. All I remember about my first Java experience was thinking that it had to be some kind of sick joke; it was that slow! That was then. Not only has the hardware become so much more powerful, but the JVMs produced by IBM and Sun run Java code at near-native speeds. Thus, a DBMS written in Java is not as far-fetched as it might seem. Certainly a Java-based DBMS will be able to handle the load presented to it by a mobile application, but they are capable of much more.

Some Alternatives

Before selecting my DBMS, I made a list of my requirements.

At the top of my list is that the product must be available under an acceptable open-source license. If I wanted licensing hassles, I'd buy a proprietary product.

I already mentioned that I want the DBMS to be Java-based, if at all possible.

I am extremely interested in a prospective selection's conformance to the SQL standard. While Hibernate (an object-to-relational tool) can help mask variations in SQL syntax, I'm most impressed by software that conforms to published standards. It makes switching out back-end systems a more trivial proposition.

Another big requirement is what I call "functional transparency." By that I mean that my typical applications are client/server apps that connect to the i5 DB2 database, so whatever I use should give me the same "feeling." I give extra points to Java DBMSs that are capable of providing the connectivity to which I am accustomed, without requiring me to use some unfamiliar API for access.

Given these requirements, I explored the options and came up with quite a number of possibilities. The three I settled on meet the requirements that I set forth. I'll discuss each in turn.

IBM Cloudscape

This one tops the list simply because of the name recognition. In actuality, IBM open-sourced its Cloudscape database and released it to the stewardship of the Apache organization, where it now has the "Apache Derby" moniker. From the project Web site, I obtained the following feature list:

  • Derby has a small footprint, about 2 MB for the base engine and embedded JDBC driver.
  • Derby is based on the Java, JDBC, and SQL standards.
  • Derby provides an embedded JDBC driver that lets you embed Derby in any Java-based solution.
  • Derby also supports the more familiar client/server mode with the Derby Network Client JDBC driver and Derby Network Server.
  • Derby is easy to install, deploy, and use.

 This sounded exactly like what I was looking for, so I started downloading the "bin" distribution, which contains the jar files, the javadoc, and the documentation. If you wish, you can download just the jar files or the source files from which the jars are built.

HSQLDB

While Derby was on its way down, I navigated over to the HSQLDB project Web site. On the front page I found the following blurb:

HSQLDB 1.8.0 final is out. A year of solid development since 1.7.2 brings a more powerful engine that supports data up to 8GB, has better SQL capabilities and runs with greater resilience. HSQLDB 1.8.0 is also the database engine in OpenOffice.org 2.0, soon to appear on millions of desktops around the world.

For those not familiar with OpenOffice.org, it's a serious competitor to Microsoft's Office Productivity suite. Until Version 2.0, it lacked an embedded database engine, such as Microsoft Access, which hampered its acceptance in the business community. OpenOffice.org now has that missing functionality, and it uses HSQLDB to provide it.

After reading the content of the Web site, I decided that if HSQLDB is good enough for the fine folks involved with the OpenOffice.org project, then it's good enough for me. I started it downloading and then went to my next candidate's Web site.

MckoiDB

The Mckoi database engine is another that appears to match my requirements. Here's some info from the FAQ:

Mckoi SQL Database is an SQL (Structured Query Language) Database management system written for the Java 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.

Mckoi SQL Database started as an internal project and has since evolved from its inception in 1998. The main goals of the project are a code base that is simple to maintain and extend, ease of use and administration, robustness, multiple concurrent access, and performance.

 

Sounds like a winner to me. I decided to suck up the remainder of my bandwidth and start downloading Mckoi, too.

Nothing Remarkable

After testing the three products mentioned, I've come to the conclusion that Java is good...darned good. Since this article is oriented to the technical manager instead of the programmer, I'll summarize my experience instead of boring you with extensive details on my experimentation.

In short, none of the products required any major wailing or gnashing of teeth to get them going. Any competent Java programmer can bring any of these three products online with little effort. There's just nothing remarkable about using these products that requires any special mention. Connecting to the databases via JDBC is no more traumatic or difficult than connecting to our beloved i5. There's really nothing more to do than change the URL provided in the call to the getConnection() method. I can't be any clearer than that. Java just makes the deployment of these three projects if not identical, then extremely similar.

The Java Advantage

There's no doubt about it. Our lives have become increasing more complicated by the advent of the PC and mobile computing. When everything resided on the minicomputer, an update was a fairly straightforward process. Now that we have to distribute our software to platforms that may or may not remain connected to our network, a simple program roll-out or update can become a major project in and of itself.

Software products that require a number of different pieces to implement on a single PC, such as what you'd get if you install a proprietary DBMS and then your application's "pieces and parts," are always going to be more difficult and expensive to maintain in the long run than will products that are self-contained. With Java Web Start, you can load the DBMS and your application with a couple of clicks of the mouse and then keep them updated the same way. Consider that you can now easily assemble a browser-based application that uses Tomcat, one of the DBMSs I mentioned, and a JVM—all in the same bundle. You can run Tomcat and the DBMS as server processes, or you can embed them in your application for the easiest-of-all-to-deploy application. The possibilities are endless! If you really wanted to, you could even run them directly on your i5! Who said that the only DBMS for i5 is DB2?

That's all for this month. I hope that you keep these products in the back of your mind. I'm not deluded enough to think that they'll ever completely supplant DB2, but I am sure that they have a place and that you'll eventually find a project in your own shop where they'd be useful. While you're contemplating the possibilities, I'm going to start looking over the PDA brochures. I just wish picking the hardware could be as easy as picking the software was....

Barry L. Kline is a consultant and has been developing software on various DEC and IBM midrange platforms for over 23 years. Barry discovered Linux back in the days when it was necessary to download diskette images and source code from the Internet. Since then, he has installed Linux on hundreds of machines, where it functions as servers and workstations in iSeries and Windows networks. He co-authored the book Understanding Linux Web Hosting with Don Denoncourt. Barry can be reached at This email address is being protected from spambots. You need JavaScript enabled to view it..

Barry Kline 0

Barry L. Kline is a consultant and has been developing software on various DEC and IBM midrange platforms since the early 1980s. Barry discovered Linux back in the days when it was necessary to download diskette images and source code from the Internet. Since then, he has installed Linux on hundreds of machines, where it functions as servers and workstations in iSeries and Windows networks. He co-authored the book Understanding Web Hosting on Linux with Don Denoncourt. Barry can be reached at This email address is being protected from spambots. You need JavaScript enabled to view it.

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$0.00 Raised:
$

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: