Blog: Dan E. Linstedt« What does ETL do that EAI Can't? | Main | Redefining the "Data Warehouse" and Combining ODS+EDW » Real-time versus Right-Time, Who's Right?Nothing makes my skin crawl more than to hear "REAL-TIME SYSTEMS" shouted from the pulpits, especially from those in-the-know who should never use this phrase. This is a media phrase used by marketers for marketing to grab market share. It's a FALLACY, a false-hood, a nonsensical term. Not even the fastest systems in the world are REAL-TIME. Warning: This blog is a VENT, read at your own risk of agreement. Also note, parts of these ideas are credited to: Stephen Brobst, as we have had many discussions on this topic. First, I have to apologize to those who need to use the term for marketing purposes, but second I have to say: CHANGE YOUR LITERATURE! The language is just flat-out wrong. There is no such thing as REAL-TIME SYSTEMS. Ok, here's my point. Humans create machines and systems after their own image. My brain works a certain way at a certain speed - we have not been able to replicate the way a full-human functions. For example: If I set my hand down on a hot-stove, I've usually burned my finger by the time I pull my hand away. If my body were real-time, I would've known as I was setting my hand down that the stove was too hot and would burn me, therefore I would've pulled my hand away before it got burned. If my body and my own nervous system can't operate in real-time, how in the world can I ever construct a system that operates in real-time? Anyhow, the correct term is RIGHT-TIME. The data arrives at the RIGHT TIME to make the business decision, and if we're talking about government systems or classified information we're talking about milliseconds or less. If we're talking about general business decisions, we may be talking 3 to 5 minute intervals of refresh, or maybe 1 minute refreshes - depending on the BUSINESS NEED. Right-time is similar to "version of the truth", it's interpreted and it's subjective. Right-time today, may not be right-time tomorrow. On the other hand, if the business can justify the return on investment they'll get by answering the questions within X time-frame, then they may have a case they can justify with money. Think about it in technical terms: To get faster networks, requires faster switches. To get faster switches and networks, requires (usually) more computing power, to get more computing power, usually requires faster disk storage. To buy all this "faster stuff" requires money, lots of it. It also requires a better architecture. For example: what "worked" to move 5 rows in 5 minutes from point A to point B no longer works to move 15 million rows in 5 minutes from point A to point B. What works (architecturally) to move 15 million rows in 5 minutes, no longer works to move 500 Million rows in 15 minutes, and so on. The problem becomes exponentially more difficult to solve, requiring better planning, better design, faster and more expensive processing power. The question is: for what? What is the objective you (business person) are trying to solve? The truth is, when told how much it costs to implement "right-time" they back down, and say, well - we could use a 10 minute refresh instead of a 5 second refresh. That would work just as well. Back to the point, there simply is no such thing as real-time. It's all about right-time, and finding out what's needed - when - and delivering it within that time frame, keeping in mind that right-time is subjective, and means different things to different people, so - what's the right-time today, may not be the right-time tomorrow. Do you have a "right vs real" time situation to discuss? Love to hear your thoughts, feel free to comment. |
Comments
In a distributed environment, latency is inevitable. It can only be about "right time" -- does the information arrive in the appropriate window or not? This is a massive mental shift from mainframe or even traditional client/server thinking where there is only one database for all of a business domain's data and the application sees the snapshot "as of now".
An increasingly distributed world requires us to replicate data -- not indiscriminately, mind you, but in a managed way. We need to understand that all published data is reference data -- and like the mail order catalogs of the past, comes with a "best before" date.
Posted by: Stu Charlton | November 6, 2005 6:05 PM
I disagree with your assertion that there is no such thing as "real-time" -- check out my web site.
But I like your term "right time."
Posted by: E. Douglas Jensen | December 8, 2005 7:09 AM