Jeroen Vermeulen | 21 Jun 2011 13:21
Favicon
Gravatar

Profiling project: terminology

Hello all,

As I said when I introduced my Storm profiling project, I have a few 
questions that I hope you can help me answer.

The first of these is one of naming.  As they say, only two things are 
really hard in software: cache invalidation and naming things.  Since 
I'm messing with both, I'd at least like to get the naming right.  :-)

Is there some agreed term for the process of reading an object from the 
database into the cache, when it wasn't in the cache before?  I know of 
several terms already, but they all had drawbacks so I provisionally 
added one of my own.  The terms I know of are:

"Cache."  But that can mean either the action or bringing an object into 
the cache, or the status of keeping something in cache.  I need 
something that very clearly has only the former meaning.

"Deserialize."  It's a bit close to the mechanics of one part of the 
work, where I'd prefer something slightly more abstract that also covers 
the process of transferring the data from the database.

"Load."  This term has lots of uses already, so it could be a bit vague. 
  Moreover, I'm worried that if I say an object gets "loaded," a reader 
might think that at that point the object might actually already be in 
cache.  And I could easily be wrong.

"Load into memory" or "Load into cache."  Good, but wordy!

For now I went with "fetch," which is an established term for a similar 
(Continue reading)

Ian Booth | 22 Jun 2011 02:44
Favicon

Re: Profiling project: terminology

> 
> For now I went with "fetch," which is an established term for a similar
> action in processor architecture.  It also combines naturally into
> "prefetching," which is a special kind of fetching.
> 
> Does anybody have any suggestions, opinions, solutions?  It may seem
> strange that I attach so much importance to one verb, but it pops up in
> all sorts of ways: fetch contexts, fetch profiles, fetch statistics,
> fetch callback functions, and so on.
> 

I think "fetch" is ok. Perhaps showing my Java/Hibernate heritage, I
also like "hydrate" and "dehydrate" (for going the other way). These
terms are also used by other ORM solutions. The thing I like is that
they are not overloaded uses of verbs which may have multiple meanings
in other contexts like "cache" etc. But then again, their meaning may
not be intuitive to people without previous ORM experience.


Gmane