728x90
반응형

Database 37

Cassandra의 스토리지와 Read, Write 동작 원리

0. 이전 게시글https://daeunnniii.tistory.com/213 Cassandra 구조와 원리 (feat. CAP 이론)1. Cassandra란 이름의 유래는 그리스 로마신화 카산드라. (예언의 능력이 있지만 아무도 믿지 않았던) 그래서 로고도 반짝이는 눈 모양으로 추정.대용량 데이터를 관리하기 위해 설계된 고성능 분daeunnniii.tistory.com 1. 개요Cassandra는 고성능 분산형 NoSQL 데이터베이스로, 쓰기 및 읽기 작업의 효율성과 내결함성을 보장하기 위해 CommitLog, Memtable, SSTable이라는 세 가지 핵심 구성요소를 사용한다. 이러한 구성요소들은 Cassandra의 내부 작동 원리를 이해하기 위해 필수적이다.2. 카산드라의 스토리지2.1 Comm..

Database/Cassandra 2025.05.01

Cassandra 구조와 원리 (feat. CAP 이론)

1. Cassandra란 이름의 유래는 그리스 로마신화 카산드라. (예언의 능력이 있지만 아무도 믿지 않았던) 그래서 로고도 반짝이는 눈 모양으로 추정.대용량 데이터를 관리하기 위해 설계된 고성능 분산 NoSQL 데이터베이스Google의 Big Table과 Amazon의 Dynamo를 섞어서 만든 key-value 및 Column 형태의 종합적인 플랫폼이라고 할 수 있다.노드는 카산드라의 인스턴스로 구성되고, 여러 노드들은 Gossip이라고 불리는 프로토콜을 통해 소통한다.카산드라는 master가 없는 Ring 구조로 구성되어 모든 노드가 같은 역할과 기능을 수행한다. (P2P를 지원)카산드라는 SQL과 비슷한 Cassandra Query Language(CQL)를 이용장점분산화: 카산드라는 DB를 분산..

Database/Cassandra 2025.04.24

ClickHouse에 NATS 엔진 설정 방법

개요NATS로 publish한 메세지들이 바로 Clickhouse의 테이블에 추가될 수 있도록 NATS 엔진 설정 방법을 알아본다.1. NATS 메시징 시스템 구축1.1 NATS 설치# nats-server 설치$ curl -L https://github.com/nats-io/nats-server/releases/download/v2.10.18/nats-server-v2.10.18-linux-amd64.zip -o nats-server.zip$ unzip nats-server.zip -d nats-server$ sudo cp nats-server/nats-server-v2.10.18-linux-amd64/nats-server /usr/bin/ # nats 설치$ curl -sf https://binari..

Database/Clickhouse 2024.11.23

Opensearch 유사도 검색

이전 게시글앞서 PDF 문서를 Text로 변환하여 Custom analyzer 적용하여 인덱싱하였음.https://daeunnniii.tistory.com/206 Opensearch Tokenizer, Analyzer와 Custom Analyzer 적용1. Opensearch AnalyzerOpensearch에 텍스트 입력 시 필드를 인덱싱하고 Documents화 할 때 Lucene 엔진에 의해 텍스트가 분석되어 입력됨.이때 텍스트를 분석하는 엔진을 Analyzer라고 함.Lucene 에서 제공하는 Andaeunnniii.tistory.com Opensearch 유사도 검색1. More like this 쿼리More Like This (MLT) 쿼리는 입력으로 주어진 document 집합과 비슷한 doc..

Database/Opensearch 2024.11.21

Opensearch Tokenizer, Analyzer와 Custom Analyzer 적용

1. Opensearch AnalyzerOpensearch에 텍스트 입력 시 필드를 인덱싱하고 Documents화 할 때 Lucene 엔진에 의해 텍스트가 분석되어 입력됨.이때 텍스트를 분석하는 엔진을 Analyzer라고 함.Lucene 에서 제공하는 Analyzer는 하나의 Tokenizer와 다수의 Filter로 구성1.1 Filter의 종류CharFilter와 TokenFilter 2가지가 존재CharFilter는 입력된 문자열에서 불필요한 문자를 normalization하기 위해 사용TokenFIilter는 tokenizer에 의해 분해된 token에 대한 Filter 처리를 함.기본적으로 CharFilter에 의해 공백 콤마 등의 문자를 삭제하며, 예시로 문서의 유형이 xml일 경우 의 문자열들..

Database/Opensearch 2024.11.20

Opensearch Ingest pipeline으로 로그파일 전처리

1. Opensearch Ingest Pipeline1.1 Opensearch Ingest Pipeline이란?Ingest pipeline은 데이터를 전처리하는 방법으로 데이터를 색인하기 전에 데이터를 변환하거나 필터링해준다.Ingest Node: Opensearch에 데이터를 인덱싱하기 전에 다양한 전처리를 할 수 있는 메커니즘을 제공하는 노드 타입Ingest pipeline을 설정하기 위해서는 Ingest Node가 활성화되어있어야 한다.Ingest Pipeline을 설정하기 위한 형식은 다음과 같다.PUT _ingest/pipline/{pipline name}{ "description" : "...", "processors" : [ ... ]}1.2 Processorgrok 프로세서란?grok ..

Database/Opensearch 2024.11.19

Opensearch 개념과 사용법 정리

Documentdocument는 텍스트 또는 구조화된 데이터 등의 정보를 저장하는 단위이다.Opensearch에서 문서는 JSON 형식으로 저장된다.IndexIndex는 document의 모음이다.Index는 여러가지 방법으로 생각할 수 있다.학생 데이터베이스에서 인덱스는 데이터베이스의 모든 학생을 나타냄.정보를 검색할 때는 인덱스에 포함된 데이터를 쿼리함.인덱스는 기존 데이터베이스의 데이터베이스 테이블을 나타냄.Cluster와 NodeOpensearch는 분산 검색 엔진으로 설계되었으며, 하나 이상의 노드에서 실행될 수 있음.즉, 데이터를 저장하고 검색 요청을 처리하는 서버이다.ShardsOpensearch는 Index를 Shard로 분할함.각 샤드는 다음 이미지에서 볼 수 있듯이 인덱스에 있는 모든 ..

Database/Opensearch 2024.11.18

Clickhouse에서의 Sharding

1. ClickHouse에서의 샤딩1.1 샤딩(Sharding)이란?샤딩은 동일한 스키마를 가지고 있는 여러대의 데이터베이스 서버들에 데이터를 작은 단위로 나누어 분산 저장하는 기법이다. 이때, 작은 단위를 샤드(shard)라고 부른다.어떻게 보면 샤딩은 수평 파티셔닝의 일종이다.차이점은 파티셔닝은 모든 데이터를 동일한 컴퓨터에 저장하지만, 샤딩은 데이터를 서로 다른 컴퓨터에 분산한다는 점이다.물리적으로 서로 다른 컴퓨터에 데이터를 저장하므로, 쿼리 성능 향상과 더불어 부하가 분산되는 효과까지 얻을 수 있다. 즉, 샤딩은 데이터베이스 차원의 수평 확장(scale-out)인 셈이다.1.2 샤딩의 장단점샤딩의 장점1) 데이터 처리 속도: 노드에 가해지는 데이터 부하는 작아지고 데이터 처리 속도는 향상된다.2..

Database/Clickhouse 2024.11.16

Clickhouse 개요 및 Docker로 Multi node 구성

1. ClickHouse 개요1.1 ClickHouseClickHouse는 OLAP을 위한 고성능, 컬럼 지향형 SQL DBMS이다.기존 데이터베이스보다 100~1000배 더 빠르게 작동하고 초당 수억에서 수십억 행과 수십 기가바이트의 데이터를 처리한다.오픈소스로 무료이고, ClickHouse에서 클라우드로 제공해주는 서비스는 유료이다.1.2 OLAP (Online analytical processing)OLAP란 OnLine Analytical Processing의 약자로 다양한 관점에서 비지니스 데이터를 분석하는 데에 사용할 수 있는 소프트웨어 기술이다.온라인 분석 처리(OLAP)는 다음과 같은 특성을 가진 복잡한 분석 쿼리에 대해 대규모 데이터 세트에 대한 실시간 응답이 필요하다.데이터 세트는 수십..

Database/Clickhouse 2024.11.16

MySQL root 패스워드 분실 시 재설정 방법

1. mysqld 정지 및 MySQL 환경 변수 설정 mysqld를 정지해준 뒤, MySQL 환경 변수를 변경하여 비밀번호 없이 root로 로그인할 수 있도록 해준다. $ systemctl stop mysqld $ systemctl status mysqld $ systemctl set-environment MYSQLD_OPTS="--skip-grant-tables" 2. MySQL root 로그인 및 비밀번호 변경 mysqld를 다시 가동하고 로그인을 한다. 비밀번호를 입력하지 않고 바로 Enter를 누르면 로그인에 성공한다. $ systemctl start mysqld $ mysql -u root -p //패스워드 입력하지 않고 바로 엔터 패스워드 변경 단계에서 인터넷을 참고해서 명령어를 입력해도 계속..

Database/MySQL 2022.06.18
728x90
반응형