Abstract: InterBase at BorCon 2001
The theme of this year's Borland conference, officially, was "Implementing E-Business." But the theme for InterBase was tight integration with other Borland tools. David Robinson, who has been to many more conferences than I, said that he felt this year was the first time that InterBase was presented as a member of the Borland family and a real product in and of itself, rather than a freebie add-on to other tools.
Rob Schieck gave two tutorials totaling 8 hours on Sunday. I didn't see most of this, but Jeff Overcash (TeamB) and I dropped by toward the end to harass him. Attendance seemed to be pretty good, perhaps around 50 people. The planners of the IB track had wanted to park an M1 tank (which runs IB internally) in the conference center lobby with a "Powered by InterBase" bumper sticker slapped on the front, but were disappointed to learn that it would be too heavy for the floor to support.
The first IB-related presentation of the regular conference was InterBase R&D chief Charlie Caro's "Extending SQL Functionality in InterBase." I showed up at 8 a.m. on Monday morning expecting to be one of about three people in attendance. After all, it was early, the lecture was marked "advanced," the topic was somewhat obscure, and it was up against the "Delphi Product Address" presentation, which is always very popular. I was pleasantly surprised to see 36 people in attendance.
The presentation itself was perhaps slightly misnamed, as, in addition to the titular topic, Charlie gave a somewhat in-depth discussion of how InterBase takes a SQL statement and turns it into compiled BLR, including tips on which source files to look into for further understanding of important sections. After this overview, which took about half of the presentation, a sufficient background had been given to discuss the pluses and minuses of two different approaches to adding new SQL keywords to the IB engine: Extending BLR and using System Defined Functions. Without going too far into the details, SDFs are a proposed feature for future versions of IB which would essentially make it very easy to take a C UDF and compile it directly into the engine. This has some speed advantages, as well as removing the need to separately declare UDFs for each database they're used in. It's also a great way for open source developers to get used to working with IB.
Next up came two workshops which I skipped, as they're outside of my areas of interest: Nick Gorham's (EasySoft) "InterBase Connectivity Overview" and Bill Todd's "InterBase for Desktop Database Users."
I rejoined the InterBase track for the "InterBase Product Address," presented by Jon Arthur (director of InterBase) and Charlie Caro. I'll cover this session in more detail since the future direction of IB was extensively discussed.
The presentation was divided into several sections: What's been happening at the IB division for the past year or so, the plans for open-source IB, the technical roadmap for the next few releases, a discussion of the showcase application from the BorCon opening session (an online e-business system using IB as the database back end) and a Q&A period.
Turning the discussion toward open source, Jon said that the immediate need to ensure a consistent revenue stream to keep the IB division afloat has taken attention away from working out a good system for community contributions to the IB code, but as the division's internal structure improves we will see more announcements on this subject. The plan is to focus on "key ideas" such as SDFs (see above) which would allow many developers to be involved and could more easily be QAed.
Part of the initiative will be to reward open source contributors. IB will be opening a Web site to give publicity to third-party products, consultants, committers, and collaborators. "Key" collaborators could be paid. Borland will ask for electronic signatures and/or waivers from open-source contributor to assure them that you are the author of the code you are submitting and that it's OK with you if the code goes into the certified editions as well as the open edition. Borland must not be opened up to legal action due to accepting open source code.
The InterBase Open Edition will continue to be updated with all bug fixes from the certified edition. New features will be added on a case-by-case basis. Jon re-emphasized that IB does need to make money and that, as Borland has consistently stated, there will be many features in the certified editions which will not be in the Open Edition.
[Also, Borland's new BugCentral project was not discussed at this meeting but is very relevant to open source. See below.]
The technical support for InterBase has also been reorganized. In addition to available 24*7 support, Borland will be offering InterBase certification, training programs, and on-site consulting. Tech support is available in the US, UK, and abroad, and account managers have been working with existing customers to improve service.
Jon listed some major IB customers today, and then turned the floor over to Charlie Caro and Sriram Balasubramanian to cover the future development of IB from a technical point of view.
Charlie started the presentation by outlining seven general areas where improvements are slated for releases of IB in the immediate future, and then discussed a few ideas from the drawing board. IB 6.5 and 7 will see improvements in functionality, performance, scalability, manageability, security, reliability, and planning.
Functional enhancements may include new SQL keywords such as CASE, more "built-in" UDFs, and tighter integration with Borland tools. They are also looking at non-SQL-standard enhancements and industry-standard frameworks such as OLE-DB.
In the performance category, the goal is to improve query response time and transaction throughput. Some algorithms optimized for classic server can be improved for a SuperServer environment. Data loading will be enhanced, and then there's the "never-ending quest to improve the optimizer," which is difficult since it requires intense QA.
Scalability starts with better utilization of machine and disk resources, such as full support of symmetric multiprocessing (SMP). Expect to see inter- and intra-query parallelization and more support for hardware-specific features. The engine needs to support wildly varying loads (as with a Web site) and more nested data structures (common with SQL/3 and XML). IB won't be a "native XML" database but it might have features to emit XML from relational structures.
The IB division recognizes the need for better command and control of the IB server. Although IB is largely self-maintaining, there is a strong need for better reporting on database and user activity (plus the ability to kill queries and connections which have gotten out of hand), and tools to analyze and optimize disk activity and individual queries.
Security includes both database stability (protecting it from corruption) and data secrecy (encryption). Part of database stability is making the metadata read-only or invisible to non-SYSDBA users. Encryption is important both for sending data over the wire and for laptop users who might lose secrets if their physical machine is stolen.
Reliability will be enhanced by some kind of ongoing defect repair process, and the planning aspect seems to mostly involve a closer relationship with IB customers so as to better anticipate their requirements.
Ideas from the drawing board include parallelized index creation, sorts, and queries, better XML data interchange and storage, SQL/3 object-relational model support, multi-DB interoperability, and 64-bit processing. Charlie and Sriram noted that databases in general (unlike many other apps) can really benefit from 64-bit processing, and that a lot of work on 64-bit IB has already been done. About 10 years ago, the Navy was interested in a version of IB for True-64 (Digital) Unix. It will take a lot of additional work to make this run on Itanium, however.
Sriram presented the InterBase side of the Movi-E-Tailer showcase application, a demonstration e-Business system which essentially combines every Borland tool into a single Internet/wireless commerce application. The application (well, it's really a suite of applications) uses IB on both Windows and Unix server platforms, using IB-Replicator to keep the databases in sync and Borland AppServer for load-balancing.
I won't attempt to reproduce the entire Q&A session in this article, but here are a few of the highlights:
A SOAP spec for the system will be published, so if you don't like Borland's client for BugCentral you can make your own!
Eric Whipple presented the first of two sessions on using dbExpress and dataCLX, a cross-platform architecture for accessing multiple DBs, including InterBase. Think of the BDE on steroids.
Jon Arthur and Sriram Balasubramanian collaborated on "InterBase Open Source Community, Development, and Building the Source." The title is a handful, but essentially it was further discussion of the topics from the Product Address, plus a demonstration of how to download the source code from CVS/SourceForge and build it on a Linux machine.
Finally, Aaron Ruddick demonstrated the TCS system in "InterBase 6 Certification and Multi-Platform Test Automation." Besides the fact that it started at 9 p.m., being up against the "Meet the Delphi Team" presentation didn't do wonders for the attendance at this workshop. But TCS is scarcely documented, so any information in this area is valuable.
Tuesday got rolling with Bill Todd's "Building InterBase Applications with ClientDataSet and InterBase Express." Bill began by mentioning why you might want to do this in the first place and then gave an overview as to how to do it.
David Robinson (of http://ibinstall.defined.net) followed with "InterBase Installation and Deployment Options," which I missed but heard good things about. In the afternoon, Bill Todd presented "InterBase Stored Procedures and Triggers" and Rob Schieck followed with "Building a Database-driven, Dynamic Web Site Using JBuilder and InterBase." Ironically, Rob's site was the victim of a power outage the day before the presentation, and he got it back up just in time for the presentation!
The afternoon ended with my first presentation, an updated version of Greg Deatz's talk on User Defined Functions. My thanks go out to Greg for allowing me to adapt and expand his talk. I debuted what is, to my knowledge, the first UDF available to take the derivative of an integer.
Jason Wharton gave a Birds of a Feather session on IBO at 7 a.m.
The morning included a performance-tuning workshop for InterBase Applications in Delphi and BCB presented by Rob Schieck, a vendor showcase by BravoSoft, who make an accounting product which supports InterBase, among other DBs, and a presentation on "Using the IBX Administration Components" by Bill Todd. Meanwhile, Jeroen Pluimers was giving his second presentation on "Administering and Configuring Linux for Kylix."
After lunch, Jeff Overcash gave a "Tips and Tricks" talk about the rest of IBX. Jeff explained how to choose appropriate components for your application, and detailed plans for the new memory model which will add speed and features to the components. For someone who seemed to be nervous going into the presentation, I found it very difficult to get Jeff to end his presentation when it was time for me to begin the next session!
In the "Third-party Tools Overview," I showed screen shots of most of the tools which support IB which are presently being actively maintained, although audience members brought up a few which I haven't tried yet. I also announced that Borland and I are working on producing an InterBase companion disk, featuring all of the free tools and demos of the commercial tools, which will be distributed with the certified editions of IB and also made available for free (except for shipping charges) to users of InterBase Open Edition. The IB companion CD will ship with InterBase 6.5, later this year. Finally, I announced a free tool which I am developing, IB PLANalyzer, which graphically analyzes InterBase's PLAN statements, makes it easy to get accurate index and read statistics, and is generally designed to allow developers to create optimized SQL, quickly.
In the BorCon closing address, the Movi-E-Tailer system was explained in more detail, and Sriram represented InterBase by giving a mini-tutorial on DDL. The address was already running long, so DavidI tried to no avail to get Sriram to get to the "impressive" part -- prompting laughter from the crowd as he said, "just a minute." When he did demonstrate replication between a Unix and a Windows IB server, however, the audience applauded.
Copyright 2001 by Craig Stuntz. Permission is granted to reproduce this article, provided that it is distributed for free and the article is presented in its entirety, including this notice. The original article can be found at http://delphi.weblogs.com/stories/storyReader$82