Back to Emma's Home

Archive for the ‘Database’ Category

A rose by any other name….
November 18th, 2008 by Emma McGrattan

We announced today that Ingres 9.2 is now Generally Available and as you can see from the press release, we’ve put this release through its paces to ensure that its truly enterprise ready. The release includes a myriad of features that were requested by my Icebreaker Appliance team which we’re excited about, but my own personal favorite “feature” is that we’ve finally corrected the version numbering. Gone is 2006 (30 lashes with a wet noodle for the marketing team that decided that was a good idea) and in its place a return to a more traditional naming that will match the internal version number. Now, my excitement about the naming may be a little overstated, but you should understand that we’ve been making use of the 9.2 features in the appliances since the moment coding ended earlier this year, so as you’re getting excited about 9.2 we’re already salivating over the 9.3 feature set because the innovation at Ingres never stops.

Internally the database has always honored the original numbering scheme.  My first hands-on experience with Ingres was with version 5 back in the late 80s.  Externally ASK reset the version number to 1 right after its acquisition of the technology.  In a complete departure from the previous naming/numbering, Ingres Corp launched Ingres 2006 in February 2006.  Inserting a year in a product name immediately dates it, but given that the open source model enables us to release often we didn’t think that would pose a problem to us and we could release Ingres 2007, Ingres 2008 etc.  What we hadn’t considered is that changing the product name would result in partners having to recertify their applications and customers having to go through a more rigorous process to put the product into production than if we rolled a minor version number.  So to keep things simple the product name is “Ingres Database” and the version number is 9.2   For clarity, Ingres 2006 had an internal version number of 9.0 and Ingres 2006 release 2 had an internal version number of 9.1.  The next minor release, due to go beta early next year, will be 9.3 and the next major release will be 10.

So, what’s new in 9.2?  Let me start with the features my team requested

  • Scrollable Cursors - Scrollable cursors are database query result sets that are maintained in the database server as long as the cursor is open and that allow the user to retrieve rows of a result set in any sequence.   Scrollable cursors greatly ease the display of information, for example, in scrolling web applications and enable the application to move backward and forward through the query results faster.
  • LOB (Large Object) Locators - Ingres 9.2 adds support for LOB locators in compliance with the ANSI SQL 2003 standard. LOB locators, which may be used with BLOBs and CLOBs, are pointers to the LOB data and greatly reduce the network traffic passed between the client and server. They permit the client to access LOB data outside the scope of row data retrieval, so that the client application can control the processing and storage requirement of the LOB data.
  • Improved Out of the Box Defaults - Ingres 9.2 has new defaults for a series of configuration parameters including the default page size and the default buffer cache size.  We’ve also increased the default size for a transaction log file from 32MB to 256MB.   These changes increase the chances of a non-educated new user being successful with Ingres 9.2 out of the box.  We’ve also added the ability to change the default table structure from a heap to a btree (see below) which again is intended to improve the chances of a novice Ingres user being successful out of the box.
  • Automatic Storage Structure for New Tables - The storage structure of a base table, when created, is automatically determined based on the syntax used for the CREATE TABLE statement. If the CREATE TABLE statement includes at least a primary key, unique constraint, or referential (foreign key) constraint, the base table structure is set to B-tree and the usual secondary index is not built.   If the table definition includes more than one constraint, it chooses the primary key constraint over a unique constraint, and the first unique constraint over any referential constraint. Previously, all new tables were created with a heap structure, by default.   This feature is enabled or disabled in a given DBMS Server by setting the configuration parameter table_auto_structure to ON or OFF.
  • New SQL Functions – To simplify the migration of applications built for other database technologies we’ve added a whole host of new SQL functions including the following: round, ceiling,  floor, truncate, atan2, acos, asin, tan, pi, sign, chr, ltrim, rtrim, lpad, rpad and replace as well as adding the ability to invoke the upper and lower functions on Unicode datatypes which was a requirement for certifying Jaspersoft with Ingres.
  • Cached Dynamic Cursor Query Plans – When doing performance benchmarking with Jaspersoft we identified a need to cache and reuse query plans for cursors defined with dynamic SELECT statements so that when a subsequent PREPARE is executed on the identical syntax, the query plan in cache is used and the query is not re-optimized.  I suspect that this will have much broader applicability, and in fact I know that Durwin Wright from our OpenROAD team was excited by this addition.

I’m doing the engineering team a disservice in calling out particular features so I’d like to invite you to view the Ingres 9.2 Release Summary at http://esd.ingres.com/product/docs/Ingres_9.2/docs/Individual_Guides/Ing_RelSum.pdf/http


 

Redirect
November 11th, 2008 by Emma McGrattan

Today I’m in Boston at the 451 Group Conference.  I’ll be speaking on a database panel with Bob Zurek of EnterpriseDB tomorrow.  The panel will be moderated by Matt Aslett, who is one of my favorite open source bloggers.   In lieu of a blog this week Matt has assembled a list of open source related 451 Group research papers at http://blogs.the451group.com/opensource/2008/11/10/recent-451-open-source-research/ which is definitely worth a read.

My lazy approach to today’s blog brings me back to the days when I read “Technovision”  a book that had been “authored” by Charles Wang who was CEO of CA at the time.  The book itself was uninspiring, but the one redeeming feature was that it was littered with clever quotes from successful business leaders.   I was delighted to see that our CEO was so well read and that he sought inspiration from industry titans.  I laughed out loud when I got to the book’s bibliography and found that it included a whole series of quote books for executives.

Related Links:

http://clientconference.the451group.com/na/2008/
http://blogs.the451group.com/opensource/author/maslett/


 

Open Source Opportunities for Students
October 28th, 2008 by Emma McGrattan

My first real summer job was at a bank in Dublin where I was hired as a filing clerk. When I started at the bank the filing cabinets were a mess and everything was out of sequence. I quickly realized that the most expedient way to get my filing done was to first reorganize the cabinets. Once that was done I found that if I sorted the documents before filing them, I could get a week’s worth of filing done in about a half a day freeing up a huge chunk of my time for computer work. I often use filing analogies to explain database concepts, from the need to reorganize the cabinets to improve efficiency, to handling what happens when a shelf fills etc. My favorite summer job was at the Lab for Artificial Intelligence at MIT, although amusingly that’s less relevant to what I do today than my job as a filing clerk.

My youngest brother, Robert, is a recent college graduate, and like many students today Robert spent his summers traveling the globe rather than gaining work experience in his chosen field. I’ve noticed that many of the resumes for recent college graduates that pass my desk are devoid of relevant industry experience. While I fully support world travel, as an employer I’d like to see graduates with at least some relevant experience. Involvement with open source projects is the perfect opportunity for students to gain industry experience and at the same time figure out which aspects of computer software are most interesting to them. There’s a massive array of open source projects to choose from and they run the gamut from Linux device drivers to database engines. At Ingres we’re working with a number of universities on a wide variety of projects, some of which are at the core of the database engine, others of which are in the application development area.

On Thursday I’ll be speaking at an Open Source Bootcamp event at UC Berkeley OS Bootcamp was founded to teach students basic open source software skills and prepare them for future employment. I’m very excited to be speaking at Cal, the birthplace of Ingres, and I’m particularly looking forward to the open source database panel which includes Bill Maimone (Ingres), Josh Berkus (PostgreSQL), Julian Hyde (Mondrian) Mark Atwood (MySQL) and John Sichi (LucidDB). There’s still time to register, if you’re interested in attending, and I’d like to invite you to visit the website for the event at http://osbootcamp.org/index.php?page=oak1

Tomorrow I’ll be speaking at Eclipse World in Reston, Virginia. There’s still time to register for that event too, if you’re interested.

I wasn’t sure if the term “Boot Camp” would be understood outside of the Americas so I looked it up at dictionary.com  One definition I found is “A correctional facility that uses the training techniques applied to military recruits to teach usually youthful offenders socially acceptable patterns of behavior.” Perhaps there’s still time for the bootcamp organizers to add a session on open source etiquette ;)

Related links:

http://julianhyde.blogspot.com/2008/10/academia-meets-open-source.html

http://osbootcamp.org/

http://code.google.com/soc/2008/

http://www.eclipseworld.net/


 

Culture Clash
October 9th, 2008 by Emma McGrattan

In January, when Sun announced their intent to acquire MySQL, I predicted that there would be a significant clash of cultures which would result in the loss of some of the folks responsible for the MySQL phenomenon. MySQL is much more than a “SQL interface to a file system” as Suzanne McVeigh famously described it - it’s a cultural phenomenon for this decade. Losing the personalities that created “MySQL” could have the knock-on effect of losing the support of the community that has grown up around MySQL.

Yesterday I heard that David Axmark, a co-founder of MySQL, has resigned from Sun to pursue other opportunities, with MySQL, outside of Sun. Following so close on the heels of Monty’s departure, and before the one year anniversary of the Sun acquisition, one can only assume that life inside Sun was unbearable for these folks.

In the typical acquisition scenario the key players are incentivized, through significant bonus programs, to stick around for a year and to ensure as smooth a transition as possible. Their primary role during the transition period is to smooth the ruffled feathers of employees, partners, customers and users, help them adapt to the culture of the new organization and convince them that the acquisition was the best thing that could have happened for the product or company.

Sun is a large corporation with all the rules and procedures that are required to effectively run and manage an organization of that size. MySQL was something quite different, and something quite unique. I suspect that the culture clash between Sun and MySQL was of gargantuan proportions, and second only to the clash of cultures between Ingres and CA. I know first hand, from my time at CA, of the frustration of watching opportunities being squandered and process and egos getting in the way of innovation. Small companies, like Ingres is today, and like MySQL was a year ago, are the perfect vehicles for rapid innovation.

So what’s next for MySQL? I don’t believe for one second that Sun will allow its MySQL investment to wither on the vine, but I do believe that the open source model will allow for different incarnations of the product to blossom and compete with Sun’s MySQL. We will also see an emergence of companies established specifically to compete with Sun in providing support and services around MySQL.

I have nothing but goodwill for the MySQL folks - they, together with Postgres, provided the proof points we needed when deciding to put Ingres into open source. I hope to see fewer cloudy days for the MySQL guys at Sun in the future.

Related Links:

http://blogs.mysql.com/kaj/2008/10/07/thank-you-david-axmark/


 

The First Wives Club
July 31st, 2008 by Emma McGrattan

No doubt you saw the press coverage last week of Microsoft’s acquisition of DATAllegro. I’ve received dozens of emails asking what I think of the acquisition, particularly since the DATAllegro executives have been stating in the press and in their blogs how SQL Server is better than Ingres.

What do I think? I feel like Ingres is the wife who stood behind her husband as he built his successful career, who got publicly dumped for a trophy wife. Move over Ivana Trump and make some room for Ingres in the First Wives Club! (more…)


 

Alternate Endings?
July 29th, 2008 by Emma McGrattan

I’ve received mixed reactions to my “Happily Ever After?” blog. Those who have followed the MySQL story found it amusing; those who didn’t assumed that I’d had one Heineken too many before posting it.

The fairytale was inspired by Brian Aker’s announcement at OSCON last week that he was forking the code and creating a stripped-down version of MySQL called Drizzle, which is a Web 2.0 database architected specifically for cloud deployment. Drizzle will take MySQL back to what it was intended to be—a database designed to support Web 2.0 applications. Drizzle removes many features that were added to compete with the more traditional RDBMS such as views, procedures and triggers. As I see it, Brian’s attempting to give the MySQL story an alternate ending and I wish him luck with it. (more…)


 

Happily Ever After?
July 24th, 2008 by Emma McGrattan

Once upon a time a small village of developers decided to create a database. This database would be different from anything the world had seen before. It would be built for web developers and wouldn’t be encumbered with all of the baggage that other fully fledged relational databases carry.

The village elders mapped out the architecture for the revolutionary new database. They encouraged everyone in the village, from the smallest child to the most experienced hunter, to contribute to the best of their abilities for the greater good. Word of the project leaked across the land and soon people from other villages joined in the project. The initial releases of the databases were a little shaky, but the villagers worked together to plug the holes. (more…)