250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- execute
- SQL프로그래밍
- 즉시로딩
- querydsl
- 백트래킹
- CHECK OPTION
- 지연로딩
- 데코레이터
- eager
- shared lock
- 스프링 폼
- 낙관적락
- 다대다
- 동적sql
- 힙
- fetch
- BOJ
- FetchType
- exclusive lock
- 다대일
- PS
- 비관적락
- 연관관계
- 연결리스트
- 일대다
- JPQL
- dfs
- 스토어드 프로시저
- 유니크제약조건
- 이진탐색
Archives
- Today
- Total
흰 스타렉스에서 내가 내리지
1. Elastic Stack 구축 본문
728x90
Elastic Stack
- Elastic Stack은 어떤 하나의 통합된 솔루션이 아니라 4개의 product로 구성되어 있는 하나의 stack 이다.
- 기존에는 ElasticSearch + Logstash + Kibana를 ELK라는 서비스명으로 제공하였으나, 5.0.0버전부터 Beats가 추가되어 Elastic Stack이라는 이름으로 변경되었다고 한다.
ELK
- Elasticsearch :
- 대량의 데이터를 신속하고 거의 실시간으로 저장, 검색 및 분석
- 일반적으로 복잡한 검색 기능과 요구 사항이 있는 응용 프로그램을 구동하는 기본 엔진 / 기술
- Logstash : 여러 소스에 동시에 데이터를 수집하여 변환한 후 Elasticsearch 같은 “stash”로 전송하는 서버 사이드 데이터 처리 파이프라인
- Kibana : 사용자가 Elasticsearch에서 차트와 그래프를 이용해 데이터를 시각화
- Beats : 데이터 수집 기능
용어
- Near Realtime (NRT)
- Elastic Search는 거의 실시간 검색 플랫폼
- 문서를 색인할 때부터 검색 기능할 때까지 약간의 대기시간(일반적으로 1초)이 매우 짧음
- 클러스터(Cluster)
- 전체 데이터를 함께 보유하고 모든 노드에서 연합 인덱싱 및 검색 기능을 제공하는 하나 이상의 노드(서버) 모음 -> 노드의 그룹이라고 생각
- 클러스터는 기본적으로 elasticsearch 라는 고유한 이름으로 식별
- 이 이름은 노드가 이름으로 클러스터에 참여하도록 설정된 경우 노드가 클러스터의 일부일 수 있기 때문에 중요
- 노드(Node)
- 노드는 클러스터의 일부이며 데이터를 저장하고 클러스터의 인덱싱 및 검색 기능에 참여하는 단일 서버
- 단일 클러스터에서 원하는 만큼 노드를 소유 가능
- 현재 네트워크에서 실행중인 다른 Elasticsearch 노드가 없는 경우 단일 노드를 시작하면 기본적으로 elaticsearch라는 새로운 단일 노드 클러스터가 생성
- 색인(index)
- 색인은 다소 유사한 특성을 갖는 문서의 컬렉션
- 색인은 이름(모두 소문자여야함)으로 식별되며 이 이름은 색인 작성, 검색, 갱신 및 삭제할 때 색인을 참조하는데 사용
- RDB 관점에서 보면 DB에 해당
- Type
- 다른 종류의 data들을 같은 index에 저장하게 해주는 index의 ‘논리적인’ 부분을 의미
- 7.x 버전부터 해당 개념이 전체 삭제 -> deprecated
- RDB 관점에서 보면 Table에 해당
- Documments
- 문서는 색인을 생성할 수 있는 기본 정보 단위
- JSON으로 표현
- RDB 관점에서 Record
- Shards
- 데이터를 분산해서 저장하는 방법을 의미합니다.
- Scale-Out을 위해 RDB의 Database에 해당하는 Index를 여러 Shard로 쪼갭니다.
- 기본적으로 1개가 존재하며, 검색 성능 향상을 위해 클러스터의 Shard 개수를 조정할 수 있습니다.
- Replicas
- 또 다른 형태의 Shard를 의미합니다.
- 노드를 손실했을 경우, 데이터의 신뢰성을 위해 Shard를 복제하는 것입니다.
- 따라서 Replica는 서로 다른 노드에 위치시킬 것을 권장하고 있습니다.
...