Data Infra

1. 개요pg_dump와 psql 명령어를 사용하여 PostgreSQL의 데이터를 백업하고 복원 하는 방법에 대해서 정리한다.  2. pg_dump로 데이터 백업 하는 방법데이터를 백업하는 방법에 대해서 알아보자. A. pg_dump 옵션더보기 pg_dump 프로그램은 데이터베이스를 텍스트 파일 또는 기타다른 형태의 파일로 덤프합니다.사용법: pg_dump [옵션]... [DB이름]일반 옵션들: -f, --file=파일이름 출력 파일 또는 디렉터리 이름 -F, --format=c|d|t|p 출력 파일 형식(사용자 지정, 디렉터리, tar, 일반 텍스트(초기값)) -j, --jobs=개수 덤프..
1. 개요성능 향상을 위해 속도가 빠른 메모리 기반 DB인 Redis를 사용한다.Redis는 데이터를 메모리에 저장하기 때문에 서버에 장애가 발생하거나 강제 종료될 경우 데이터가 모두 소실될 위험이 있다. 하지만 Redis는 설정에 따라 데이터를 디스크에 저장하여 어느 정도 영속성을 확보할 수 있다.Redis가 제공하는 데이터 저장 방식에는 RDB와 AOF 방식이 있으며, 각각의 방식을 알아보도록 하겠다. 2. RDB(Redis Database) 방식RDB 방식은 주기적으로 Redis의 전체 데이터를 스냅샷 형태로 저장하는 방식이다.redis.conf(설정파일)에서 주기와 조건을 설정할 수 있다. 장점서버가 재시작해도 최근 스냅샷 시점까지의 데이터는 복구 가능하여 데이터 손실을 최소화한다.스냅샷 파일은 ..
1. 개요이번에는 DB 트랜잭션과 Lock에 대해 정리하려고 한다. DB는 여러 사용자들이 동시에 데이터를 사용하도록 설계되었지만, 동시에 사용하면서 하나의 데이터에 동시에 여러 사용자가 접근하다보니, 데이터 정합성이나 불일치 문제가 발생할 수 있다. 이런 문제를 해결하기 위해서 트랜잭션과 Lock에 대한 개념을 공부할 필요가 있다.   2. 트랜잭션이란?트랜잭션은 하나의 작업 단위이다.예를 들어, A가 B에게 계좌 이체를 하는 경우 A 계좌에서 출금하고, B계좌에 입금된다. 만약 A 계좌에서 출금은 성공했으나, B계좌에 입금이 실패했을 경우 A계좌 출금을 롤백해줘야 한다. 이 때 사용하는 것이 트랜잭션이다.a. 트랜잭션 특징은 ACID를 따른다.원자성(Atomicity): 트랜잭션에 포함된 모든 작업은..
1. 개요사용하고 있는 os는 리눅스 redhat 계열릐 Rocky 8.10을 사용하고 있다.elasticsearch를 관리하기 위한 도구로 kibana 8.x.x 버전을 설치하고, kibana 설정을 수정해서 elasticsearch와 연동해보겠다.  2. 설치 방법a. yum repo 설정/etc/yum.repo/kibana.repo[kibana-8.x]name=Kibana repository for 8.x packagesbaseurl=https://artifacts.elastic.co/packages/8.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=1 b. kibana 설치$ d..
1. 개요Linux 환경에서 kafka를 설치 과정을 공유하겠다. 필자는 Rocky Linux 8.10을 사용하고 있고, kafka 3.5.1 버전 설치를 완료했다.그럼 설치를 진행해보자. 2. 설치 방법a. java 설치kafka를 실행하기 위해서는 java가 필요하다. java를 설치해주자.$ dnf install java-17-openjdk b. kafka 다운로드 및 압축 해제kafka.3.5.1 버전 다운로드wget https://archive.apache.org/dist/kafka/3.5.1/kafka_2.13-3.5.1.tgz 압축 해제$ tar -xvf kafka_2.13-3.5.1.tgz c. zookeeper, kafka 실행kafka는 기본적으로 zookeeper가 필요하다.먼저 zo..
1. 개요사용하고 있는 OS는 리눅스 redhat 계열의 Rocky 8.10을 사용하고 있다.elasticsearch 5.6.16 버전을 설치해보겠다. 공식 사이트에서 버전별로 설치방법을 쉽게 확인할 수 있다. https://www.elastic.co/guide/en/elasticsearch/reference/5.6/rpm.html  Install Elasticsearch with RPM | Elasticsearch Reference [5.6] | ElasticOn systemd-based distributions, the installation scripts will attempt to set kernel parameters (e.g., vm.max_map_count); you can skip this..
1. 개요사용하고 있는 OS는 리눅스 redhat 계열의 Rocky 8.10을 사용하고 있다.Redis를 최신 버전이 아닌 redis 3.2.12  버전을 설치할 때 참고하면 좋을 것 같다!  redis 3.2.12는 Redis 공식 릴리즈 버전이 아니므로, 직접 소스코드를 다운로드 한 뒤 빌드한 후 설치를 진행한다는 점을 참고하자. 2. 설치 과정a. gcc, make 설치redis 소스코드를 컴파일 하기 위해 gcc와 make를 설치하자.dnf install -y gcc make b. redis 3.2.12 소스 다운로드 및 압축 풀기공식 릴리즈 버전이 아니므로 소스를 직접 다운로드하고 압축을 풀도록 한다.wget http://download.redis.io/releases/redis-3.2.12.t..
1. 개요지난 포스팅에서 리눅스 redhat 계열에서 postgreSQL 9.6 버전 설치과정을 다뤘었다.https://soonmin.tistory.com/99 [PostgreSQL] dnf(yum)로 postgreSQL 9.6(오래된 버전) 설치1. 개요사용하고 있는 OS는 리눅스 redhat 계열의 Rocky 8.10을 사용하고 있다.이 글 작성 기준(2024.09월) postgreSQL 버전은 16.4까지 나왔지만, 필자는 9.6 버전을 설치해야 했다.  공식 사이트에서 yum reposoonmin.tistory.com 설치 후 postgreSQL의 data와 log를 쌓는 경로를 따로 잡아주지 않으면 디폴트 경로에 데이터들이 쌓일 것이다.해당 경로에 용량이 충분하다면 괜찮겠지만, 부족하다면 용량이..
1. 개요사용하고 있는 OS는 리눅스 redhat 계열의 Rocky 8.10을 사용하고 있다.이 글 작성 기준(2024.09월) postgreSQL 버전은 16.4까지 나왔지만, 필자는 9.6 버전을 설치해야 했다.  공식 사이트에서 yum repo 지원은 12버전 이상부터만 지원하기 때문에 9.6 버전은 postgresql의 공식 repo 지원을 받지 못하는 상황이다. yum repo를 직접 구성해서 9.6 버전을 설치해보자.   2. 설치 과정a. repo 설정자신의 os 버전에 맞게 내용을 repo를 구성하면 된다. # Rocky 8.x 일 때$ sudo cat /etc/yum.repos.d/pgdg-96.repo[pgdg96-archive]name=PostgreSQL 9.6 RPMs for RH..
1. Elasticsearch란? Apache Lucene 기반의 JAVA 오픈소스 분산 검색 엔진이다. 방대한 양의 데이터를 신속하게 저장, 검색, 분석 등의 기능을 제공한다. Elasticsearch는 검색을 위해 단독으로 사용되기도 하며, ELK Stack으로 함께 사용되기도 한다. ELK Stack? Logstash 다양한 소스의 로그 또는 트랜잭션 데이터를 수집, 집계 파싱하여 ES로 전달 Elasticsearch Logstash로부터 받은 데이터를 검색 및 집계를 통해 필요한 정보를 형식에 갖춰 저장 Kibana 데이터 시각화 및 모니터링에 활용 2. RDBMS vs Elasticsearch RDBMS 단순 텍스트매칭에 대한 검색만 제공 정형 데이터만 관리하고 검색 Elasticsearch 텍..
kmindev
'Data Infra' 카테고리의 글 목록