DataBase 19

CentOS 7 리눅스에 MongoDB 5.0 설치하기

MongoDB는 문서(Document) 기반 오픈 소스 데이터베이스입니다. MongoDB는 Oracle, Mysql, PostgreSQL 같은 관계형 데이터베이스 보다 덜 제한적인 일관성 모델을 이용하는 데이터의 단순 저장 및 검색을 위한 메커니즘을 제공하는 NoSQL로 분류됩니다. 환경 정보 운영 체제 : CentOS 7.9 실행 계정 : root SSH 접속 및 외부 인터넷이 가능한 네트워크 설정 YUM 리포지토리 추가하기 MongoDB 패키지를 제공하는 YUM 리포지토리 추가를 위해 다음 명령을 실행하여 /etc/yum.repos.d/mongodb-org-5.0.repo 파일을 생성합니다. cat Running transaction check ---> Package mongodb-org.x86_64..

DataBase/Mongo DB 2023.03.31

[DB] MariaDB DeadLock 문제 해결

MariaDB를 사용하다 보면 쓰기작업으로 인해 DeadLock이 발생할 경우가 있다. Deadlock found when trying to get lock; try restarting transaction 1. DeadLock 분석 쿼리 # 현재 LOCK이 걸려 대기중인 정보 SELECT * FROM information_schema.INNODB_LOCK_WAITS; # LOCK을 건 정보 SELECT * FROM information_schema.INNODB_LOCKS; # LOCK을 걸고 있는 프로세스 정보 SELECT * FROM information_schema.INNODB_TRX; # InnoDB 상태 SHOW ENGINE INNODB STATUS; 2. DeadLock 해결 팁 - 테이블 접..

DataBase/Maria DB 2023.02.17

[Redis] redis 설치 및 사용법 정리

레디스(Redis)란? Remote에 위치한 프로세스로 존재하는 In-Memory 기반의 고성능 키-값 저장소면서 문자열, 리스트, 해시, 셋, 정렬된 셋 형식의 데이터를 지원하는 NoSQL. A. Redis 사용(캐시데이터로 활용) 일반적으로 웹 서버는 클라이언트 요청을 받아서 데이터를 제공하는 상황. String 자료구조 사용 데이터가 존재하는지 Cache를 먼저 확인. Cache에 데이터가 존재하면 해당 데이터를 제공. Cache에 데이터가 존재하지 않으면 DB에서 읽은 뒤 Cache 저장 후 제공. String 명령어 SET: SET, SETNX, SETEX, SETPEX, MSET, MSETNX, APPEND, SETRANGE GET: GET, MGET, GETRANGE, STRLEN INCR:..

DataBase/Redis 2023.02.13

[DB] MariaDB MaxScale을 통한 분산처리

지난 게시글에서는 DB서버를 Master - Slave 구조로 구성을 하였었습니다. [DB] MariaDB 이중화 구성 설정 방법과 분산처리 (Replication Master/Slave) (tistory.com) [DB] MariaDB 이중화 구성 설정 방법과 분산처리 (Replication Master/Slave) 하나의 DB 서버에 많은 트래픽이 몰리게 된다면 큰 병목 현상이 일어나 정상적인 서비스를 제공하지 못하는 상황이 발생하기도 합니다. ​ 이를 개선하기 위해 MySQL과 MariaDB는 DB서버를 분산하여 trillion-binary.tistory.com 이어서 이 구조는 Master DB 서버에서 WRITE/UPDATE 작업이 일어나게 되면 Slave DB 서버가 비동기적으로 Master ..

DataBase/Maria DB 2023.02.13

[Redis/AWS] redis 외부 접속 허용 설정

Redis(레디스)를 yum 혹은 source로 설치 후 에 구동을 해보면 기본적으로 127.0.0.1:6379 로 구동되어 있음을 확인할 수 있다. 1. 외부 접속 허용 설정 ​ Redis(레디스) 설치 후 /etc/redis.conf(간혹 경로가 다를 수 있음) 파일에서 bind에 설정되어있는 "bind 127.0.0.1" 을 제거 혹은 주석 후 "bind 0.0.0.0" 으로 설정 후 Redis 서비스를 재기동 해보자 2. Port 설정 1번과 마찬가지로 /etc/redis.conf 파일에서 port에 설정되어있는 "port 6379" 를 제거 혹은 주석 후 "port 원하는 포트번호" 로 설정 후 Redis 서비스를 재기동 해보자 3. 암호 설정 ​ 1번과 마찬가지로 /etc/redis.conf ..

DataBase/Redis 2023.02.10

[Redis/AWS] 리눅스2 Redis 설치 하기

#1. Redis 란? 레디스(Redis)는 "Remote Dictionary Server"의 약자로, Key-Value 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈소스 기반의 비 관계형 데이터베이스 관리 시스템(DBMS)이다. 2009년 살바토르 산필리포(Salvatore Sanfilippo)가 처음 개발 후, 2015년부터 Redis Labs가 지원하고 있다. 모든 데이터를 메모리에 로드해 처리하는 메모리 기반 DBMS이다.db-engines.com 기준 가장 인기있는 Key-Value Stores이다. Cassandra, HBase 와 같이 NoSQL로 분류되기도 하고, memcached와 같이 In Memory 설루션으로 분류되기도 한다. 성능이 memcached에 버금가면서 다양한 데이터..

DataBase/Redis 2023.02.10

[DB/AWS] MariaDB Mariabackup 복원하기

mariabackup restore(복원하기) - MariaDB mariabackup을 통해 백업 된 데이터를 이용해 복원을 진행해 보도록 하겠습니다. 공통​ 1. fullbackup , increbackup 파일 aws s3 저장소에서 가져오기 - 초기 설정 sudo aws configure access key id : [access key aws] 유출 금지 secret access key : [secret key aws] 유출 금지 region name : ap-northeast-2 output format : json s3 저장소 연결 확인 sudo aws s3 ls 전체 백업 데이터​ sudo aws s3 cp s3://db-backup-s3/real-db/fullbackup/2022/05/20..

DataBase/Maria DB 2023.02.09

[DB/AWS] MariaDB Mariabackup을 이용한 백업 스케쥴 설정 2

지난 https://trillion-binary.tistory.com/55 에서는 개념 위주로 설명했다면 이번 게시글에서는 직접 셋팅했던 코드를 중심으로 설명드리겠습니다. ​ 먼저 설정할 DB서버인 AWS EC2 인스턴스에 SSH 접속을 합니다. mariabackup 프로그램을 설치합니다. # mariabackup 설치 및 확인 sudo yum install MariaDB-backup # 설치 완료 확인 mariabackup --version ​ AWS CLI 환경설정을 해줍니다. # AWS S3 저장소 셋팅 # aws 설치 확인 aws --version # aws 초기 설정 (super 계정 권한으로) sudo aws configure access key id : [ACCESS_KEY] # 접근 코드는..

DataBase/Maria DB 2023.02.09

[DB/AWS] MariaDB Mariabackup을 이용한 백업 스케쥴 설정

mysqldump는 SQL 형태로 백업과 복원을 진행하는 논리적 백업 입니다. 데이터베이스의 모든 행을 스캔하고 각각의 행과 테이블마다 Insert 구문을 생성합니다. 그 후 백업시에는 생성한 Insert 구문을 그대로 재생하면서 복원이 진행되는 방식입니다. Mariabackup 은 MySQL과 MariaDB에서 사용된 무료 백업 라이브러리린 Percona XtraBackup을 바탕으로 작성된 포크 소프트웨어 입니다. 여기서 파생된 Mariabackup은 mysqldump에 비해 데이터가 증가할수록 백업과 복원에 걸리는 시간이 월등히 효율적입니다. 백업 및 복원 시간 비교 표 입니다. Mariabackup은 원격으로 접속하여 실행이 불가합니다. 호스트에서 해당 MariaDB 서버로 접속하여 Mariaba..

DataBase/Maria DB 2023.02.09

[DB] Database Lock?

Lock 이란? : 간단하게 설명하자면, 데이터의 일관성을 보장하기 위한 방법입니다. (= 잠금 / 데이터를 동시에 사용하게 해주는 기능) 그럼 Lock 의 종류는? Shared Lock (공유 Lock 또는 Read Lock) : 보통 데이터를 읽을 때 사용합니다. 내가 보고 있는 데이터를 다른 사용자 또한 볼 수 있지만, 변경할 수는 없습니다. > Select 명령어 Exclusive Lock (배타적 Lock 또는 Write Lock) : 보통 데이터를 변경할 때 사용합니다. 해당 Lock 이 해제되기 전까지는, 다른 사용자가 읽기 또는 쓰기가 불가능합니다. > Insert / Update / Delete 명령어 Blocking 이란? : Blocking 은 Lock 들의 경합이 발생하여 특정 세션..

DataBase/Maria DB 2023.02.08
BIG