I would like to understand more how N1QL works inside.
I found only n1ql: How works?..is a total change in the “couchbase way”? as some description, but I can’t see any insights of how it work on official documentation http://developer.couchbase.com/documentation/server/4.0/n1ql/n1ql-intro/data-access-using-n1ql.html
Could you please pinpoint me where ‘how it works inside’ lies in or when it will be available?
Questions I’m interested in:
- CREATE INDEX on large bucket may take few hours to generate view (so I’ll receive timeout on SDK), when do I know it’s created?
- What does mean ‘N1QL has it’s own processing engine’?
- Are there any other types of document indexing, except of views?
- Are there any type of BTree indexes to access view faster? As far as I understood all views are just plain key-value string accessed from startKey to endKey.
- Does N1QL take document from RAM, when it needs to get some data from it, not available in initial view?
- Java SDK 2.1.x has async query, and when you try access document it has async access to it. Do it mean there is GET:/document call to CB? Why not to add flag (as it was at 1.4.x) ‘include document’ to avoid additional network load?
- UPDATE … WHERE how it is correlated to CAS and atomicity? If during UPDATE…WHERE there will be update from other thread to same document it’ll change CAS, so it may drop CASMismatch error. If it will do error, other documents will remain changed or will rollback?