본문 바로가기

IT 개발 관련/데이터 처리 및 DBMS

(3)
Python을 사용하여 Redis hash 데이터 추가하기 HashHash는 임의의 데이터에 대해 고정된 길이의 데이터로 매핑해주는 알고리즘이다.이 알고리즘이 적용된 함수는 치역 즉, 출력값의 범위가 정해져있으며, 아무리 큰 숫자, 긴 데이터를 넣는다고 하더라도 정해진 범위 내의 값을 출력한다.Hash 알고리즘의 특성상 입력의 범위(정의역)보다 출력값의 범위(치역)가 작기 때문에, 서로 다른 입력 값에도 동일한 값이 출력되는 경우도 존재할 수 밖에 없으며, 이러한 경우를 충돌한다고 한다. Hash table (= Hash Map)Hash 알고리즘을 사용하는 자료구조로, 데이터(대개 키-값 구조)를 저장함에 있어 Key를 입력하면 출력 hash 값을 Index(색인)로 사용하는 table 및 map이라고 할 수 있다.데이터를 저장하는 자료구조로서 빠른 검색, 빠른..
ELK Stack 개요 - ETL Tool ELK Stack이란?ElasticSearch, Logstash, Kibana의 세가지 프로젝트로 구성된 기술 스택을 의미하는 약어로,데이터 수집과 가공 기능을 제공하는 ETL (데이터 추출, 변환, 적재) tool이다.간단히 살펴보면,LogstashInput으로 설정된 각종 로그데이터 파일로부터 Logstash가 실시간으로 데이터를 수집Filter 단에서 Input에서 집계한 데이터를 분석하고 전처리하는 단계(ES에 들어가기 이전에 필요한 필드 값을 부여하거나, split 등 데이터를 수정)설정된 Output으로 (ES로 간다면, http://localhost:9200 혹은 외부 ES IP 주소) 데이터 전송ElasticSearchJava 기반의 분산 검색 엔진으로, RDB와 다른 역-인덱싱 구조를 바..
Redis 개념 정리 Redis (Remote Dictionary Server)In-memory DBMS로 주로 메모리 내에 DB 데이터가 저장되며, 이를 통해 빠른 조회 및 쓰기를 지원하는 기능을 갖고 있다. 키-값 데이터 구조에 기반한 다양한 자료 구조를 지원하고, 비동기 처리 및 분산 처리를 위한 기능을 제공하기에 고성능 시스템에서 널리 쓰이고 있다.Redis는 빠른 읽기 및 쓰기 성능을 가지고 있기에 웹 애플리케이션 데이터 캐싱 용도로 자주 쓰인다. 또한, 사용자 세션을 저장하는 용도로도 많이 사용되는 등 목적에 따라 다양하게 쓰이지만, 인 메모리 DBMS 특성상 문제로 데이터를 주기적으로 저장하기 때문에 데이터에 부분적으로 손실이 발생할 수 있다.다만 그렇다고 해서 Memcached와 착각하면 안되는게, Redis는..