목록Database (31)
without haste but without rest
Reference ElasticSearch 모든 검색 엔진의 시초는 Lucene(루씬)이다. 엘라스틱 서치는 아파치 루씬을 기반으로 하는 준 실시간 분산 검색 엔진이다. JSON 기반의 비정형 데이터 분산 검색 및 분석을 지원한다. 준 실시간 검색 서비스, 분산 및 병렬처리 그리고 멀티 테넌시 기능을 제공하고 다양한 기능을 플러그인 형태로 구현하여 적용할 수 있는 것이 특징이다. 클러스터로 구성 가능하므로 검색 대상의 용량이 증가하면 수평적으로 확장할 수 있다. 엘라스틱서치는 웹 문서 검색, 소셜 데이터 분석, 쇼핑몰 검색 등에 활용되고 있고, 빅데이터 분석/처리 및 MSA 환경의 로그 모니터링 등에도 활용되고 있다. 1. Inverted Index(역색인) 일반적으로 색인의 목적은 문서의 위치에 대한 ..
1. 데이터베이스 여러 사람이 사용할 목적으로 통합 관리하는 데이터 집합으로, 데이터를 효율적으로 저장하고 빠르게 검색하기 위해 사용한다. 데이터의 저장, 접근, 갱신 효율성을 높이기 위해서 데이터를 저장하는 데이터 파일 그리고 인덱스를 저장하는 인덱스 파일을 분리하여 관리한다. (인덱스는 메타 데이터를 저장한다. 메타데이터: 데이터에 대한 구조화된 데이터로, 특정 데이터를 설명해주는 데이터) 2. 데이터베이스 관리시스템 데이터베이스를 효율적으로 활용하기 위한 소프트웨어로, 트랜잭션의 ACID를 보장한다. 원자성(Atomicity): 트랜잭션이 부분적으로 실행되다가 중단되지 않는 것을 보장 일관성(Consistency): 트랜잭션이 성공적으로 완료되면 언제나 일관성 있는 데이터베이스 상태를 유지 독립성(..
단일 필드 client = Elasticsearch(host="server:9200") result = client.search( index = "news-test", query = { "match": { "@timestamp": "20210929", } } ) 다중 필드 조건 client = Elasticsearch(host="server:9200") result = client.search( index = "news-test", query = { "bool": { "must": [ {"match": {"@timestamp": "20210929"}}, {"match": {"subject": "엘라스틱서치"}}, ] } } )
프로젝트 진행 중 엘라스틱 서치와 키바나를 활용해보던 중에 이전 버전에서는 뜨지 않던 경고 문구가 뜨는데, 상당히 거슬리고 여러번 올라온다. 검색 해보니 7.13버전에서부터 추가되었다고 한다. How to disable Kibana security warning message Here a snapshot of the Stack Management mentioned at Securing access to Kibana | Kibana Guide [7.13] | Elastic where I cannot find the Secure > Roles section nor the Secure > Users section So, question -> How can I add users to Kibana 7.13 ? F..
network.host = 0.0.0.0 discovery.seed_hosts: ["127.0.0.1"] 씨드 호스트 위처럼 적용해주어야 정상 시작된다. 디폴트 포트도 같은데 왜 적용이 안되는 걸까..?
Introduction to Redis – Redis *Introduction to Redis Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hype redis.io 0. 개요 빠르게 레디스를 사용하고 경험해볼 수 있는 내용의 포스팅. 실습은 도커를 활용함. 레디스를 활용하면서 알게 된 팁이 생기면 해당 게시글에 추가적인 업데이트를 진행함 1. 레..
제일 자주쓰는 포맷 sudo docker run -itd \ --name mongo-express \ -p 8081:8081 \ -e ME_CONFIG_MONGODB_SERVER="host" \ -e ME_CONFIG_MONGODB_PORT=27017 \ -e ME_CONFIG_MONGODB_ADMINUSERNAME="root" \ -e ME_CONFIG_MONGODB_ADMINPASSWORD="password" \ mongo-express 몽고디비 옵션은 -e ME_CONFIG_MONGODB_SERVER 와 같이 파라미터 값만 붙여주면된다. 더 자세한 정보는 docker hub mongo-express 이미지 참조
업무 중 레플리카 셋의 primary 노드의 dns가 변경되어야 하는 이슈가 있었다. 아무래도 dns기준으로 인프라를 구축할 때가 많아서 ip가 아닌 dns가 변경되면 분산 디비 운영하는 입장에서 난감하다.. 몽고 디비는 어떻게 처리를 해야할까 고민을 하다가 다음과 같이 처리했다. dns가 변경된 몽고 디비를 A라고 하겠다. 1. A를 primary에서 secondary로 변경 / rs.stepDown() 2. 변경된 primary에서 A를 제거 rs.remove("A:27017") 3. A 재시작 4. 변경된 primary에서 A를 추가 rs.add("A:27017") 5. 변경되어있는 primeary에서 rs.stepDown() 6. A가 Primary 가 될 때까지 반복.. 세컨더리 노드를 지정해서..