Brian Aker wrote:
Hi!
On Nov 7, 2008, at 5:42 PM, Mats Kindahl wrote:
BLOBs should not be sent in-band. Instead, just a BLOB locator should
be sent
(e.g., a URL) and then the storage engine, server main, or whatever,
can open a
connection and feed the blob into the correct place directly instead
of copying
in into the receiver buffer and then feeding that to the storage
engine (usually
by copying it).
The problem with this is that the server is not built to accommodate
this (and it would be a massive rewrite to change it). We have no
specific was to version blobs internally and they are generated at row
request for the request. Any sort of "grab later" would not guarantee
that it was the same blob (or that the blob even continued to exist).
If someone wants this sort of behavior they need to need to normalize
their schema in a manner to support it.
Is this the best solution? No. It would be a massive overhaul to
change the way row retrieval works though to support it. Even then,
most engines probably couldn't do it. I think it would be nice to find
a way to optionally support it if an engine could do it, but that is a
different issue (and can be solved without really messing with the
protocol by much).
Even if it is inconvenient, it is the way to go. Why send a 50MB PDF to
the client if the client isn't going to actually request it?
From the very dawn of the Blob Era, blobs we designed and intended to
set sent out of band. Little ones, sure, send 'em along 'cause the
extra trip isn't worth it. Big ones? No question -- wait for someone
to ask.
Philosophically, I'm not sure than inconvenience should be a major
consideration when considering architectures. If drizzle could delay
blob materialization to the last possible nanosecond in hope it would
need to, drizzle would be a great deal more application friendly.
Traditionally, somebody says, "But, Jim, our users don't store big blobs
anyway." If case this question is raised, the immediate answer is
"because they've been trained not to."
In the spirit of "yes, we can", I suggest that somebody turn his or her
fertile brain to the question of deferring blob materialization. Maybe
it isn't the boogy bug Brian thinks it is (unfortunately, I think it
probably is).
--
Jim Starkey
President, NimbusDB, Inc.
978 526-1376
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp