본문 바로가기

분류 전체보기137

Elastic Search : Complete Guide to ElasticSearch - 클러스터링과 샤딩 [샤딩] 인덱스를 여러 개로 나눔. 인덱스 수준(RDB의 테이블 수준)에서 이뤄짐. 수평적 확장을 위해서 사용. ex) 하나의 인덱스가 600기가 / 하나의 노드 최대 용량이 500이면 어느 노드에도 담을 수 없음 이 때 샤드로 나눔. 샤드는 어떤 노드에도 배치할 수 있다. 다섯 개의 샤드가 있다고 해서 다섯 개의 개별 노드에 배치해야 하는 것은 아님. 각 샤드는 하나의 루씬 인덱스다. 즉, 5개의 샤드를 가진 일라스틱 서치 인덱스 한 개는 실제로 다섯 개의 루씬 인덱스로 이루어졌다. 샤딩의 장점 : 하나의 인덱스에 더 많은 문서를 담을 수 있으면서 노드에 더 적합하게 담길 수 있다. 7.0 전까지는 5개의 샤딩이 기본. -> 오버 샤딩이 문제가 되어서 + 인덱스 생성 이후에는 샤딩의 수를 바꿀 수 없어.. 2024. 1. 4.
Elastic Search : 엘라스틱 스택 개발부터 운영까지 - 2 3. 엘라스틱 서치 기본 분석기 : 역인덱스를 위해 문자열을 나누는 기준이 중요한데 이를 지원하기 위한 모듈 분석기의 구성 : 캐릭터 필터 (전처리 과정), 토크나이저(like 형태소 분리), 토큰 필터(후처리 과정) ex) standard, simple (숫자, 특수문자 제외 토큰화), whitespace(공백 기준 토큰화), stop (simple과 유사하지만 stop 필터 추가) 필터 캐릭터 필터 : 문자 전처리, 대부분의 제공되는 분석기에선 사용하지 않으므로 사용하고 싶으면 커스텀 분석기를 만들어 사용해야 함 토큰 필터 : 토크나이저에 의해 토큰화되어 있는 문자들에 필터를 적용 커스텀 분석기 필터 적용 순서 : [필터1, 필터2]로 구성되어 있으면 필터1 -> 필터2 순으로 적용됨. 소문자로 먼저.. 2024. 1. 3.
Elastic Search : 엘라스틱 스택 개발부터 운영까지 - 1 [엘라스틱 스택의 구성 요소] 엘라스틱 서치 루씬 기반으로 만들어짐. (루씬은 라이브러리 형태라 더 필요한 개발이 많았으나 엘라스틱서치는 애플리케이션) 전문 검색(full text search) 기능 제공 목적으로 등장하였으나 현재 빅데이터 플랫폼의 일부로 발전 중 루씬에서 제공하는 데이터 타입벼로 최적화된 자료구조 지원, 스코어링 등의 기능을 이어받아 강점이 있음. REST API 방식 (GET, POST. PUT, DELETE 로 사용) 로그스태시 오픈소스 데이터 수집 도구 비츠 무거운 로그스태시 대신 실제 서비스 호스트에 설치하기 좋은 수집기. (로그스태시 수준의 이벤트 가공은 지원하지 않음.) 흔히 비츠에서 각 서비스 호스트의 정보를 수집하고 로그스태시에서 이를 취합하고 가공해 엘라스틱 서치로 전.. 2024. 1. 3.
AWS DNA 5기 : Data Analytics 참여 후기 AWS DNA 5기에 좋은 기회로 참여하게 되었다. AWS DNA는 AWS에서 제공하는 교육 프로그램인데, 회사에 재직 중인 개발자를 대상으로 AWS의 다양한 프로덕트를 소개하고 더 잘 활용하는 방법을 안내해주는 교육이다. 4기와는 다르게 5기는 회사 단위로 참여할 수 있었고, 사내에서 해당 정보를 공유해주셔서 늦지 않게 지원할 수 있었다. AWS DNA 5기 온라인 설명회 AWS DNA 5기 온라인 설명회 pages.awscloud.com 5기의 주제는 Data Analytics 였는데, 사실 분석과 관련한 내용보다도 데이터 엔지니어링 관련한 주제가 많이 담겨있었기에 우리 팀이 회사 대표(?)로 참여하게 되었다. 다음 기수에는 또 다른 주제로 진행된다고 하니, 관심 있다면 6기 공지를 기다려보는 것도 .. 2023. 9. 21.
[스프링 뉴스] 스프링부트 3.2.0-M1 / 스프링 프레임워크 6.1-M4 배포 보호되어 있는 글 입니다. 2023. 8. 21.
데이터 중심 어플리케이션 설계 - 9장. 일관성과 합의 개인적으로 9장 내용은 많으면서 쉽지 않기도 했고, 실제 라이브러리나 DB의 구현 내용을 살펴보는 것들이라 당장에 써먹을 만한 점들이나 적합한 사례들을 찾으면서 공부할 수 없어서 다소 어렵게 느껴졌다. (책 내용이 다소 미괄적인 것도 한 몫 했다) 학습 목표 : 내결함성을 지닌 분산 시스템을 구축하는 데 쓰이는 알고리즘과 프로토콜의 몇 가지 예를 알아보고 결함을 견뎌낼 방법을 찾는다. (분산 시스템에서 제공될 수 있는 보장과 추상화의 범위를 알아보고 합의와 합의 관련 문제를 해결하는 알고리즘을 살핀다.) 일관성 보장 복제 DB는 대부분 최소한 최종적 일관성을 제공. (= DB에 쓰기를 멈추고 불특정 시간 동안 기다리면 결국 모든 읽기 요청이 같은 값을 반환한다) → 불일치는 일시적, 결국 스스로 해소. .. 2023. 7. 28.