Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!

Engine Works

Under the hood of Alteryx: tips, tricks and how-tos.
GarySp
Alteryx Alumni (Retired)

Charlie and I have a disagreement.  Charlie says 'the industry' uses the term 'real-time analytics'.  I say there's no such thing as 'real-time'.  Let the debate begin!

 

 waiting.png

 

Actually, it's not really much of a debate or disagreement.  It's more just friendly banter.  You see, we can both agree on the intent of the terms 'real-time' vs. 'near real-time'.  Processing that happens seemingly instantaneously.

 

The definition of real-time lends credence to MY position though.  

 
COMPUTING - relating to a system in which input data is processed within milliseconds so that it is available virtually immediately as feedback.
HA!  See it right there!  PROCESSED WITHIN MILLISECONDS... VIRTUALLY IMMEDIATELY.  You see, NOTHING is 'immediate'.  You reading this article isn't considered 'immediate', as light travels across a distance from your screen to your eye.  Traveling that distance takes some time - though it is 'virtually immediate'.  Same thing if we had a conversation... sound waves travel across a distance to your ears.  Traveling that distance takes some time - though it is 'virtually immediate'.  I equate this to this scene in the classic movie The Princess Bride.  It seems real-time... but is it really?
 
This is the same argument I make when talking about 'real-time processing'.  The 'low latency' is still 'latency'.  Some time passes.  It may be 50 milliseconds... 500 milliseconds... but it is still time.
 
Hence, I say 'near real-time', whereas Charlie uses the term 'real-time'.  Same definition... just a small nuance in terminology.  
 
Vote in the comments... Team Charlie or Team Gary?  
Gary Spakes
Director | Solutions Architecture

Gary focuses on both the technical aspects and business implications involving the Alteryx architecture. Gary engages strategically with customers world-wide on a variety of technology topics including but not limited to Data Management, Analytical Process Lifecycle, Insight Delivery, and underlying technologies. Gary’s goal is to help organizations leverage technology to turn data into information, information into insight, and make “better” decisions. An 18 year IT veteran prior to going to “the dark side” in Sales and Marketing, Gary has implemented and led operational teams for ERP systems, been a DBA and DBA manager, and developed investment management and mutual fund accounting software during stints with Price Waterhouse, Chase Manhattan Bank (now JP Morgan Chase), Acxiom Corporation, and SAS. Spakes holds a Bachelor of Science from the University of Tampa with majors in Mathematics and Management Information Systems. He resides in North Carolina.

Gary focuses on both the technical aspects and business implications involving the Alteryx architecture. Gary engages strategically with customers world-wide on a variety of technology topics including but not limited to Data Management, Analytical Process Lifecycle, Insight Delivery, and underlying technologies. Gary’s goal is to help organizations leverage technology to turn data into information, information into insight, and make “better” decisions. An 18 year IT veteran prior to going to “the dark side” in Sales and Marketing, Gary has implemented and led operational teams for ERP systems, been a DBA and DBA manager, and developed investment management and mutual fund accounting software during stints with Price Waterhouse, Chase Manhattan Bank (now JP Morgan Chase), Acxiom Corporation, and SAS. Spakes holds a Bachelor of Science from the University of Tampa with majors in Mathematics and Management Information Systems. He resides in North Carolina.

Comments
JohnJPS
15 - Aurora

This is my view:

 

  • real-time = synchronous, e.g. an in-line function or API call that your process waits for.
  • near-real-time = fast but asynchronous, e.g. a queue that is processed almost immediately... while this can be very fast, nonetheless your process writes to the queue and then leaves; a different queue reader process handles the queue.
  • batch = asynchronous and slower... your process just writes data; a different batch process picks up the data on a schedule.

Technically, you're still waiting on a real time process, but then again, the process does occur during the lifetime of the parent process, making it "real time" to that parent process.  Based on that, I have to be on Team Charlie.  :-)

GarySp
Alteryx Alumni (Retired)

Nice John - I can’t say I’m excited with your vote ... but I appreciate your logic.  “Charlie” will be thrilled.

ivoller
12 - Quasar

I'm with Gary.

 

I think the terms are basically defined based on context, and for processing they are generally synonymous because nothing happens immediately. I.e. I can set an arbitrary time threshold that I consider to be Near Real-Time rather than Real-Time but it's sort of a distinction without a difference in that there is always some delay. I think I'd go for Real-Enough-Time

fharper
12 - Quasar

An entertaining topic but like politics it is really subjective/perception vs objective/fact.  Most will stay on their side of the argument and some with flexible minds, or who are open to influence, can be persuade to change position if faced with a good argument or if not good a determined one.

 

Some will say I sit on the fence because I agree with Gary (my Vote)...strictly there is no "real-time".  Talk to some scientists and you will get an argument that time itself isn't real, just a human concept, so how can there be "real-time".  Yet I accept Charlie's usage since we live in a world of humans who, while at times can be very pedantic, practically speaking we are frequently generalist.  We stereotype, categorize, group, round...consider pi which is approximately equal to 3.14...or is it 3.14159 or ...

 

 

Add language, spoken and written, to the discussion.  So many words, often providing more precision in describing or identifying, but also often confusing things as words often have multiple meanings and interpretations, add slang...and it all can get messy.

 

I am 56 years old and all my life I have been fascinated by the advances of science.  One consistent thing about science is it regularly reaches new levels of precision, redefines its terms, understanding, rules and "truths"...It often proves itself a liar when new technology and study reveal previous truth was not so true after all.

 

So my pedantic inner nature votes with Gary, time itself is a concept and there is no "real-time" strictly. 

 

But I work in the "real" world and don't let perfection be the enemy of good enough...I love that saying, and I recognize "real-time" is an expression of relative precision that is very useful in our "real" world these days.

 

It certainly sounds better saying "real-time" vs "near-real-time" instead of "near-real-time" vs "not so near-real-time" 

 

DavidM
Alteryx
Alteryx

Seems like this was me asking at the platform training :-D I laughed out loud when reading this... Good stuff, Gary.

JoeS
Alteryx
Alteryx

I do love this post. 

 

I think it is almost asking how pedantic are you? (not meaning that in any sort of demeaning manner)

 

I normally sit on the pedantic side and say that nothing is real-time (AKA instant), so would vote Gary, but after reading the summary line from @fharper

 

It certainly sounds better saying "real-time" vs "near-real-time" instead of "near-real-time" vs "not so near-real-time"

I think I may switch sides, not let my pedantry get the better of me, thus, vote Team Charlie

benbenjoy
8 - Asteroid

I am totally on Team Gary. I think also it depends on what is the definition about real time connection when people ask for it.