【问题标题】:Hyperledger - database indexHyperledger - 数据库索引
【发布时间】:2016-10-31 07:45:07
【问题描述】:

我是超级账本的新手,想知道在哪里可以找到与超级账本中的数据库如何工作相关的文档。

通过查看差异示例,它似乎是一个简单的键值存储。但是,我目前正在开发一个 POC,我们需要将文档存储到超级账本中,这意味着我们应该能够对它们进行索引以便查询和检索所需的数据。

是否有一些库允许将文档(类似于 lucene/elasticsearch)索引到超级账本数据库中?

【问题讨论】:

    标签: indexing hyperledger rocksdb hyperledger-fabric


    【解决方案1】:

    Fabric v1.0 具有键/值数据模型,以及基于 CouchDB 的文档数据模型选项。将 CouchDB 与 JSON 数据一起使用时,您可以从链代码中查询数据内容中的各个字段。

    即使使用键/值数据模型,您也可以在链代码中将自己的“索引”建模为解决查询的键。

    请参阅 Fabric v1.0 marbles02 链代码示例,该示例演示了两种数据模式:

    https://github.com/hyperledger/fabric/blob/release-1.4/examples/chaincode/go/marbles02/marbles_chaincode.go

    【讨论】:

      【解决方案2】:

      由 RocksDB 支持的 Fabric 中的键值对存储。您可以尝试使用与此数据库一起使用的库。

      请记住,Hyperledger 专为保护隐私而设计。在security.privacy: true 的生产环境中,文档将被加密并且无法建立索引。

      【讨论】:

      • 非常感谢您的回答。关于 RockdDB,我正在尝试找到一个库,但我不能......最重要的是,将存储的文档是“常识”,因此需要对其进行加密。超级账本中是否可以定义在生产中加密哪些数据?
      • 目前对“加密哪些数据”没有细粒度的控制,这个功能可能会在以后实现。回到原来的问题——在“core.yaml”的fabric v1中有一个配置参数“stateDatabase”。您可以更轻松地使用 CouchDB 进行数据库索引。
      【解决方案3】:

      管理文件的最佳方式是将文件的哈希存储在区块链中,授权实体将能够验证文件是否有效。只要正确实施访问控制机制,您就可以使用 IPFS 或 Google Drive 或任何其他机制来共享数据。

      【讨论】:

        猜你喜欢
        • 2010-10-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-26
        • 2019-04-18
        • 2022-11-02
        相关资源
        最近更新 更多