Contact me at david@geercom.com, or at 440-964-9832 (Fax:440-964-2172).
What's Up With George Reese
George Reese talks about databases
By David Geer
George Reese once passed me a tip about an expert that he thought might be good for an
article I was working on. George's name and expertise stuck in my head from that moment.
Currently the Technology Strategy Director for J. Walter Thompson, George has authored several books from O'Reilly including
"Database Programming with JDBC and Java" and "Java Database Best Practices"
(forthcoming). Here's a little conversation George and I had for Computer Bits, about databases -
and you.
David Geer: Give me a rundown of some recent developments in databases that might be of
interest to the home user/average consumer?
George Reese: Well, one of the interesting things about databases is that when relational
databases first came out, they were designed to actually be a programming tool for the lay
business person to use. The SQL programming language, which is used to talk to databases, is a
very English like programming language just for that purpose.
However, that was 30 years ago. These days, databases are considered largely inaccessible
to the average consumer and the average computer user. For some reason, it just hasn't gotten
any easier to deal with them. From most consumers' perspectives, their experience with
databases depends on whether they have had anything to do with Microsoft Access.
I think where it's going to start becoming interesting to consumers, is, if you look at Apple's
Digital Hub strategy, Apple's resurgence is built on the idea of being able to hook up your video
camera, your digital camera, your TV, your iPod and everything to your laptop or your desktop
and that then becomes your digital hub. You store all your MP3s, your videos, your pictures, and
all that on the computer.
It's not just Apple. Microsoft is also trying to catch on to this wave. XP has some
rudimentary stuff in there to support it. But getting to tying that in to databases, as people
actually get into say storing their pictures on their PC instead of in a photo album, they are going
to want to be able to do a lot more complex searches. Instead of megabytes of pictures, they are
going to start having gigabytes. Probably within the next five years even terabytes of video and
picture assets on their computer.
There is going to be a need to move from a basic file system based way of accessing that
data to a relational data store type way of accessing it. You do see the beginnings of the move
towards that in the design for future versions of Windows.
[In the] Birch version for Windows [Windows CE], (I don't have any secret insights to
Microsoft but from everything I've heard) the file system is going to be built on top of SQL
server. Microsoft is introducing a version of SQL Server designed for Palmtop devices to be
deployed in Birch. By embedding a powerful SQL database into their Palmtop OS, Microsoft is
enabling developers to house more complex data on handheld devices. Where things get
interesting is when you add Palm versions of business applications and
allow users to replicate small subsets of that data to their handheld devices to work with in
the field.
Your everyday interaction with the file system is actually going to be an interaction with a
powerful relational database.
DG: You're just going to have too many files to call up without the kind of order and
symmetry that databases can bring to it?
GR: Right, and the nature of what's in those files is much more complex so you are going to
want to be able to do different things than simply list all the files in the directory and structure
them according to directories.
DG: How soon might consumers start to see these benefits in full swing?
GR: I would bet that in individual products like the digital hub stuff from Apple you are
going to start to see that relatively soon. Apple's stuff right now still uses a combination of file
system and XML descriptors to organize all the photos and videos. Nevertheless, they are
already finding that that's unworkable. Therefore, they are going to have to move to a database
very soon.
I think you are going to see probably something like MySQL database - I mean this is me
purely speculating based on an obvious need; I have no inside information as to what Apple is
doing, but they are going to need to move to storing that information in a relational database.
Every Apple server right now comes with MySQL. It would be very simple for them to just ship
MySQL with the desktop system and then begin having their applications like iPhoto and iTunes
just use that.
I think something like that, if not exactly what I described, is going to happen in the next 12
months. Then looking out into the future you will start to see this ubiquitous database at the core
of your computer. The Microsoft version I think you are going to see with the next major release
or the release after that (of their next server-oriented product). Then that's going to trickle down
to the consumer. You probably will be looking in the three to five year time frame before a
consumer has SQL server serving up their files for them.
DG: How might a home user or general consumer prepare to take advantage of the coming
changes?
GR: If the companies do their job right, most of the pains of using a database are going to be
hidden from them. However, where people are going to see the value in having a database
underlying all these tools is going to be in the ability to do searches.
The rule about any sort of thing like a video or anything else is that you can have the tools in
there, you can have the database there, but to be able to use it you have to structure your meta
data. There isn't anything Microsoft or Apple can do for you in terms of technology that is going
to help you if you can't organize your meta data. Your meta data is the information about the
thing that you are storing.
So, for example if a video asset, it might be "running time", "director", "camera operator",
"where it was shot", that sort of stuff. Things about it that you might want to search on. So, for
the average consumer the better way to be able to take advantage of the power of the database
underneath is to better understand the types of stuff they want to store and making sure they are
disciplined about capturing the meta information about that data.
DG: What about the home user who still wants to do some database development?
GR: The great thing is that until six years ago they were out of luck. It was either Access or
you spent yourself lots and lots of money to go buy Oracle or something or you became really
technically savvy and installed one of the earlier versions of MySQL or PostgreSQL or mSQL.
(PostgreSQL is an Open Source database engine that follows something called the
"object-relational model". In other words, it is a mix between relational databases and object
databases. It is fully featured but simpler to manage than Oracle or Sybase.)
Over the course of the last five years learning the basic database stuff without becoming a
total programmer has become a lot easier because of the advent of Open Source databases. Not
only that but the maturity of those databases to the level of the Oracles, the Sybase's and so on,
so that you've got the tools around it so that you don't have to become a Unix command line guru
to get it installed. You don't have to become a SQL expert to create queries and so on.
If I were somebody looking to move beyond Access, I'd certainly first look at something like
MySQL and PostgreSQL and it runs on Windows, it runs on Mac, it runs on Unix. It comes with
a bunch of GUI tools to help you get started. But also another option is because of the advent of
Open Source databases a lot of the expensive databases have managed to create these play
around releases so that people who own companies can download them, install them, and learn
about databases using Oracle or using Sybase or using DB2.
The downside is that there is a reason these databases cost so much. They are very complex
things. So, they are not necessarily the best ways to get learning.
DG: What are the latest and greatest developments in databases for the small business user?
GR: I think I'd again refer to the maturation of Open Source databases. It makes it
inexpensive now for a small business to actually put together custom applications that may have
cost hundreds of thousands of dollars in the past, not to mention Oracle licensing costs. Now
they can do themselves if they have the technical capability or even hire low cost consultants to
build them a database driven Website.
These Open Source databases have been very much an equalizer for small businesses. In the
past, they really couldn't afford to do stuff other than on Access. Now they can do stuff on
databases that are just as powerful as their big company competition.
DG: Applications?
GR: The first most obvious one is to enable your customers to actually place orders on the
Web. There is still a little bit of a complexity regarding taking credit cards. But other than that,
with something like Apache and MySQL you can in fairly short order get a functional order
entry system for a Mom and Pop shop up very quickly and it's very functional. There is a
complexity as to how you take credit card numbers but there are ways to deal with it at the small
business level.
The other kind, if you're not the type of company that needs to take orders on the Web so to
speak but you need to create some level of brand awareness, get people aware of your company
and look sophisticated in doing it, building a Website on top of a database using dynamically
created content is a much more powerful thing than say simply putting a homepage out there that
says hi we're ACME whatever and this is what we do.
Another use for a small business would be to create web services. Many industries are
building mechanisms for exchanging data, general mechanisms called Web services. It's a
standard interchange of data between two businesses. In the past small companies just haven't
had the ability to build any of these interfaces that would allow them to get the common data
feeds that would be standard in their industry.
For example, you know the example everybody throws out is a stock ticker. In the past, they
used something called an EDI, which was generally very expensive to develop. Therefore, the
cost of getting the data that was standard in your industry in the first place was very high because
of the cost of building an EDI system. And, of course, if you did do that you had the problem of
where do you store it? A combination of Web services and a cheaper relational database make
that a lot simpler for small businesses.
So now, they can have access to the data using the standard Web services format for
whatever industry they are in, and then store it in their cheap database.
DG: What else should we talk about on this subject?
GR: The real interesting thing here is that databases are everywhere running everybody's
lives. It's getting increasingly common. As I alluded to before, it's creeping onto your desktop
now so that you are not going to be able to do anything without touching a database. Your TV
set is going to run off a database within the next couple of years.
I don't know exactly what's under the covers of TiVo and replay TV, but they probably use a
relational database and if they don't now they probably will in the near future.
© ComputerBits and BitWise.