Составной ключ против строк добавления одиночного ключа - PullRequest
0 голосов
/ 26 марта 2019

Просматривая множество примеров в Hyperledger Fabric, я нашел два способа достижения ключа:

Предположим, у нас есть два поля: виза и тип визы.

Виза:"1212323"

Тип визы: «Студенческая виза»

Таким образом, мы не можем создать ключ ни:

  1. Использование функции CompositeKey предоставлено заглушкой

key, err := stub.CreateCompositeKey(indexName,[]string{visa, typeVisa}) stub.PutState(key, value)

  1. Объединение двух полей

stub.PutState(visa+typeVisa, value)

В чем разница между этими двумя подходами? Какова лучшая производительность?

1 Ответ

1 голос
/ 27 марта 2019

С помощью Composite Keys у вас будет доступ к дополнительным методам в вашем коде цепочки, например, getStateByPartialCompositeKey, чтобы вы могли получить все «студенческие визы».Если вы создаете свои собственные ключи, вам нужно будет получить все визы, а затем отфильтровать набор самостоятельно или написать запросы для получения данных по атрибутам (при условии, что вы используете данные JSON в базе данных состояния CouchDB.).Поэтому я думаю, что разница в производительности заключается в эффективном извлечении, а не в первоначальном написании ключей.

В документах Fabric на CouchDB имеется хорошая документация в качестве базы данных состояний , которая покрывает этоинформация.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...