VIZ-Blockchain / viz-cpp-node

VIZ C++ node
Other
14 stars 5 forks source link

Investigate block_log storage compression #22

Open bitphage opened 6 years ago

bitphage commented 6 years ago
antonblockchain commented 6 years ago

Не упаковано потому, что, можно использовать ситемы упаковки ос (linux) В том числе файловою систему с упаковкой. В том числе систему свапа с упаковкой - экономит память до ДВУХ раз. (zswap)

Проблема графена в том, что, графен инкапсулирует базу данных в себя.

Правильная архитектура: использовать внешнюю базу данных для индексов и хранения данных. Тогда из этой внешней базы смогут читать напрямую сторонние приложения. Используя ноду только для записи данных.

Это позволит: 1) распараллелить чтение из блокчейна не только по ядрам (сейчас 1все на 1 ядре) но и по разным операционным системам (инстансам в витруальных машин) 2) Убрать из ядра ноды графена апи чтения данных и построение/хранение индексов. 2.1) или сделать простой враппер апи, или вообще убрать Это сделает ноду легкой по расходам памяти, и по размеру кода. Уберет проблемы базы данных на отдельный движок.

On1x commented 6 years ago

@bitfag есть проблема с тем, что нода должна отдавать актуальное состояние для постов (репосты, апвоуты, вес апвоутов, расчетное состояние предполагаемой выплаты) - и там же хранится сам контент. В Голосе сейчас идет разделение сущности comment на 2 - те которые можно хранить отдельно и не требуется динамического изменения или перерасчетов: https://github.com/GolosChain/golos/issues/541

Паковать данные в блоках - хорошая идея, даже в момент их отправки в блок, они уже будут запакованы. Это сплошная экономия. Не надо искусственно перекладывать это на ОС или ФС.

bitphage commented 6 years ago

@On1x ты наверное @AntonBliznets отвечал...