이번 포스팅은 사내에서 Elasticsearch 관련 내용 발표를 위해 "시작하세요! 엘라스틱서치"서적을 기반으로 학습하고 이해한 내용을 정리하는 포스팅이다. Elasticsearch 역시 내용이 많기 때문에 시리즈로 나눠서 정리할 예정이다. 모든 내용은 Elasticsearch 7.6 버전 기준이다. 오늘은 Elasticsearch 의 Analyzer 에 대해서 알아볼 예정이다. 분석(Analyzer) Elasticsearch 는 색인(Indexing) 할 때 입력된 데이터는 텀(term) 으로 추출하기 위한 과정을 거치는데 이 과정을 Analyzer 라고 한다. Analyzer 는 하나의 Tokenizer 와 0 개 이상의 Token Filter 로 구성되어 있다. Tokenizer 는 입력된 데이터..
이번 포스팅은 사내에서 Elasticsearch 관련 내용 발표를 위해 "시작하세요! 엘라스틱서치"서적을 기반으로 학습하고 이해한 내용을 정리하는 포스팅이다. Elasticsearch 역시 내용이 많기 때문에 시리즈로 나눠서 정리할 예정이다. 모든 내용은 Elasticsearch 7.6 버전 기준이다. 오늘은 Elasticsearch 의 Mapping 에 대해서 알아볼 예정이다. 매핑(Mapping) Mapping 은 Elasticsearch 에서 데이터의 저장 형태와 검색을 위해 해당 데이터를 어떻게 접근하고 처리하는지에 대한 명세이다. Elasticsearch 에서 Mapping 을 설정하는 방법은 크게 2가지가 있다. 첫 번째는 Index 를 생성하면서 Mapping 을 설정하는 방법이고, 두 번째..
이번 포스팅은 사내에서 Elasticsearch 관련 내용 발표를 위해 "시작하세요! 엘라스틱서치"서적을 기반으로 학습하고 이해한 내용을 정리하는 포스팅이다. Elasticsearch 역시 내용이 많기 때문에 시리즈로 나눠서 정리할 예정이다. 모든 내용은 Elasticsearch 7.6 버전 기준이다. 오늘은 Elasticsearch 의 Aggregation 을 알아볼 예정이다. 어그리게이션(Aggregation) Aggregation 은 검색결과에 다양한 연산을 적용해서 출력하는 기능을 지원하기 위해 개발된 모듈이며 크게 버킷(bucket) 과 메트릭(metric) 어그리게이션으로 구분된다. 버킷 어그리게이션(bucket aggregation) bucket aggregation 은 주어진 조건에 해당하..
이번 포스팅은 사내에서 Elasticsearch 관련 내용 발표를 위해 "시작하세요! 엘라스틱서치"서적을 기반으로 학습하고 이해한 내용을 정리하는 포스팅이다. Elasticsearch 역시 내용이 많기 때문에 시리즈로 나눠서 정리할 예정이다. 모든 내용은 Elasticsearch 7.6 버전 기준이다. 오늘은 Elasticsearch 의 검색방법중 QueryDSL(Domain Specific Language) 을 알아볼 예정이다. QueryDSL Elasticsearch 에서 Query DSL을 이용해서 데이터를 찾는 기능은 크게 Query 와 Filter 를 이용한 방법으로 나뉜다. Query 와 Filter 모두 JSON 형식이며 둘의 차이점은 다음과 같다. 자세한 내용은 여기에서 확인 할 수 있다...
이번 포스팅은 사내에서 Elasticsearch 관련 내용 발표를 위해 "시작하세요! 엘라스틱서치"서적을 기반으로 학습하고 이해한 내용을 정리하는 포스팅이다. Elasticsearch 역시 내용이 많기 때문에 시리즈로 나눠서 정리할 예정이다. 모든 내용은 Elasticsearch 7.6 버전 기준이다. 오늘은 Elasticsearch 를 이용한 데이터 처리방법에 대해서 알아볼 예정이다. Elasticsearch 환경구축 본격적으로 Elasticsearch 를 사용해보기 전에 우선은 Docker 를 이용해서 간단하게 환경을 구축해보자. 다음과 같은 명령어로 Elasticsearch Image 를 Pull 받는다. docker pull elasticsearch:7.6.2 그 후, 이미지 기반으로 컨테이너를 ..
오랜만에 포스팅이다. 이번 포스팅은 사내에서 Elasticsearch 관련 내용 발표를 위해 "시작하세요! 엘라스틱서치"서적을 기반으로 학습하고 이해한 내용을 정리하는 포스팅이다. 사내에서는 이미 ELK 스택 을 구성해서 Elasticsearch를 사용하고 있지만 Kibana를 이용해서 필요한 정보를 검색만 했지 Elasticsearch 에 대해서는 따로 학습해본 적이 없었기 때문에 이번이 좋은 기회였다. Elasticsearch 역시 내용이 많기 때문에 시리즈로 나눠서 정리할 예정이다. 시리즈가 잘 마무리 되면 사내에 공유도 할 예정이다. Elasticsearch 개념 우선 Elasticsearch 가 무엇인지 개념부터 확인해 보자. 공식사이트와 위키에서 조회하면 다음과 같은 내용이 나온다. "Elas..
이번 포스팅은 사내에서 MySQL 관련 내용 발표를 위해 Real MySQL(http://wikibook.co.kr/real-mysql/) 서적을 기반으로 학습하고 이해한 내용을 정리하는 포스팅이다. 포스팅에서는 주로 InnoDB 스토리지 엔진을 기준으로 설명할 예정이다. MySQL 시리즈의 마지막 포스팅이다.이번에는 쿼리최적화에 대해서 알아볼 예정이고 오늘은 그중에서도 서브쿼리를 사용하려면 알아야 하는 정보에 대해서 알아볼 예정이다. 서브쿼리쿼리를 작성할 때 서브 쿼리를 사용하면 단위 처리별로 쿼리를독립시킬 수 있다. 조인처럼 여러 테이블을 섞어두는 형태가 아니라서 쿼리의 가독성도 높아지고, 복잡한 쿼리도 손쉽게 작성할 수 있다. 서브쿼리는 외부 쿼리에서 정의된 컬럼을 참조하는지 여부에 따라 상관 서브..
이번 포스팅은 사내에서 MySQL 관련 내용 발표를 위해 Real MySQL(http://wikibook.co.kr/real-mysql/) 서적을 기반으로 학습하고 이해한 내용을 정리하는 포스팅이다. 포스팅에서는 주로 InnoDB 스토리지 엔진을 기준으로 설명할 예정이다. MySQL 역시 내용이 많기 때문에 시리즈로 나눠서 정리할 예정이다.이번에는 쿼리최적화에 대해서 알아볼 예정이고 오늘은 그중에서도 JOIN을 사용하려면 알아야 하는 정보에 대해서 알아볼 예정이다. JOIN 의 순서와 인덱스조인을 살펴보기 전에 인덱스 레인지 스캔으로 레코드를 읽는 작업을 다시 한번 살펴보자.인덱스에서 조건을 만족하는 값이 지정된 위치를 찾는다. 이 과정을 인덱스탐색(index seek) 이라고 한다. 1번에서 탐색된 위..
이번 포스팅은 사내에서 MySQL 관련 내용 발표를 위해 Real MySQL(http://wikibook.co.kr/real-mysql/) 서적을 기반으로 학습하고 이해한 내용을 정리하는 포스팅이다. 포스팅에서는 주로 InnoDB 스토리지 엔진을 기준으로 설명할 예정이다. MySQL 역시 내용이 많기 때문에 시리즈로 나눠서 정리할 예정이다.이번에는 쿼리최적화에 대해서 알아볼 예정이고 오늘은 그중에서도 WHERE 조건과 GROUP BY, ORDER BY를 이용하는 SELECT 쿼리를 사용할때 인덱스를 사용하려면 알아야 하는 정보에 대해서 알아볼 예정이다. SELECT 각 절의 처리 순서아래와 같은 쿼리를 보자. SELECT s.emp_no, COUNT(DISTINCT e.first_name) AS cnt ..
이번 포스팅은 사내에서 MySQL 관련 내용 발표를 위해 Real MySQL(http://wikibook.co.kr/real-mysql/) 서적을 기반으로 학습하고 이해한 내용을 정리하는 포스팅이다. 포스팅에서는 주로 InnoDB 스토리지 엔진을 기준으로 설명할 예정이다. MySQL 역시 내용이 많기 때문에 시리즈로 나눠서 정리할 예정이다. 이번에는 쿼리최적화에 대해서 알아볼 예정이고 오늘은 그중에서도 MySQL 연산자와 내장함수를 사용할때의 알아두면 좋은 정보에 대해서 알아볼 예정이다. 숫자 숫자 값과 문자열 값을 비교할때는 한 가지 주의할 사항이 있다. 서로 다른 타입으로 WHERE 조건 비교가 수행되는 다음 쿼리를 잠깐살펴보자. SELECT * FROM tab_test WHERE number_col..
- Total
- Today
- Yesterday
- 넥스트 키 락
- autoload_paths
- MySQL 족보
- metaprogramming
- 되추적
- 루비 메타프로그래밍
- innoDB lock
- 트랜잭션
- db
- dead lock
- ruby
- Autoloading
- mysql lock
- 메타프로그래밍
- MySQL
- 인덱스
- next key lock
- 루비 상수
- 페어 프로그래밍
- Pair-programming
- 엘라스틱서치 기초
- lock
- 루비
- InnoDB
- Elasticsearch Cluster
- 갭 락
- gap lock
- MySQL 인덱스
- 페어프로그래밍
- ruby meta programming
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |