스키마 변경
스키마 변경 (Schema changes)
Apache Druid에서 새 데이터의 스키마를 바꾸는 방법과 기존 데이터의 스키마를 변경하는 방법을 알아봐요. 새 데이터는 supervisor spec이나 batch ingestion spec만 바꾸면 되지만, 기존 데이터는 reindexing으로 처리해요.
출처: 문서
본문
새 데이터에 대해서
Apache Druid는 기존 데이터의 스키마를 업데이트하지 않아도 새 데이터에 새 스키마를 제공할 수 있어요.
streaming ingestion을 사용한다면 supervisor spec을 업데이트하면 충분하고, batch ingestion을 사용한다면 다음 batch ingestion 때 새 스키마를 제공하면 돼요. 이것이 가능한 이유는 각 segment가 생성될 때 자신의 스키마 사본을 저장하기 때문이에요. Druid는 쿼리 시점에 이 개별 segment 스키마들을 자동으로 조정(reconcile)해요.
기존 데이터에 대해서
기존 데이터에도 스키마 변경이 필요할 때가 있어요. 예를 들어 이전에 ingestion한 데이터의 컬럼 타입을 바꾸거나, 컬럼을 통째로 제거하고 싶을 수 있죠. Druid는 기존 데이터를 업데이트할 때 쓰는 것과 같은 reindexing 방식으로 이를 처리해요. Reindexing은 영향을 받는 모든 segment를 다시 쓰는 작업이라 시간이 오래 걸릴 수 있어요.
더 알아보기 (Learn more)
- Data updates — reindexing으로 기존 데이터를 업데이트하는 방법을 알아봐요.
- Segments — 각 segment가 스키마를 저장하는 구조를 이해해요.
- Data ingestion — streaming·batch ingestion에 새 스키마를 적용하는 방법을 살펴봐요.