我想知道如何对我的资产、参与者、交易和事件建模。我已经查看了语法方面的文档,但我想知道是否有一种结构化方法来完成它。就像关系数据库上的规范化方式一样。
如果有人对区块链数据存储原则有了解,我很乐意听取建议。
如果有人对区块链数据存储原则有了解,我很乐意听取建议。
Hyperledger Fabric基于键值存储(LevelDB和CouchDB),因此您不会从规范化数据中获得任何好处。在关系型数据库中,您这样做是为了方便索引和连接,但在键值存储中不存在连接的概念。
您可以在数据上创建索引以加快查询速度。这在Marbles教程链码(第108行+)中有所涉及:
let indexName = 'color~name'
let colorNameIndexKey = await stub.createCompositeKey(indexName, [marble.color, marble.name]);
在 Hyperledger Composer 中建模您的资产时,可以使用 .cto 定义。