목록IT/Database (5)
And Brain said,
https://theworldaswillandidea.tistory.com/100 DB Clustering & Replication, DB must go on 서비스의 심장과도 같은 Database가 멈춘다면 어떻게 될까? 당연히 서비스는 제 기능을 하지 못할 것이고 멈춰있는 시간동안 서비스 기능 장애 뿐만 아니라, 데이터 손실 등의 문제에 직면하게 된 theworldaswillandidea.tistory.com 오래전에 한 번 이론 상 다뤄본 적이 있었지만, 오늘은 실제로 적용해보도록 하겠습니다. DB는 계속되야만 합니다. MySQL의 Replication 방식 시작해봅시다. 먼저, Master DB가 될 녀석의 데이터를 백업해둡시다. 그 전에, 안전하게 Master DB의 읽기 작업을 잠시 중단시키는..
오늘은 이름부터 거대한 DB인 NoSQL의 수장 MongoDB를 Ubuntu 22.04에서 설치해보도록 할 것입니다. sudo apt update sudo apt install wget curl gnupg2 software-properties-common apt-transport-https ca-certificates lsb-release 필요한 패키지들을 설치해줍시다. curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/mongodb-6.gpg MongoDB의 public GPG Key를 받아옵니다. echo "deb [arch=amd64,arm64] https://..
서비스의 심장과도 같은 Database가 멈춘다면 어떻게 될까? 당연히 서비스는 제 기능을 하지 못할 것이고 멈춰있는 시간동안 서비스 기능 장애 뿐만 아니라, 데이터 손실 등의 문제에 직면하게 된다면 그 피해가 심각할 수도 있다. 심장은 계속 뛰어야만 한다, 그리하여 오늘은 DB 부하 분산 기법인 Clustering과 Replication 방식에 대해 알아보자. Clustering Clustering은 여러개의 DB 서버에 적절히 부하를 분산시키는 (로드밸런싱) 구조다. 당연히 DB 하나가 죽어도 곧바로 대비가 가능하며 고가용성을 보장한다. 보통 수평적 구조를 가지며 세부적으로 모든 DB 서버를 Active 상태로 둘 수도 있고 Active 상태와 Standby 상태를 섞어서 사용한다. 모든 DB 서버가..
오늘은 Node js와 MongoDB를 이용해 아주 쉬운 비동기-논블로킹 방식의 API를 하나 만들어보겠다. 기본적인 Node express 웹서버 띄우기는 생략하겠다. 일단 mongoose를 install 해준다. connect 안에 콜백함수를 넣을 수 있다. 이런 식으로 Schema를 설정해줘야 컬렉션을 잘 잡는다. 간단하게 aggregate 메소드로 그룹핑하여 평균을 계산하는 API를 만들었다. 데이터는 25만개 정도다. 0.74초만에 계산되는 것을 볼 수 있다. Thanks for watching, Have a nice day.
데이터베이스(Database, DB) 정의 : 데이터의 저장소(집합) 1.1 데이터베이스의 역할 데이터와 응용프로그램의 중간에서 응용프로그램이 요구하는대로 데이터를 조작하고 관리하는 소프트웨어 사용자 데이터 요구의 실시간 응답, 최신 데이터 유지, 여러 사용자가 동시 이용 1.2 데이터베이스 현황 DB-ENGINES는 매월 인기도에 따라 데이터베이스 관리 시스템의 순위를 공개한다 약 350여개의 상용, 오픈소스 DBMS가 존재 2.1.1 관계형 데이터베이스의 특징 SQL 작업 수행시점에 Replication, Locking 및 Consistency에 대한 확인이 필요 데이터 일관성을 위하여 처리성능이 느려 성능의 병목현상이 발생할 수 있음 2.1.2 관계형 데이터베이스의 장점 데이터의 일관성을 보증할 수..