dbTalk Databases Forums  

FSI Indices with translates the answer

comp.databases.pick comp.databases.pick


Discuss FSI Indices with translates the answer in the comp.databases.pick forum.



Reply
 
Thread Tools Display Modes
  #31  
Old   
Tony Gravagno
 
Posts: n/a

Default Re: FSI Indices with translates the answer - 08-20-2006 , 05:19 PM






(Paragraphs below were written at different times and not intended for
any one person, but I think it's all relevant to this thread. Sorry
if the comments seem slighly disjointed.)

For details about what requires a path vs a simple file reference,
check D3 Ref v7.5, look for "path" which will show many topics, and
focus on "full path". If that info isn't clear enough, contact your
vendor.

I don't pretend to be an expert on the FSI. Mark is much more
informed on this than I am. I suggest someone petition RD for one of
their user group weekends to explain exactly what the FSI is and how
it works, or maybe a Webex, or Spectrum presentation, etc. That said,
I've personally found the "canned" explanations of the FSI to be too
dry and not enough "applied science" for my taste. It's usually RD
Engineering guys that get stuck explaining this stuff and, well,
they're engineers and don't always speak in terms normal human beings
can understand. The fact that it takes an engineer to explain the FSI
should be a hint to Marketing. Here is my brief and feeble attempt...

The FSI is a service that accepts requests for functionality. It's
not just another place to store data. The FSI is intended to operate
as a network file system where any server can provide data and
business rules for a domain. This is sort of like an environment
where every file you access may be local, or it may be a Samba or NFS
share to some other system on the LAN/WAN. Compare that to the
traditional blob where everything is always in one place.

The traditional VME assumes that the current 'context' is the current
account - in the VME there is no such thing as another context. FSI
file operations and business rule modules (BASIC object code) can be
invoked from places other than BASIC where there is no context, so the
context needs to be explicitly stated.

Sure, it would be helpful if accounts used in traditional ways
provided a context so that pathing wouldn't be required - when we
reference NFS mounted paths or Samba shares we don't change the syntax
of an fopen or similar statements because the underlying file system
is supposed to make this all transparent. The FSI is a concept that
has never been fully implemented, documented, or utilized. RD has
been so mired in other product issues that it hasn't plugged the
usability holes that people are discussing now. The answer to many
requests and questions for many years has been that issues will be
easier to manage once everything is in the FSI, but they're spending
so much time patching the VME areas (no doubt a required effort) that
they never seem to get to the point where they can do a clean cutoff.

Most people know that RD recommends that all accounts should be in the
FSI, but they don't know why, so everyone puts their stuff into the
FSI and then expects it to work just like the VME. In a way D3 is two
products in one and a migration from VME to FSI can be as traumatic as
a minor migration to another MV DBMS - which is exactly what we're
seeing in this thread. This is a Marketing issue but anyone that
approaches the topic does so purely from a technical perspective, so I
don't believe Marketing or Sales recognize this as a major problem. I
have to laugh, years ago at PS/RD we did have employees in all
departments complaining internally that a lot of this crap didn't work
- all of those people were fired in corporate downsizing, and anyone
left just keeps their mouth shut. Similarly, most people who use D3
tend to expect it to behave just like R83. If it doesn't work as
expected they migrate to jBASE or U2 or go to Oracle or SQL Server.
The pool of people who complain to RD about these things has to be so
small that it's not enough to justify real change - and without change
the user base just gets smaller. This is a dynamic that I've been
trying to explain to them (and you guys) for years - another one that
people just don't "get".

I do see where a requirement for pathing can be troublesome. I've
mentioned a number of times in this forum that I don't use triggers,
indexes, or the D3 Class Library - all of these require full pathing
for file references. Like many other people, my answer is to just not
use the features. RD is well aware of the differences between coding
requirements for the VME and FSI but no one has yet made this into a
business case to evoke change. That's your responsibility if it's
important to you.

<Broken record mode on>
- I'll say one last time that I'm surprised that people are getting
all huffy and critical of syntax that hasn't changed in at least 8
years. It's been working, no one has made a stink about it in all
this time. Haven't I been asking people for years to run betas, read
the release notes, and report issues? If this were happening we
wouldn't have a thread 8+ years later complaining about how things
work.
- Report your issues to your vendor as a business issue because
(supposedly) you will incur undue expense and burden to use the
software because of the implementation. If they don't respond in a
satisfactory way, get a new vendor.
- Please do not confuse my presentation of information with any form
of support, approval, or justification. I'm just telling you the way
things work. Explanation does not imply advocacy.
- My suggestion to get a new vendor if you aren't satisfied is also no
reflection on RD. I'd say the same thing if someone complained that
pry-off bottle caps were a hassle for their favorite beer (and now
would be a bad time to complain about that too).
</>

T

"dzigray" wrote:

Quote:
it keeps circling in discussion that the FSI requires "absolute"
addressing in otherwise common file/index/translate-methods.

if that's even remotely the case... i hope it's a non-issue for all
involved that this is unquestionably a gross implementation a bug, and
that it needs to be fixed, end of story! no one should play games
here.. (RD might think its a feature! )

Tony wrote:
Pathing is required for some D3 features because of the way they
"globalize" some things. Many functions don't operate in the local
account as you would expect, they need to be told what account to use.

tony, i admint it's not clear what you're referencing here... I'd like
to see that list...

apart from the initial IPL of the system and the ambiguous window at
process init/login/logoff, i don't think its design prudent that
there's ever a case where a local account context is not established --
certainly not to any exposed application-level interface.

that said... if there are desires to create alternative pathing (and
you can discover from another thread that I have more than ventured
there in practice with experience), then such should only be considered
by using alternate syntaxes or mechanisms for determining account
context -- and only with considerable foresight applied as part of the
design, at a minimum starting with use cases.


Reply With Quote
  #32  
Old   
dzigray
 
Posts: n/a

Default Re: FSI Indices with translates the answer - 08-22-2006 , 05:16 PM






Hey again, Tony!
I know that in the below you were often sharing others' views
rather than your own; and in that spirit my remarks (and occasional
sarcasms) are meant especially for the "source" rather than the
messenger. Thanks for voicing them.

Tony Gravagno wrote:
Quote:
(Paragraphs below were written at different times and not intended for
any one person, but I think it's all relevant to this thread. Sorry
if the comments seem slightly disjointed.)

For details about what requires a path vs a simple file reference,
check D3 Ref v7.5, look for "path" which will show many topics, and
focus on "full path". If that info isn't clear enough, contact your
vendor.

I don't pretend to be an expert on the FSI. Mark is much more
informed on this than I am. I suggest someone petition RD for one of
their user group weekends to explain exactly what the FSI is and how
it works, or maybe a Webex, or Spectrum presentation, etc. That said,
I've personally found the "canned" explanations of the FSI to be too
dry and not enough "applied science" for my taste. It's usually RD
Engineering guys that get stuck explaining this stuff and, well,
they're engineers and don't always speak in terms normal human beings
can understand. The fact that it takes an engineer to explain the FSI
should be a hint to Marketing. Here is my brief and feeble attempt...

Quote:
The FSI is a service that accepts requests for functionality.
So is the VME. It gets those requests initially through TCL and the
result of having a "session established" (via IPL, TCP/ip connections,
batch processes, executes, etc.)

Quote:
It's not just another place to store data.
Careful... implying such to the VME is an invalid & poor
characterization. Eg. as per above, the VME also performs process
execution & process management based upon external/internal requests.

Quote:
The FSI is intended to operate
as a network file system where any server can provide data and
business rules for a domain.
First, most network file systems allow absolute and relative
addressing. Simply look at the FOPEN() command syntax (STDIO C++); the
file open can be both absolute/relative (based upon the current
directory of the file system that one is within, and different vehicles
allow the directory context to be changed.) Second, maintaining an
external-interface SHOULD not force its interface onto the underlying
layers -- nor is there a need to! (i challenge someone demonstrate
otherwise; however, if you want to chase this... present a full
use-case.)

Finally, it would have been trivial to add an NFS-interface directly to
the VME and make it mountable, but for some reason RD hasn't picked up
on this.

Quote:
This is sort of like an environment
where every file you access may be local, or it may be a Samba or NFS
share to some other system on the LAN/WAN.

Compare that to the
traditional blob where everything is always in one place.
Certainly; any non-mounted file systems that consume space and its
contents are not directly addressable are seen as "blobs".

Quote:
The traditional VME assumes that the current 'context' is the current
account - in the VME there is no such thing as another context.
O'contrar, in the context of your argument, sure there is... only
while you have limited (or are defending) the FSI as allowing
"multiple contexts" via merely seeing each file-open that utilizes
an "absolute"-path as being unique contexts - you have to remember,
the VME has both: absolute & relative!

Quote:
FSI
file operations and business rule modules (BASIC object code) can be
invoked from places other than BASIC where there is no context, so the
context needs to be explicitly stated.
Tony, I disagree; such context in fact exists (even if implicit and it
is being unmanaged.)

Perhaps part of the convoluted design problem originated in that too
many things "terminology/goal-wise" have been associated with this
thing, termed "FSI". Within "FSI" (and without limiting/ranking all
its goals) there are several distinctly separate (non-competing) goals
that must be dealt with SEPARATELY: (1) an externally mountable
file-system-interface, that makes pick data structures transparent to
the outside world (and this SHOULD be for BOTH the
FSI-native-hosting-mapped files and VME-mapped files)(and again,
supporting absolute & relative addressing); (2) allowing stand-alone,
locally-scheduled pickbasic processes (ie. scheduled directly by
windows and external to the VME scheduling, also having their workspace
external to the VME.) (3) such stand-alone pickbasic executables should
have the capability of accessing ALL pick structures & features
transparently: especially supporting-and-conforming to all pick
syntaxes; and CERTAINLY, allow external native O/S
file/object-accesses, too, but via either their own explicit functions
such as FOPEN() -or- via expanded pick-open file syntax (eg. "dos:").
Although, personally I believe the original syntax extension by
embedding a prefix to the name was an architectural design error and
one which should have instead been hidden as "q"-pointer (eg.
"DOS^Q^dos:^^^^^^L^10", etc.) Amongst other capabilities, limiting
things like a dos-file-access solely through an m/dict would have
allowed account-level security over the dos file accesses (down to a
discrete dos file).

As a footnote, it would have seemed prudent and more powerful that any
mechanism for mounting a pick file system (independent of assigning an
account's context) should have allowed "managing the mounting" to
establish an "initial logical-view context" for the mounting: be it
at a "mds,,", or "account", or file, or item-level. For
example to allow mounting of single/multiple accounts, explicitly or by
default - and while respecting certain file system security from
within pick as well as allowing a powerful mechanism to exclude certain
files "from view" when a process does not have read/write
privileges (versus otherwise resulting in a non-trappable security
violation.)

Quote:
Sure, it would be helpful if accounts used in traditional ways
provided a context so that pathing wouldn't be required - when we
reference NFS mounted paths or Samba shares we don't change the syntax
of an fopen or similar statements because the underlying file system
is supposed to make this all transparent.
Whenever you build an interface, you should respect both sides of the
line, without stumbling into each side with erroneous assumptions and
artificial limitations.

Also, most modern file systems and their associated API allow for both
'absolute' and 'relative' contexts to be established, along
with providing appropriate syntaxes & methods for altering/designating
such - namely by supporting the equivalent of an abstract
session-object from which to interface through and establish/maintain
context.

The FSI is a concept that
Quote:
has never been fully implemented, documented, or utilized.
Amen! Also add "architected" to that list.

Quote:
RD has
been so mired in other product issues that it hasn't plugged the
usability holes that people are discussing now. The answer to many
requests and questions for many years has been that issues will be
easier to manage once everything is in the FSI,
Nah.. stop there. That is a cop-out programmers use when they are
winging a design on the fly, and especially do not wish to subject it
prematurely to review. It's okay to have a sandbox to play in, but
going from there to a formal project (let alone production) should
require greater steps.

Quote:
but they're spending
so much time patching the VME areas (no doubt a required effort) that
they never seem to get to the point where they can do a clean cutoff.
More cop-out... The problem is that they are creating more bugs!
Fix'em & stop creat'n 'em!

Quote:
Most people know that RD recommends that all accounts should be in the
FSI, but they don't know why,
Coders code where the light's the brightest. The new stuff appears
brighter than the old stuff so the new coders orphan the old code.

Quote:
so everyone puts their stuff into the FSI
Not me.

Quote:
and then expects it to work just like the VME.
Such logic ("expects it to work just like the VME"), works for me!
Unquestionably, at a certain layer it should! It does not! -- hence
predictable abstention.

Quote:
In a way D3 is two
products in one and a migration from VME to FSI can be as traumatic as
a minor migration to another MV DBMS - which is exactly what we're
seeing in this thread.

This is a Marketing issue but anyone that
approaches the topic does so purely from a technical perspective, so I
don't believe Marketing or Sales recognize this as a major problem.
I disagree... it's a management issue; fire some people!

Quote:
I have to laugh, years ago at PS/RD we did have employees in all
departments complaining internally that a lot of this crap didn't work
- all of those people were fired in corporate downsizing,
oops, wrong people got fired!

Quote:
and anyone left just keeps their mouth shut.
Fire them, too!

Quote:
Similarly, most people who use D3
tend to expect it to behave just like R83. If it doesn't work as
expected they migrate to jBASE or U2 or go to Oracle or SQL Server.
It's too easy to suggest, "if it doesn't work as expected".
People are forgiving, but resist change when there is no perceived
justification or benefit to them to overcome the required work/learning
curve! Likewise, most people would gladly learn to drive a new sports
car even if it had a different feel to it!

Change for change sake, seldom goes over easy - especially when
"upward compatibility" has been overlooked with no good reason.
There is a threshold as to what is acceptable. It ain't some aloof
standards/expectations, but instead "new bugs" and lack of
"upward compatibility". Too much license has been taken with the
latter, and people just want off the merry-go-round! Who can blame
them!

Quote:
The pool of people who complain to RD about these things has to be so
small that it's not enough to justify real change - and without change
the user base just gets smaller. This is a dynamic that I've been
trying to explain to them (and you guys) for years - another one that
people just don't "get".
If the perception is that RD has already given up, based upon its
resources/commitment levels, then why should end users expect to have
to continue to beat the door down? Nobody's home! Okay, on the
other hand, they still have talent to correct this... but will they?
Knock..knock!

Quote:
I do see where a requirement for pathing can be troublesome. I've
mentioned a number of times in this forum that I don't use triggers,
indexes, or the D3 Class Library - all of these require full pathing
for file references. Like many other people, my answer is to just not
use the features.

Quote:
RD is well aware of the differences between coding
requirements for the VME and FSI but no one has yet made this into a
business case to evoke change.
That's not the case... RD just needs to fire some more people!

Quote:
... That's your responsibility if it's important to you.
Tony, I can almost predict your response here, but go slow... every
time you end a thought by dumping the responsibility for fix'en the
problem back into the hands of the users, you give the vendor an out.
RD needs to take the responsibility here. (Fire some people! )

Quote:
Broken record mode on
- I'll say one last time that I'm surprised that people are getting
all huffy and critical of syntax that hasn't changed in at least 8
years. It's been working, no one has made a stink about it in all
this time.
After 8 years people figure the mine field has been cleared!

Quote:
Haven't I been asking people for years to run betas, read
the release notes, and report issues? If this were happening we
wouldn't have a thread 8+ years later complaining about how things
work.
It ain't the report'n - it's the lack of fire'n!

Quote:
- Report your issues to your vendor as a business issue because
(supposedly) you will incur undue expense and burden to use the
software because of the implementation.
Ditto.

Quote:
If they don't respond in a satisfactory way, get a new vendor.
Boy, that'll really get them mad! You know the answer here... fire
some people! People don't want to change, only that their issues go
away!

Quote:
- Please do not confuse my presentation of information with any form
of support, approval, or justification. I'm just telling you the way
things work. Explanation does not imply advocacy.
Noted... again I only desire to target the source... all right.. a
little collateral goes a long ways!

Quote:
- My suggestion to get a new vendor if you aren't satisfied is also no
reflection on RD.
What?!


< I'd say the same thing if someone complained that
Quote:
pry-off bottle caps were a hassle for their favorite beer (and now
would be a bad time to complain about that too).
/

T

"dzigray" wrote:

it keeps circling in discussion that the FSI requires "absolute"
addressing in otherwise common file/index/translate-methods.

if that's even remotely the case... i hope it's a non-issue for all
involved that this is unquestionably a gross implementation a bug, and
that it needs to be fixed, end of story! no one should play games
here.. (RD might think its a feature! )

Tony wrote:
Pathing is required for some D3 features because of the way they
"globalize" some things. Many functions don't operate in the local
account as you would expect, they need to be told what account to use.

tony, i admit it's not clear what you're referencing here... I'd like
to see that list...

apart from the initial IPL of the system and the ambiguous window at
process init/login/logoff, i don't think its design prudent that
there's ever a case where a local account context is not established --
certainly not to any exposed application-level interface.

that said... if there are desires to create alternative pathing (and
you can discover from another thread that I have more than ventured
there in practice with experience), then such should only be considered
by using alternate syntaxes or mechanisms for determining account
context -- and only with considerable foresight applied as part of the
design, at a minimum starting with use cases.


Reply With Quote
  #33  
Old   
Dave Goldfinch
 
Posts: n/a

Default Re: FSI Indices with translates the answer - 08-22-2006 , 08:00 PM



On 22 Aug 2006 15:16:15 -0700, "dzigray" <google (AT) bridge2 (DOT) com> wrote:

Quote:
Hey again, Tony!
snip
If the perception is that RD has already given up, based upon its
resources/commitment levels, then why should end users expect to have
to continue to beat the door down? Nobody's home! Okay, on the
other hand, they still have talent to correct this... but will they?
Knock..knock!
snip

Well Said !!


Dave


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.