전체 글
-
1장 - 도메인 모델 시작하기📕 book/도메인 주도 개발 시작하기 2022. 10. 4. 22:12
도메인 도메인은 여러 하위 도메인으로 구성된다. 한 하위 도메인은 다른 하위 도메인과 연동하여 완전한 기능을 제공 ex) 고객이 물건을 구매 주문, 결제, 배송, 혜택 하위 도메인의 기능이 엮이게 된다. 특정 도메인을 위한 소프트웨어라고 해서 도메인이 제공해야 할 모든 기능을 직접 구현하는 것은 아니다. 도메인마다 고정된 하위 도메인이 존재하는 것은 아니다. 하위 도메인을 어떻게 구성할지 여부는 상황에 따라 달라진다. 도메인 전문가와 개발자 간 지식 공유 전문가 해당 도메인에 대한 지식과 경험을 바탕으로 본인들이 원하는 기능 개발을 요구 개발자 전문가의 요구사항을 분석하고 설계하여 코드를 작성하며 테스트하고 배포한다. 요구사항을 올바르게 이해하는 것이 중요하다. “Garbage in, Garbage ou..
-
Mac에 Hadoop 설치 / 실행 해보기💾 big data/🐘 hadoop 2022. 10. 3. 17:24
Install / Setting $ wget 수정해야 하는 파일들 hadoop-env.sh (하둡 사용) core-site.xml (Pseudo-Distributed Mode) hdfs-site.xml (Pseudo-Distributed Mode) mapred-site.xml (yarn) yarn-site.xml (yarn) Pseudo-Distributed Mode??? 각 하둡 daemon이 각각의 분리된 Java 프로세스에서 실행되는 모드 standalone 모드와 다르게 가상으로 분산시스템을 경험할 수 있다. hadoop-env.sh $ vi hadoop-env.sh ## Java 경로 설정 export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0..
-
Elasticsearch + Springboot🔍 elastic search 2022. 9. 27. 15:34
Docker-compose로 Elasticsearch 설치 compose 파일 생성 vi elasticsearch.yml version: '3.7' services: es: image: docker.elastic.co/elasticsearch/elasticsearch:7.15.2 container_name: elasticsearch environment: - node.name=single-node - cluster.name=beomsic - discovery.type=single-node ports: - 9200:9200 - 9300:9300 networks: - es-bridge kibana: container_name: kibana image: docker.elastic.co/kibana/kibana..
-
ES - Aggregations🔍 elastic search 2022. 9. 22. 17:23
Aggregations Elasticsearch는 검색엔진 뿐 아니라 로그 분석 을 비롯한 다양한 목적의 데이터 시스템으로 사용되고 있다. 이렇게 활용이 가능한 이유는 데이터를 단순히 검색할 뿐 아니라 여러가지 연산을 할 수 있는 Aggregation 기능이 있기 때문이다. Kibana 에서 바 차트, 파이 차트 등으로 데이터를 시각화 할 수 있는데 여기서 Aggregation 기능을 사용 aggregation은 번역하면 “집계” 라는 뜻이지만, ES에서는 원문대로 aggregation 혹은 애그리게이션으로 많이 표현. 크게 세 종류 Metrics Aggregations Bucket Aggregations Pipeline Aggregations Metrics Aggregations 필드 값에서 합계 또는..
-
ES - 텍스트 분석🔍 elastic search 2022. 9. 22. 13:53
역색인 구조 Elasticsearch는 역색인 구조를 사용해 데이터를 빠르게 검색할 수 있다. 각 문서의 text를 term으로 분할하고, term 들을 도큐먼트와 매핑 특정 키워드(term)로 포함하고 있는 문서들에 대한 Primary Key를 맵핑하는 인덱스 테이블 생성 인덱스 테이블을 활용하여 빠른 문서 탐색이 가능하다. 주로 BTree, Trie, Hash Table 등의 자료구조를 활용하여 구현 단점 영어의 경우 대소문자를 다른 텍스트로 인지한다. 복수형과 단수형이 동일하게 검색되지 않는다. jump, leap는 같은 의미지만 다른 텍스트로 인지 → 텍스트 분석을 통해 해결 텍스트 분석 Elasticsearch는 문자열 필드가 저장될 때 데이터에서 검색어 토큰을 저장하기 위해 여러 단계의 처리 ..
-
ES - 데이터 검색🔍 elastic search 2022. 9. 21. 19:55
ES는 검색에 사용하기 위한 데이터를 저장할 때 Term 으로 분석 과정을 거쳐 저장하기 때문에 검색 시, 대소문자, 단수나 복수, 원형 여부와 상관없이 검색이 가능하다. 이러한 특징을 Full Text Search ( = 전문 검색) 이라고 한다. Query DSL Elasticsearch는 검색을 위한 쿼리 기능을 제공 이런 데이터 시스템에서 제공하는 쿼리 기능을 Query DSL(Domain Specific Language) 이라고 이야기 한다. Elasticsearch의 Query DSL은 모두 JSON 형식으로 입력 검색 API를 사용해 Elastic search 데이터 스트림 또는 인덱스에 저장된 데이터를 검색하고 집계할 수 있다. API 쿼리 요청 본문 매개 변수는 Query DSL로 작성된..
-
ES - 기본 API🔍 elastic search 2022. 9. 21. 19:42
Index, Type, Document에 대한 CRUD API Index - RDBMS의 database 같은 개념 Type - RDBMS의 table 개념 Document - RDMBS의 ROW 같은 개념 입력 (PUT) 데이터 입력시 PUT 메서드를 이용 조회 (GET) GET 메서드로 가져올 도큐먼트의 URL을 입력시 도큐먼트의 내용을 가져온다. 삭제 (DELETE) DELETE 메서드를 이용해서 도큐먼트 또는 인덱스 단위의 삭제가 가능 수정 (POST) POST 메서드는 PUT 메서드와 유사하게 데이터 입력에 사용 가능 도큐먼트 id 의 자동 생성은 PUT 메서드로는 동작하지 않는다. ES API 구조 💡 http://://_doc/ 인덱스 클러스터에 존재하는 모든 index 조회 curl -XG..
-
Docker로 ES 설치하기🔍 elastic search 2022. 9. 21. 19:34
ES를 설치하는 방법 컴퓨터에 직접 ES 설치 docker를 사용해서 ES 설치 docker를 사용하면 elasticsearch, kibana 를 설치한 이미지를 내려받기만 하면 관련 서버를 손쉽게 구성할 수 있다. docker에 ES 설치하기 ES 이미지 다운로드 docker pull elasticsearch:{version} docker 이미지가 정상적으로 다운되었는지 확인 docker images elasticsearch가 있으면 정상적으로 설치가 된것이다. Docker 실행 ES 이미지를 정상적으로 받으면, docker 명령어를 통해 컨테이너를 실행 docker run -d -p 9200:9200 -p 9300:9300 -e "discover.type=single-node" --name elast..