CS/DB

· CS/DB
클러스터란?여러 대의 컴퓨터가 모여서 하나의 시스템으로 동작하는 것 클러스터는 왜 홀수로 구성해야 될까?쉽게 말하자면 클러스터 내의 서버들은 대표 서버를 선정하기 위해 투표를 진행한다.만약에 서버가 짝수면, 투표가 동률이 나올 수 있다.서버가 홀수면 투표에서 동률이 나올 수 없다 => 무조건 표를 제일 많이 받는 서버가 뽑힌다.mariadb에서는 투표 = '쿼럼' 이라고 한다.홀수로 구성했을 때 과반수의 개수를 계산하는 게 훨씬 쉬워서 대부분의 클러스터를 구성하는 프로그램 모두 홀수로 구성한다 클러스터 구성 실습 (DB 서버 3대)1) 서버 중지systemctl stop mariadb2) 설정 추가 (3대 중 1대만 먼저 실행)vi /etc/mysql/mariadb.conf.d/50-server.cnf마..
· CS/DB
이번엔 아래 그림과 같은 아키텍처를 구성해보자 ! HAProxy로 웹 서버를 부하분산 시키고웹 서버(nginx) 2대,  WAS 서버(톰캣) 2대, DB 서버(mariadb) 2대를 구성할 것이다. 여기서 DB는 핫 사이트(Master - Slave)를 구성해서 Master에서만 저장 및 수정이 될 수 있게 하고,keepalived를 통해 Acitve와 Standby 상태로 만들 예정이다. 1. HAProxy 1) HAProxy 설정설정 파일에서 부하 분산시킬 서버 IP 주소를 입력 후 저장해준다.vi /etc/haproxy/haproxy.cfg frontend webserver bind *:80 mode http default_backend nginx-serverbackend nginx..
· CS/DB
진짜 대충 그린 그림...이런 아키텍처를 만들어볼 것이다.1. nginx  (10.10.10.10)1) ngnix 설치apt updateapt install -y nginx 2) nginx 설정vi /etc/nginx/sites-enabled/default 설정 파일 들어가서 아래 내용 붙여넣기 (필요 없는 주석들 다 지운 상태)이때, tomcat_backend 서버 IP 주소에는 내가 설정할 톰캣 서버 IP 주소를 입력해야 한다.upstream tomcat_backend { server 10.10.10.40:8080; server 10.10.10.50:8080;}server { listen 80 default_server; listen [::]:80 d..
· CS/DB
DB 서버 핫 사이트 구성해보기마스터 (Active) 설정 - (10.10.10.124)1) keepalived 설치apt install -y keepalived 2) keepalived 설정 파일 생성vi /etc/keepalived/keepalived.conf 안에 내용 작성 interval 5 , fall 4, rise 2=> 5초에 한 번 확인하는데, 4번 실패하면 중단되게 하라global_defs { router_id node01 enable_script_security script_user root}vrrp_script track_mariadb { script "systemctl is-active mariadb" interval 5 fall 4 rise 2..
· CS/DB
HAProxy로 DB 서버 부하분산준비haproxy 서버 1대 (haproxy 설치)DB 서버 2대 (mariadb 설치, user 생성 후 권한 부여)haproxy 서버vi /etc/haproxy/haproxy.cfg 맨 밑줄에 다음 내용 추가 DB 서버이기 때문에 포트 번호는 3306번으로 하고, server에는 만들어둔 DB 서버 두 개의 IP 주소를 추가한다.listen stats bind *:9000 mode http option dontlog-normal stats enable stats realm Haproxy\ Statistics stats uri /statslisten mariadb bind :3306 mode tcp balance..
· CS/DB
재해 복구 (DR)Mirror Site (미러 사이트): 주 센터와 동일한 수준의 데이터와 시스템을 원격지에 구축하고 Active 상태로 실시간 동시 서비스를 제공하는 방식 Hot Site (핫 사이트): 주 센터와 동일한 수준의 데이터와 시스템을 원격지에 구축하여 Stand-by 상태로 유지하며 재난 발생 시 Active 상태로 전환하여 서비스 제공 Warn Site (웜 사이트): 데이터만 원격지에 보관하고 서비스를 위한 시스템은 확보하지 않거나 최소한으로만 구성하고 재난 발생 시에 필요한 시스템을 구성하여 복구 Cold Site (콜드 사이트): 최소한의 준비만 해두는 것  기존 데이터를 양쪽과 똑같이 설정 (백업, 복구)DB 데이터 백업mysqldump -u root -p --all-databas..
· CS/DB
JMeter 설치공식 사이트https://jmeter.apache.org/ Apache JMeter - Apache JMeter™Apache JMeter™ The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to othjmeter.apache.org  설치를 하고 bin 폴더에 jmeter.bat 파일을 실행하면JMeter 프로그램 창이 뜬다.   ..
· CS/DB
성능 체크하는 방법1. EXPLAINEXPLAIN SELECT문;EXPLAIN SELECT * FROM customers; SELECT 앞에 EXPLAIN을 붙이면 데이터를 얼만큼 찾아보고 찾아냈는지, 찾아본 데이터의 수가 총 몇 개인지 설명해준다. LIMIT이나 WHERE를 사용해도 전체 데이터를 조회한다.=> 조건이 맞는지 안 맞는지 마지막 데이터까지 확인해보기 때문에, 어떤 조건을 달아도 결국 데이터를 다 찾아보게 된다.  2. 프로파일링 (profiling)SET profiling = 1; # profiling 기능 켜는 설정SELECT * FROM customers WHERE country = 'USA';SELECT * FROM post WHERE createdAt > '2024-12-02';..
· CS/DB
[Level 1] - 조건에 부합하는 중고거래 댓글 조회하기 https://school.programmers.co.kr/learn/courses/30/lessons/164673 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 22년 10월에 작성된 글을 조회하는 것이기 때문에 WHERE 절에 LIKE로 2022년 10월을 넣어주고,댓글 작성일 기준으로 오름차순, 작성일이 같다면 게시글 제목을 기준으로 오름차순 하라고 했기 때문에ORDER BY 댓글 작성일, 게시글 제목 으로 정렬 우선순위를 지정해준다.SELECT USED_GOODS_BOARD.TITLE, USED_GOODS_BOARD.BOARD_ID, ..
· CS/DB
ERD 확인하기1. 데이터베이스 - 테이블 잘 있나 확인   2. 데이터베이스 간 관계 확인 (ERD) Database - Reverse Engineer  Stored Connection 에서 선택 - next ERD 뽑을 schema 선택 - 계속 Next 누르기   ERD 나오는 거 확인   SQL Query 연습쿼리 한 줄만 조회하고 싶을 때 = Ctrl + Enter 기본 SELECT 문법SELECT 속성,,,, FROM 테이블 이름;SELECT * FROM customers;SELECT * FROM customers;SELECT customerNumber, customerName, country FROM customers; WHERE - 특정 조건에 맞는 데이터 조회SELECT 속성,,, FRO..
셰욘
'CS/DB' 카테고리의 글 목록