Thursday, March 5, 2009

Smashing baby!

In the last post I promised to dive a little deeper into the math-based XSPRADA technology without putting readers to sleep.  That’s a tall order, as most people flee at the mere mention of mathematics (and end-users typically don’t care about internal implementation details) but this story is entertaining as well.  And I need to set the stage explaining what make XSPRADA technology so valuable to the industry, and different from the rest, so here goes.

In classical set theory, everything is defined in terms of sets (groups).  Sets contain “members”, and several things can be done with them.  One is deciding if they are indeed members or not.  Another is defining “relationships” between members.  And another is defining operations on sets.  So for example, one might ask a membership question such as “is this handbag in our system”?    A relationship might be defined between a product and a manufacturer as in “give me all handbags manufactured by Gucci”.  An operation might define “intersection” between sets.   For example, intersecting product with geography might yield “all the Gucci handbags sold on the West coast”.

The most popular databases since the late 1960s are based on classical set theory (whence the name “relational”) as described in the famous 1970 E. F. Codd paper.  This technology remains unchanged since then.  But around the same time, David Childs and Franklin Westervelt, two researchers at the University of Michigan looked at how classical set theory was used to model databases and concluded there had to be a better, faster, more intelligent way to manage information.

Why?  Because they premised that classical set theory was handicapped when applied to computer systems.  Indeed, it did not provide a mechanism to uniquely identify set members.  Although seemingly innocuous, this is a major hindrance.  That’s right, although classical set theory clearly defines “ordered” pairs (couplets) there is no formal way to distinguish between { a, b } and {b, a} or between member ‘a’ and ‘b’ for that matter.  So the term “ordered”, in the classical sense, is relative, and unintuitive.  All the mathematics can say about a set is that it has X elements.  Period.  How you want to represent that on paper or inside a computer system is an “exercise left for the reader”, and a painful one at that.  Why?  Because if the math cannot distinguish set members uniquely and much less order them, programmers have to implement the functionality via software. And that gets complicated, expensive and slow.

The mathematics itself is not flawed.  Ordered pairs (couplets) always existed.  At issue is whether this pair is well-defined or not.  It certainly isn’t conveniently defined.  Classical set theory doesn’t allow us to deal one-to-one with technical reality, namely computing systems, where uniqueness (identity) and order rule.  Yet CPUs, Memory banks, disk drives, and all computers could not exist without them.  For example, you couldn’t have memory addressing in RAM without the ability to define and identify unique addresses.  And multiple values can’t simultaneously reside in the same memory or disk location.   Identity and order are as fundamental to computers and software as it is to the human mind.

 And so the question became, is it possible to “extend” the math framework to create inherent set member “distinguishability” so mathematics can fully model the real world, making databases faster, simpler and more efficient?  Fifty years later, the answer is yes, as XSPRADA technology proves.  In my next post, I’ll explain how and outline the practical benefits.

No comments:

Post a Comment