Limit for number of stream items per key

+1 vote
Hello Multichain Team,

Your team is doing great job. I wanted to use multichain as a simple database to store and retrieve some basic sensor data. I found that max 64Mb could stored in one stream item. I also found that 100 tx/sec is safe limit.

So, following this I have few questions :

1. Is there any limit on number of keys per stream ?

2. We can store data multiple times under same key. So, is there any limit on the number of values stored under same key ?
3. Which is better : 2 Keys with 50 values each or 10 keys with 10 values each ?

4. Also is there a possibility to retrieve all the values associated to a group of keys in one command ?

Thank You
asked Apr 27, 2017 by Varun

1 Answer

+1 vote
Best answer
There is no limit on the number of keys, or the number of items under the same key. In terms of performance it should not make much difference on whether you have a 2 keys with 50 items, or 10 keys with 10 items, because everything is indexed properly in both cases, and the same number of index entries is created. Unfortunately there's no API to retrieve all the items for a group of keys in one call, rather than for a single key.

One last comment – depending on your network setup, server performance, and the size of the stream items, you can now push MultiChain to around 500 tx/sec. And we're working on increasing this higher in future.
answered Apr 28, 2017 by MultiChain
Thank You Mulitchain Team. Upon research I found that, the feature to return multiple key-values have been requested already. (Like a wildcard search). Are there plans to integrate such feature in future ?

Also, you team is close to
So, do you have plans to scale multichain to full fledged blockchain db like bigchaindb project ?
We certainly don't plan to architect MultiChain like BigChainDB, because that does not create the level of safety and security that you need when a database is crossing boundaries of trust. But yes we will be adding more and more database-like functionality over time.