En 운영시 로그 설명 질문입니다


Imported new chain segment와
Persisted trie from memory database
그리고 로그 항목(blocks, elapsed, gcnodes 등등) 들 의미하는게 뭔지 궁금합니다.

안녕하세요

  • imported new chain segment은 싱크과정에서 batch형태로 여러개의 블럭을 전달받아 처리한후 남기는 로그입니다.
  • persisted trie 로그는 실제 캐쉬형태로 남아있던 체인데이터가 데이터베이스에 쓰여졌을때 남기는 로그입니다.
  • elapsed는 batch형태의 블럭들을 처리하는데 걸린 시간을 의미합니다.
  • gcnodes, gcsize는 garbage collector와 관련된 지표들입니다.
  1. Imported new chain segment 로그에서
    age와 ignored가 의미하는 건 무엇인가요?

  2. 노드 데이터가 저희 하드디스크에 어떤 형태로 저장되나요?? 블록 생성에 따른 파일이 추가되는지? 그리고 지나간 데이터는 삭제 되나요?

친절하게 답해주셔서 감사합니다 !!

  1. age는 말그대로 최근 블럭의 나이를 말해주며, ignore는 batch형태로 peer로부터 블럭을 받은 경우, 이미 체인에 저장되어 있어서 처리가 무시된 블럭수를 의미합니다.
  2. 노드 데이터는 levelDB에 trie라는 자료구조 형태로 저장됩니다. 결과적으로는 하드디스크에 파일로 저장이 되구요. trie에 대한 이해를 도울 수 있는 클레이튼 미디움 자료가 있어 공유드립니다. 스토리지절약하기 klaytn medium

이해가 안되는 부분이 있어서 질문 드립니다. 저희 하드 디스크에서 migration을 진행하지 않아도, klaytn에서 제공하는 cypress chaindata(마이그레이션된)을 받아서 계속 동기화하는 경우에는, 하드 디스크에서 state migration이 진행되나요?? 그래서 지나간 chaindata는 계속 삭제되나요? 아니면 다시 chaindata 스냅샷을 다운받아야 하는지

동기화가 되는것과 state migration은 별도라고 생각하시면 됩니다.
동기화는 클레이튼 네트워크의 최신 블럭까지 따라가려고 하는거라면, state migration은 스토리지 용량을 줄여서 운영에 도움이 되도록 하는 기능입니다.
별도로 수행하지 않는한 노드에 저장되고 있는 데이터는 삭제되지 않습니다.

그러면 동기화하는 과정에서 하드디스크는 정해진 용량이고, 데이터가 계속 쌓일텐데 이럴 경우는 어떻게 되나요?? 디스크 용량 한계까지 닿을 경우에

그래서 충분한 용량이 필요하고 klaytn docs에도 추천 스펙이 명시되어 있습니다.
말씀하신 내용은 블록체인에서 앞으로 기술발전을 통해서 해결해 나가야할 문제이고 이를위해 많은 연구가 진행되고 있습니다. 또한 미디엄자료와같이 migration을 진행하셔도 되고 원활한 운영을 위해 여러가지 선택지가 있습니다.