Где хранятся данные в базе данных Corda? - PullRequest
0 голосов
/ 13 октября 2018

Я понимаю, что DB по умолчанию - H2, который каждый узел использует локально.Я пытаюсь понять, где хранятся фактические данные транзакции (полезные данные).Кроме того, мне интересно, что произойдет, если я изменю данные в базе данных непосредственно на узле.Что произойдет, если я сделаю запрос к другому узлу?

PartyA = Data1
PartyB = Data1
PartyC = Data1

Теперь я повреждаю версию PartyB в своей базе данных в Data2: Теперь она становится:

PartyA = Data1
PartyB = Data2
PartyC = Data1

Что бы я увидел, если бы я запросилPartyB?Что бы я увидел, если бы я запросил PartyC?

1 Ответ

0 голосов
/ 15 октября 2018

Каждая транзакция хранится в виде BLOB-объекта в базе данных узла в таблице NODE_TRANSACTIONS.Различные части информации также извлекаются и хранятся в других таблицах (например, состояния хранятся отдельно в таблице VAULT_STATES).

Что происходит при повреждении данных, зависит от того, какую таблицу вы испортили.Если вы повредите данные на PartyB, PartyC останется без изменений.PartyB может видеть неправильные данные в бухгалтерской книге, или может предлагать недопустимые транзакции или другие побочные эффекты.Это зависит от того, какие данные повреждены и как.

...