블록체인 기술과 함께 등장한 분산 스토리지는 데이터 저장 방식에 혁신을 가져왔다. 이번 글에서는 분산 스토리지의 개념부터 IPFS와 Pinata를 활용한 데이터 관리, 그리고 블록체인 데이터 쿼리와 인덱싱 도구인 The Graph와 SubQuery에 대해 알아볼 예정이다.

분산 스토리지란?

분산 스토리지는 데이터를 여러 독립적인 노드에 분산하여 저장하는 방식이다. 이를 통해 데이터의 안정성과 보안성을 높일 수 있으며, 중앙 서버의 장애로 인한 데이터 접근 불가능 문제를 해결할 수 있다. 또한, 네트워크에 노드를 추가함으로써 용량을 유연하게 확장할 수 있는 장점이 있다.

중앙 집중식 스토리지와의 차이점

분산 스토리지의 주요 이점

IPFS (InterPlanetary File System)

IPFS는 분산 스토리지의 대표적인 예로, 데이터를 해시값으로 주소화하여 여러 노드에 분산 저장한다. 사용자가 데이터를 요청하면 가장 가까운 노드에서 데이터를 가져온다.

IPFS의 동작 원리

  1. 파일 추가: 파일을 IPFS에 추가하면 파일을 작은 청크(chunk)로 분할하고, 각 청크에 고유한 해시값을 생성한다. 이 해시값이 파일의 주소로 사용된다. 파일 내용이 변경되면 해시값도 변경된다.
  2. 파일 검색: 파일의 해시값을 사용하여 네트워크에서 해당 파일을 검색한다. 노드들은 요청된 해시값과 일치하는 청크를 반환한다.
  3. 파일 복원: 분할된 청크들을 연결하여 원래 파일로 복원한다.

Pinata로 IPFS 관리하기

Pinata는 IPFS 파일을 쉽게 관리할 수 있는 서비스이다. Pinata를 사용하면 IPFS에 파일을 고정(Pin)하여 데이터의 지속성을 보장할 수 있으며, 사용자 친화적인 인터페이스와 API를 통해 파일 관리를 효율적으로 수행할 수 있다.

Pinata 계정 생성 및 API Key 발급

  1. Pinata 웹사이트에 접속하여 계정을 생성한다.