mongoDB - Time-Series Collection 와 Aggregation Pipeline
·
Storage/MongoDB
[ Time-Series Collection ] 1. 개요MongoDB 5.0부터 도입된 시계열 전용 컬렉션 타입입니다. “같은 시계열(센서·채널 등)에 속하는 여러 측정값을‘버킷(bucket)’이라는 큰 문서에 압축·열 지향 포맷으로 묶어서 보관해쓰기·저장·조회 효율을 극대화한 컬렉션” 입니다. 필수 필드timeField : 시간 값(ISODate)metaField : 동일 시계열을 구분하는 태그(ID·채널·센서 등, 선택)추가 옵션granularity : 데이터 입력 주기 힌트("seconds", "minutes", "hours")TTL·샤딩도 그대로 사용 가능 2. 간단한 구조 살펴보기예시 시나리오 : YouTube 라이브 채널에서 1초마다 “동시시청자(viewers)” 수치를 수집1) 컬렉션 생성..
Redis - 동기 vs 비동기 명령어
·
Storage/Redis
Redis 주요 동기(Synchronous) 명령어명령어 실행시 Redis 메인 스레드가 차단, 블로킹(Blocking)명령어 처리 완료 후 클라이언트에 응답데이터 일관성 보장, 데이터 처리 완료 후 다음 명령어 처리Redis 비동기(Asynchronous) 명령어메인 스레드에서 키 참조를 즉시 해제하지만, 실제 메모리 해제는 백그라운드 스레드에서 처리대규모 데이터 삭제, 백업 작업 시 사용Redis 메인 스레드의 차단을 최소화하여 서비스 성능에 미치는 영향을 줄임 동기 / 비동기 사용 케이스 비교동기비동기작고 빠른 작업에 적합큰 데이터 삭제, 백그라운드 작업 시 적합메모리 부족 상황에서 즉시 메모리 회수메인 스레드 차단을 최소화데이터 일관성 보장서비스 중단 없이 대량 데이터 처리   동기 / 비동기 명..
Redis - Queue
·
Storage/Redis
QUEUERedis는 큐(queue) 자료 구조를 쉽게 구현할 수 있는 기능을 제공합니다. 일반적으로 Redis 큐는 리스트(list) 자료형을 사용하며, 비동기 메시징을 생산자(producer)와 소비자(consumer)정의하여 사용할 수 있습니다. LPUSH, RPOP, LRANGE# 한글 데이터를 보기 위해 --raw 옵션으로 cli 접속redis-cli --raw# 순서대로 데이터 pushLPUSH my_list '태스크1'LPUSH my_list '태스크2'LPUSH my_list '태스크3'# list 타입인 key생성 확인keys *>> "my_list"# list 타입의 데이터 확인LRANGE my_list 0 -1>>>태스크3태스크2태스크1# 데이터 popRPOP my_list>>> 태스..
RDBMS - Mysql Partitioning 파티셔닝
·
Storage/RDBMS
[ 개요 ]MySQL Partitioning은 큰 테이블을 논리적으로 작은 단위(파티션)로 나누어 관리하는 기술입니다. 테이블 데이터를 파티션 단위로 나누어 저장하여 데이터 처리 성능을 개선하고, 특정 쿼리를 최적화할 수 있습니다. [ 장단점 ] 장점성능 향상 :데이터가 파티션 단위로 분리되어 저장되므로 특정 파티션에만 접근하는 쿼리의 성능이 향상됩니다.특히, 읽기 작업(SELECT)에 유리하며, 대규모 데이터에서 효율적입니다. 관리 용이성 :특정 파티션만 드롭하거나 백업 및 복원할 수 있습니다. 병렬 처리 :MySQL은 파티션을 병렬로 처리하므로, 대규모 데이터를 효과적으로 처리할 수 있습니다. 단점제약 사항 :외래 키(Foreign Key) 사용 불가합니다.파티션 키가 반드시 Primary Key 또..
Redis - 입문
·
Storage/Redis
Redis란?- Redis(Remote Dictionary Server)는 key-value로 저장- Redsi는 데이터 처리 속도가 엄청 빠른 NoSQL 데이터베이스- 인메모리에 모든 데이터를 저장해서, 데이터 처리 성능이 빠름  Redis 아키텍처 1. Redis Replication- Redis Replication은 마스터-슬레이브(master-slave) 아키텍처- 마스터 노드는 쓰기(write) 작업을 담당하고, 슬레이브 노드는 읽기(read) 작업을 수행- 슬레이브 노드는 마스터의 데이터를 실시간으로 복제하며, 마스터 노드의 데이터를 백업할 수 있음 2. Redis Sentinel- Redis Sentinel은 고가용성을 제공하는 시스템으로, 마스터-슬레이브 구조와 함께 동작- Sentine..
InfluxDB - 설치 및 실행
·
Storage/InflexDB
[ 개요 ] InfluxDB는 쓰기쿼리를 빠르게 처리하도록 설계된 시계열 데이터베이스(TSDB)이다. 기존 RDBS와 다르게 시간을 기준으로 데이터를 입력하므로 금융데이터, 로그데이터 등 시간에 따른 데이터를 분석하기에 적합하다. InfluxDB와 함께 Telegraf(모니터링 및 수집), Grafana(시계열데이터 시각화) 등과 함께 사용된다. [ 설치 ] InfluxDB 1.8 - Red Hat & CentOS cat SHOW DATABASES > USE mydb - 데이터쓰기 [,=...] =[, =...] [unix-nano-timestamp] > INSERT cpu,host=serverA,region=us_west value=0.64 //cpu measurement가 없다면 자동생성 > SHOW..
Apache HBase - 설치[ Install ]
·
Storage/Hbase
[ 필요조건 ] 1. Java가 설치되어있어야 함 [root@hadoop01 ~]# java -version openjdk version "1.8.0_252" 2. Hadoop이 설치되어있어야 함 [root@hadoop01 ~]# hadoop version Hadoop 3.2.1 ...... 3. 경로 환경설정 [root@hadoop01 ~]# vi /etc/profile ...맨 밑줄에 export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64 export HADOOP_HOME=/usr/local/hadoop/hadoop-3.2.1 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$..
Apache HBase - 개요 및 아키텍처
·
Storage/Hbase
1. Hbase의 등장 하둡은 MapReduce를 이용하여 대용량 데이터를 저장하고 처리하는데는 탁월하다. 그러나 데이터를 순차적방식으로 액세스하여, 간단한 작업을 할 때에도 해당 데이터를 찾을 때 까지 데이터 집합 전체를 검색해야 한다. 이러한 불편함을 개선하기 위해 Random Access Database를 개발하였는데 HBase, Cassandra, couchDB, Dynamo, MongoDB와 같은 데이터베이스이다. 2. HBase란 [ 컬럼지향데이터베이스 ] HBase는 HDFS(Hadoop Distributed File System)위에 구축된 분산형 컬럼지향 데이터베이스이다. ROW기반의 RDBMS보다 데이터를 통계화 하는데 이점이 있다. [ 이미지참조 http://www.dbguide.ne..
wave35
'Storage' 카테고리의 글 목록