2022년 10월 24일 월요일

엘라스틱의 Join

가끔 조인 기능에 대한 질문을 받는다. 대부분 RDB의 조인을 기대하는 질문. 결론부터 말하면 다음 구조로 운영 가능한 데이터라면 엘라스틱 조인이 답이 될 수 있다.


하나의 데이터를 (고유성을 가진 필드로 분리된) 하나의 레코드로 관리하는 RDB에 익숙하다면 어색하기 짝이 없는 구조. 엘라스틱 조인은 여러 개의 필드 분리가 필요 없는 단일 문서 구조, '질문-답변'처럼 쌍을 이루는 문서 구조에 적합한 기능임을 알 수 있다.

RDB 테이블 구조의 조인 기능을 사용하고 싶다면 성에 차진 않더라도 enrich processoraggregate 필터 등등 다른 방법을 찾는 게 장수의 지름길. 

아마존이나 엘라스틱의 SQL 기능이 아직까지 초기 수준을 벗어나지 못하고 있다는 사실에서도 알 수 있지만, NoSQL이 SQL처럼 동작하기란 자동차가 물 위를 달리는 것만큼이나 어렵지 않나 싶다. 그런데 스플렁크를 보면 아닌 것도 같고?

사실 조인도 필요 없음

엘라스틱이 런타임 필드 소개할 때부터 느낌이 오긴 했는데, 공식 문서 페이지 디자인도 스플렁크랑 비슷해지고, 아마존은 SPL 비슷한 PPL(Piped Processing Language) 만들고 있는 걸 보면 스플렁크가 NoSQL의 워너비쯤 되는 모양.

관련 글

댓글 없음:

댓글 쓰기

크리에이티브 커먼즈 라이선스