There are many popular, low-cost ways to toss text onto the Web, from blogs and Google Docs to social networking sites. Likewise, you can find a lot of sites where you can post photos and videos. But until recently, less attention has been paid to online databases -- and that's a pity, because lots of people besides database geeks would benefit from a bit more structure to their data.
Now, though, there are several options on the Web for people who want to put their information into a database structure without having to deal with database installation, hosting and front-end coding with a language like PHP, Perl or Ruby.
Admittedly, a Web database service will never be able to offer all the flexibility of custom-coding your own application. However, these services can be very useful for creating small personal and business apps like contact lists, project tracking or charitable donations tagged by type. And the ability to share and collaborate on structured data via a Web interface adds another useful facet to these databases.
In other words, if you've got structured data -- or information that would be more useful if structured -- it's worth giving an online database service a whirl.
In order to get an idea of what kind of database services are currently available and how effective they are, I decided to put a group of Web-based database services through their paces. In choosing which services to test, I focused on four offerings that are free or low-cost, reasonably robust, and offer administrative control over who can view and edit your data: Caspio Bridge, CogHead, Dabble DB and Zoho Creator.
I left out longtime player Intuit QuickBase due to its minimum US$249/month price tag, and Lazybase due to its lack of even basic access control (there's no log-in; only a "secret URL" to edit your data).
How we tested
A good online database must do more than simply host your data on its site. It should also have an easy interface for designing a data structure; make it simple to upload, download and edit existing data; offer robust ways of viewing and interacting with the information; and provide granular administrative control over who can view and alter information.
To test each online database offering, then, I created a simple table; designed more complex, inter-related tables; uploaded existing data; and embedded results in an existing Web site.
For the multi-table effort, I included many-to-many relationships, where, say, a category includes many products, while a product belongs to many categories. For example, the iPhone can be listed under both "mobile devices" and "personal technology," and there are many more entries in "mobile devices" than just the iPhone (despite what some iPhonatics may think). Such many-to-many relationships are precisely where structuring data can prove most useful, but they're also often the most difficult to implement.
I also imported existing data from the Reviews database. I started with a table of all our product categories -- browsers, desktop apps, desktop systems, laptops and so on. Next, I imported a table of products reviewed: Asus EeePC, BlackBerry Curve, iPhone, etc. The product table already included categories for each product.
A key issue: how to make the database "know" that the products in one table map to the product names in another table -- especially when the field contains more than one entry. This was a challenging feature for several of these services.
It turned out that the database services have different strengths, and thus are best suited to different needs. Read on to find out just how easy these affordable database services actually are, what (if anything) you sacrifice in return for a flashy user interface, and whether one of these services will fit your data needs.