EN-04-굿어스데이터.png


1. 개요

1-1. Blockchain Table & Row Versions 소개

Oracle Blockchain Table은 저장된 데이터의 무단 변경 및 삭제를 방지하고, 데이터의 무결성을 검증하기 위해 제공되는 특수한 형태의 Table이다.

Blockchain Table은 각 Row를 암호학적인 Hash로 연결하고 기존 데이터를 변경하지 않으며 새로운 Row를 추가하는 방식으로 데이터의 이력을 보존한다.

Oracle Database 26ai에서는 Blockchain Table V2에 Row Versions 기능이 추가되어, 동일한 업무 데이터를 Version 단위로 관리하고 최신 Version을 쉽게 조회할 수 있도록 기능이 확장되었다.

본 문서에서는 Oracle Database 21c의 기존 Blockchain Table과 26ai의 Row Versions 기능을 비교하여 Version 관리 방식과 주요 변경사항을 확인한다.

1-2. Blockchain Table 주요 특징

Blockchain Table은 일반 Table과 비교하여 다음과 같은 특징을 갖는다.

  1. 새로운 Row를 추가하는 Insert 중심의 구조 (Append Only)
  2. Hash Chain을 이용한 Row 간 연결
  3. Row 삭제 제한
  4. Table 삭제 제한
  5. Hidden Column을 이용한 Blockchain 정보 관리
  6. Hash Chain 검증을 통한 데이터 무결성 확인

1-3. 21c Blockchain Table

Oracle Database 21c의 Blockchain Table은 VERSION V1 형식을 사용하며, 각 Row를 SHA2_512 Hash Chain으로 연결하여 데이터의 무결성을 보호한다.

Blockchain Table은 Row를 계속 추가하여 변경 이력을 보존할 수 있지만, 동일한 업무 Key에 대한 Row Version을 자동으로 관리하는 기능은 제공하지 않는다. 따라서 Version 관리가 필요한 경우 별도의 Column이나 Application 로직을 구성해야 한다.