300x250
반응형

분류 전체보기 197

[ElasticSearch] 검색( search) API 사용법과 Query DSL 요약 정리

사전 지식 Elasticsearch는 검색을 위한 REST API를 제공한다. 검색은 인덱스(Index) 또는 타입(Type) 단위로 수행할 수 있다. 검색 결과는 JSON 형식으로 반환한다. 💻 터미널에서 curl을 이용해서 검색 요청 # 검색 요청 샘플 살펴보기 $ curl 'http://127.0.0.1:9200/books/_search?q=title:awesome&pretty' ### 결과 { "took": 5, # 검색에 소요된 시간(ms) "_shard": { # 샤드 정보 "total": 2, "successful": 2, "failed": 0 }, "hits": { "total": 1, # 결과 개수 "max_score": 0.3708323, # 검색 결과 중 가장 높은 스코어 "hits"..

DB/ElasticSearch 2023.02.09

[ElasticSearch]Logstash jdbc 연결(MSSQL)

Logstash 를 통해 간단하기 DB에 있는 내용을 ES(ElasticSearch)로 색인하기 현재 내부적으로 전처리를 해야 할 부분이 많기에 Java로 수집기를 만들어서 사용하고 있다. ES가 유행하기 전에 수집기를 Java기반으로 만들어서 사용을 해서 편하게 사용을 했으나 ES에서 logstash를 수집기를 패키지화(?)하여 배포하고 있다. 1. Logstash 다운로드 받는다. (2.X 버젼 사용) 2. logstash.conf 파일을 설정한다. 여러가지 고려를 많이 해야겠지만 현재 table 전체 데이터를 ES에 생성한다. logstash.conf input { jdbc { jdbc_driver_library => "sqljdbc4.jar" jdbc_driver_class => "com.micr..

DB/ElasticSearch 2023.02.09

[ElasticSearch] ELK 사용하여 로그분석 시스템 만들기 (MS-SQL 연동)

Mssql에 쌓이는 로그들을 분석하기 위한 시스템 구축 구성요소 설치 대상 서버 : Windows Server 2012 R2 VersionRole Logstash 7.11 로그 수집, Parsing, Indexing Elasticsearch 7.11 데이터 저장, 분석, 검색 엔진 Kibana 7.11 시각화 도구 MSSQL JDBC Driver 7.2 Java프로그램에서 MSSQL 접근을 위한 프로그램 ELK 7 Version 사용 이유 ELK 7 Version은 OpenJDK가 Bundle로 구성되어 사용가능함Oracle JAVA 사용할 필요가 없음!! 무료버전에서 핵심 보안 기능 제공 암호화된 통신 역할 기반 액세스 제어 자세한 내용은 Elastic Stack 구독 페이지 참고 Alert 기능의 부..

DB/ElasticSearch 2023.02.09

[ElasticSearch] 기본 개념과 특징(장단점) + 써야 하는 8가지 이유

Lucene 검색엔진의 시초, Lucene 모든 검색엔진의 시초는 루씬(Lucene). 더그 커팅이 고안한 역색인(Inverted Index) 구조인 아파치 루씬을 기반으로 분산처리를 가능하게 한 아파치 솔라(Solr)가 등장해서 검색엔진 시장을 장악했고, 몇 년 후에 역시 루씬을 기반으로 한 Elastic Search가 등장해 지금은 검색엔진 분야에서 지배적인 위치에 있다. 서치엔진 순위 트렌드. 2016년 무렵부터 ES가 가장 많이 사용되고 있다.(https://db-engines.com/en/ranking_trend/search+engine) ES와 RDBMS 조금 더 쉬운 개념 파악을 위해서 ES에서 사용되는 데이터 구조를 RDBMS에 대응해보면 다음과 같이 맵핑된다. 데이터 구조 Elastic ..

DB/ElasticSearch 2023.02.09

[ElasticSearch] 엘라스틱서치 ( elasticsearch ) 인덱스 생성, CRUD , ...

#엘라스틱서치 ( #elasticsearch ) 에 #인덱스 를 생성하고 #매핑 을 설정한 후 실제로 데이터를 insert, delete, select 등을 해봅시다. ​ 엘라스틱서치가 DB 이지만 일반 DB와 다른 용어를 사용하기에 용어정리를 잠깐 하겠습니다. 일반 RDB 엘라스틱서치 비고 Database, table index , type 일반 RDB는 하나의 Database 내에 여러개의 table을 가질수 있으나, 엘라스틱서치 6 (?)부터는 index당 오직 하나의 type 만 가질수 있습니다. 엘라스틱서치 7 에서는 일부 명령어에 type 부분을 생략하는게 디폴트로 되어 있습니다. row document column field schema mapping name: varchar age: int..

DB/ElasticSearch 2023.02.09

[Kubernetes] 3. CNI란? (Container Network Interface)

이번 글에서는 쿠버네티스를 설치하기 전에 간략하게 CNI(Container Network Interface)에 대하여 알아보겠습니다. 무작정 문서대로 설치만 하기 보다는 내가 설치하는 애가 무엇인지 알고 가는게 좋을거 같아 글을 쓰게 됐습니다. CNI 란? CNCF(Cloud Native Computing Foundation)의 프로젝트 중 하나인 CNI는 컨테이너 간의 네트워킹을 제어할 수 있는 플러그인을 만들기 위한 표준입니다. 다양한 형태의 컨테이너 런타임과 오케스트레이터 사이의 네트워크 계층을 구현하는 방식이 다양하게 분리되어 각자만의 방식으로 발전하게 되는 것을 방지하고 공통된 인터페이스를 제공하기 만들어 졌습니다. 쿠버네티스에서는 Pod 간의 통신을 위해서 CNI 를 사용합니다. 쿠버네티스 뿐..

[Kubernetes] 2. 쿠버네티스 설치 유형

이번 글에서는 쿠버네티스를 설치하기 전에 다양한 쿠버네티스 설치 방법에 대해 알아보려고 합니다. 쿠버네티스는 용도에 따라서 아래와 같이 설치 툴의 종류가 달라집니다. 개발 용도의 쿠버네티스 설치 Minikube Docker for Mac / Windows에 내장된 쿠버네티스 서비스 테스트 또는 운영 용도의 쿠버네티스 설치 kops kubespray kubeadm EKS, GKE, AKS 등의 관리형 서비스 * Minikube Minikube는 가벼운 쿠버네티스 구현체이며, 로컬 머신에 VM을 만들고 하나의 노드로 구성된 간단한 클러스터를 생성한다. Minikube는 리눅스, 맥, 그리고 윈도우 시스템에서 구동이 가능하다. Minikube CLI는 클러스터에 대해 시작, 중지, 상태 조회 및 삭제 등의 기..

[Kubernetes] 1. 쿠버네티스란?

쿠버네티스는 요즘 표준으로 사용되고 있는 컨테이너 오케스트레이션 도구입니다. 1.1 여기서 오케스트레이션이 무엇이냐.. 위 그림을 보시면 수많은 악기를 다루는 연주자 분들이 계십니다. 그림의 계단을 기준으로 앞(Front) 쪽에는 현악기, 뒤(Back) 쪽에는 주로 관악기/타악기들이 배치되어 있으며 그중, 가운데에는 이 모든 연주자들을 제어(Control)하는 지휘자가 있습니다. 이러한 악기들의 자리 배치는 누가 한 것일까요..? 바로 지휘자가 이 음악에 가장 잘 어울리는 악기들의 갯수, 배치, 구조 등을 고려하여 최적의 연주를 지휘하는 것입니다. 이것을 바로 오케스트레이션이라 합니다. 1.2 그럼 컨테이너 오케스트레이션이 무엇이냐.. 컨테이너 오케스트레이션은 말 그대로 컨테이너라는 악기를 가장 효율적이..

[ElasticSearch] ELK(ElasticSearch, Logstash, Kibana) 란? ELK Stack 이란?

1. ELK 란? 현재 4차산업시대에서 데이터는 가장 중요한 자산중 하나로 손꼽힌다. 빅 데이터는 통상적으로 사용되는 데이터 수집, 관리 및 처리 소프트웨어의 수용 한계를 넘어서는 크기의 데이터를 말한다. 빅 데이터의 사이즈는 단일 데이터 집합의 크기가 수십 테라바이트에서 수 페타바이트에 이르며, 그 크기가 끊임없이 변화하는 것이 특징이다. ELK는 위 그림과 같이, 분석 및 저장 기능을 담당하는 ElasticSearch, 수집 기능을 하는 Logstash, 이를 시각화하는 도구인 Kibana의 앞글자만 딴 단어이다. ELK는 접근성과 용이성이 좋아 최근 가장 핫한 Log 및 데이터 분석 도구이다. 1) ElasticSearch - ElasticSearch는 Lucene 기반으로 개발한 분산 검색엔진으로..

DB/ElasticSearch 2023.02.06

[ElasticSearch]Logstash와 JDBC를 사용해 Elasticsearch와 관계형 데이터베이스의 동기화를 유지하는 방법

Elasticsearch가 제공하는 강력한 검색 기능을 활용하기 위해, 수많은 사업체들이 기존의 관계형 데이터베이스와 동시에 Elasticsearch를 배포하게 됩니다. 그러한 시나리오에서는, 연결된 관계형 데이터베이스에 저장된 데이터와 Elasticsearch의 동기화를 유지하는 것이 필요할 가능성이 큽니다. 따라서, 이 블로그 포스팅에서는 어떻게 Logstash를 이용해 효율적으로 관계형 데이터베이스에서 Elasticsearch로 레코드를 복사해 업데이트를 동기화하는지 보여드리려고 합니다. 여기에서 보여드리는 코드와 방법은 MySQL을 이용해 테스트되었지만, 이론적으로는 모든 RDBMS에서 작동해야 합니다. 시스템 구성 이 블로그에서는 다음으로 테스트를 진행했습니다. MySQL: 8.0.16. Ela..

DB/ElasticSearch 2023.02.06
300x250
반응형