What i've learned from everything is that:
A stream is just a NoSQL key-value fashioned way of storing things into the blockchain. There isn't a maximum. So as long you have unlimited resources in terms of storage , then you can add unlimited amounts to the blockchain. Just like the bitcoin Blockchain can expand exponentionally as long there are sufficient amount of storage resources.
Q1: depends on answer of Q6
Q2: i think you need to do it in this ordering:
https://www.multichain.com/qa/2311/how-do-i-revoke-a-transaction
dunno for sure
Q3: Depends on the consensus. Local or Global ordering. Tradeoff between global consistency and local consistency. I think
Q4: See above text.
Q5: No, It doesn't update the 'record' before it. If it updates it what is the point of using blockchain over a ACID strict database. What it does it appends a new record with a new timestamp and a new txHash of that transaction and bounds it to a key in the fashion of NoSQL key-value store or document store. The result is that you can review the complete revision history of that particular key based on timestamp they were first accepted on the blockchain. So if you append exactly the same record without any changes, it would still append a new record , with a new txId. It doesn't care about redundancy of records. And doesn't update them accordingly
Note: The transaction itself doesn't got a timestamp. The timestamp is given when a miner starts mining a block and inserts that transaction into the block.
Note: Make Sure that your node A and B time is correctly configured otherwise it will mess up the transaction timestamps. If your nodes are miners.
Q6: i think you could achieve it if you reduce blocktimes, however more blocks are created. So its a tradeoff. However its better to manage by the miners instead of putting a shitload of transactions into one block which could take ages to calculatecomplete. Which hits the availability of your system.
There is always a tradeoff between availability and @ eventual consistency.