Ah licensing - I should have covered that.  This does require an iKnow enabled license, but one of those should be easy to obtain, at least for development purposes.  Just contact InterSystems or your already assigned sales representative.  

This deserves a full answer that I will give on Monday - just want to put this here as a placeholder.  But, spoiler, iFind is better.

You should use the newer stream implementations: %Stream.FileCharacter, %Stream.FileBinary, %Stream.GlobalCharacter, %Stream.GlobalBinary.  Which one you use depends on what you want to do.

Excellent question.

Of course, when you are going to be using iFind it does mean a heavier burden for your INSERT/UPDATE/DELETE functions.  It also does take up more space on disk than a traditional index.   The cost is going to depend on what kind of iFind index you are using and the size of the data being indexed.  For my example an insert went from about 5 global references to about 200.  But that is, of course, still fast due to the way Caché manages writes to disk.  On INSERT went from 0.0002 seconds to 0.0032 seconds.  So significantly slower, but still plenty fast.  If you test a use case and come up with something different, post it here!!!

Caché fully supports INNER and OUTER JOINs, so I'm not sure what the question or problem is here.  Do you have a query that's not working?

You can starting in 2016.2!  Check out the field test and try it out!  We want people who have Eclipse experience to help us make our new IDE as smooth and easy to use as possible.

Great question!  The reason is that count(*) will read the smallest index, so having an index on ANY field made the count go quickly.  So the customer had an indexed field that helped here, but not in general.