• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

동적 스키마가 NoSQL을 의미하나요???

23.10.04 21:50 작성 조회수 197

0

RDB만 공부했던 코린이입니다.

 

스승님, 동적 스키마라는 설명이 뒤에서도 설명이 있겠지만

 

엘라스틱 DB에 저장되는 값들이 RDB처럼 정해진 테이블 컬럼의 형태가 아닌, 다양하게 값이 저장/사용 할 수 있어서 동적 스키마라는 건가요?

답변 1

답변을 작성해보세요.

1

동적 스키마 라는 건 스키마를 미리 정의할 필요가 없다 라고 이해 하시는 게 맞습니다. RDB의 경우 테이블에 데이터를 저장하기 위해서는 어떤 컬럼들을 저장할지 미리 정의를 해야 합니다. 예를 들어 person 이라는 테이블을 만들고 name, age 라는 컬럼을 만들었다면 name, age 외에 다른 컬럼을 가진 데이터를 저장하려 할 경우 unknown column 에러가 발생하고 데이터가 저장이 안됩니다.

하지만 ES는 미리 정의를 해두지 않아도 최초에 색인되는 문서를 바탕으로 스키마를 생성합니다. person 이라는 인덱스에 name, age 필드가 있는 문서를 색인 한 후에 address 라는 필드가 있는 문서를 색인할 때도 address 라는 필드가 스키마에 새롭게 추가되면서 저장 됩니다.

이런 특징을 가지고 있기 때문에 동적 스키마의 특징을 가지고 있다고 정의 합니다.