인덱스2 [기술적 선택] Elasticsearch 데이터 구조와 설계 방안 엘라스틱 서치를 활용하여 로그 수집과 게시글 키워드 검색 기능을 구축하면서 의아한 부분이 있었다. 역색인 구조인 것은 알겠지만, 어떻게 데이터가 저장이 되고 데이터 다중화는 어떤식으로 진행이 되는지, 가용성은 어떻게 되는지 등이 개념이 잡히지 않았다. 이번 포스팅에서는 Elasticsearch의 데이터 구조가 어떤식으로 잡혀있는지 살펴보려고 한다. 개념 정리 위의 그림을 보면 클러스터, 노드, 샤드, 인덱스로 구성되어 있는 것이 보인다. 하나씩 살펴보자. 1. 클러스터 노드들의 묶음이라고 보면 된다. 클러스터로 묶인 노드들은 노드간 데이터 교환을 위해 http 포트 (9200-9299), tcp 포트 (9300-9399)를 열어둔다. 그러므로 노드 1로 입력된 데이터를 노드 2에서 읽을 수도 있고, 그 .. 프로젝트/기술적 선택 2023. 7. 22. [Infra] 9. MariaDB 인덱스 설정 및 쿼리 성능 개선 - Voda Project 해당 프로젝트에서는 소셜 로그인 (카카오)를 기준으로 로그인이 진행된다. 우리 서비스에서는 소셜 로그인을 통해 받아온 email 정보를 가지고 유저 정보를 확인한다. 즉, PK 값이 아닌 컬럼 (email)은 pk 값과 동일한 역할을 한다. 그러므로 email 컬럼에 인덱스를 적용하여 쿼리 성능을 측정해보려고 한다. 먼저 서버 환경에서 MariaDB 컨테이너 내부로 접속한다. MariaDB [voda]> select @@profiling; +-------------+ | @@profiling | +-------------+ | 0 | +-------------+ 1 row in set (0.000 sec) MariaDB [voda]> set profiling = 1; Query OK, 0 rows aff.. 기타/인프라 구축과정 2023. 4. 4. 이전 1 다음 반응형