Databases

Since I first discovered databases over 20 years ago a lot has happened in the field.

Starting with dBase but almost immediately abandoing it for FoxBase and FoxPro for speed and more features I found databases to be fascinating albeit crude. The database portion of my career was a real journey with many sideshows and detours and grand destinations:

  • I read E F Codd Rules of relationality and marvelled at the thought processes and genius. I continue to shake my head in disgust that database vendors still do not align their database features in an orthoganl way to these wise concepts. 
  • Discussed raddical database ideas with David Melton, Keith Newman, Roger Gilbertson.
  • applied and adapted optimization approaches based on Theories of Constraints by Goldthratt, ala http://www.amazon.com/exec/obidos/ISBN=0884271781/learnasp that work on every platform. They revolve around identifying bottlenecks and eliminate them rather than optimizing all the tables and Sprocs, understanding the math of delays, and applying it ala TOC, not under or over optimizing
  • Designing databases that would make Codd proud with variations on the kind of techniques that are used in ZIP files to eliminate duplicate data in row/field clusters
  • Inventing/Discovering new variations on key pair database schemes
  • Inventing new kinds of data locking schemes that include field level concurrency lock
  • in the last 2 decades mastering code caching of data without stale data due to very good queries (because table design includes fields to help in cache management) to detect a cache is stale based on scalar fetches from data tables
  • Separating data groups into separate tables and unioning them when needed in edge cases.
  • In .net I also use hashtables (in Classic ASP scripting dictionaries) and Datatables (not datasets) and huge string templates for very specialized caches that reduce data access repetition.

And some databases I encountered were interesting beasts:

  • Paradox for DOS wowed me with its elegant relational query surfaces and the elegance of the DOS PAL programming language.
  • the super easy  Q&A and Reflex
  • amazing works like Advanced Revelation with multi-value fields and variable value fields
  • Masterpieces like Interbase....

All opened my eyes to what databases could and should do (and many modern databases do not till this day). Heck even Javelin gave me ideas what databases could be. And interesting creatures like Lotus Notes and Agenda were changing the ideas for what databases were but their impact has still not fully changed the world yet altough it may in the form of Groove.net shape the next decade -- the verdict is still out.

The windows era brought us

  • the atrocious Paradox for Windows
  • early versions of SQL Server and eary MS-Access versions
  • Now we have SQLserver 2005 which are closer to my dream database engine but a the User Interface and Report and Query tools Microsoft offers that are pathetic, muddled, overwraught, separated unecesarily and far from the simple elegant tools I have specced in my mind but do not exist .... YET...