ES (Elasticsearch) 에 JSON 데이터를 저장할 때 알아 두어야 할 사항이 있는데,
기본적으로 ES 는 JSON 타입의 데이터를 저장하면, 모든 field 들에 대해서 index 를 생성하려고 시도한다.
보통 JSON 데이터는 key: value 형식의 데이터들의 나열인데, 여기서 key 의 이름이 변하게 되면, ES 에서 과도하게 index 를 만드는 현상이 발생하여, 성능에 아주 좋지 않은 영향을 미치게 된다.
예를 들면 아래와 같이, key 의 이름이 star, foo 등등으로 계속 바뀌게 되면, 과도한 index 생성을 하게 된다.
data1
{
star: "abc"
}
data2
{
foo: "def"
}
그래서 ES 에 JSON 데이터를 저장할 때, key 의 이름이 바뀌지 않도록 데이터 모델링을 하여야 ES 를 원할하게 사용할 수 있다.
data1
{
key: "star"
data: "abc"
}
data2
{
key: "foo"
data: "def"
}
'Programming > Frameworks' 카테고리의 다른 글
MacOS 에서 kafka docker 설치와 실행 (0) | 2016.10.28 |
---|---|
kafka topic 삭제시 유의사항 (0) | 2016.04.25 |
slick 3.x 의 connection 개수 조정하기 (0) | 2016.04.14 |