목록Database (13)
꾸물꾸물 졔의 개발공부

샤딩이란? 데이터를 여러 서버에 분산하여 저장하고 처리하는 개념. 한대의 서버에 대규모 빅데이터를 저장하게 되면 I/O가 한대에서 일어난다. (제한된 양의 데이터만 저장하고 처리) 서버를 여러개 두고 분산 저장한다면 I/O가 여러 대에서 일어나기 때문에 효율이 좋아진다. 즉, 샤딩은 데이터를 샤드라고 하는 더 작은 청크로 분할하고 여러 데이터베이스 서버에 저장함으로써 단일 서버의 한계를 극복할 수 있다. 샤딩의 목적 애플리케이션이 성장함에 따라 애플리케이션 사용자 수와 저장하는 데이터의 양이 점차 증가한다. 데이터 볼륨이 너무 커지고 너무 많은 사용자가 애플리케이션에 동시 접근하여 정보를 읽거나 저장하려고 한다면, 데이터베이스에 병목 현상이 발생할 수 있다. 이러한 현상은 속도가 저하되고 성능을 떨어트린..

Redis (레디스) Key-Value 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리시스템이다. key-value쌍의 해시 맵 형태를 가진 서버이기 때문에 별도의 쿼리 없이 Key를 통해 빠르게 결과를 불러올 수 있다. DB, Cache, Message Queue, Shared Memory 로 사용되며 인메모리 데이터 구조를 가진 저장소이다. 즉, 레디스는 모든 데이터를 메모리에 저장하고 조회한다. 그렇기에 작업 속도가 굉장히 빠르다. ❔Redis를 사용하는 이유 데이터베이스가 있는데도 Redis라는 인메모리 데이터 저장소를 사용하는 이유는 무엇일까 ? DB는 물리 디스크에 직접 데이터를 쓰고 저장하기 때문에, 서버에 문제가 발생하여 다운되더라도 데이터 손실의..
org.springframework.boot : version '2.7.5' 의존성 추가 및 DB 연결 build.gradle implementation 'org.springframework.boot:spring-boot-starter-data-mongodb-reactive' implementation 'org.springframework.boot:spring-boot-starter-data-mongodb' application.yml spring: data: mongodb: port: '27017' host: 52.79.215.19 authentication-database: admin username: o2a4 database: o2a4 password: 'password' host : localho..

MongoDB Compass 설치 MongoDB Compass 는 GUI 환경의 MongoDB 클라이언트이다. Compass 를 사용하여 외부에서 MongoDB 에 접속할 수 있고, 데이터를 보다 편리하게 관리하고 확인 할 수 있다. Try MongoDB Tools - Download Free Here Free download for MongoDB tools to do more with your database. MongoDB Shell, Compass, CLI for Cloud, BI Connector and other database tools available. www.mongodb.com 해당 페이지에 접속하여 , 운영체제에 맞는 설치파일을 다운로드 한다. EC2에 설치한 MongoDB Conne..

Ubuntu 20.04 LTS MongoDB - Ubuntu 20.04 설치 Ubuntu 20.04 LTS 1. MongoDB public GPG key $ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add - 다음 명령어를 통해 public key 를 불러온다. ubuntu 패스워드를 입력하는 창이 나오지만, 나는 root 계 jiko1456.tistory.com $ mongo 로 실행되는 MongoDB 는 다른 RDB와 달리 별도의 인증절차를 진행하지 않는다. 이러한 이유 때문에 몽고디비는 되도록이면 보안에 문제가 되지 않는 환경에서 보안모델 없이 진행하지만, 다양한 보안 문제가 발생할 수 있기 때문에 ID-..

Ubuntu 20.04 LTS 1. MongoDB public GPG key $ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add - 다음 명령어를 통해 public key 를 불러온다. ubuntu 패스워드를 입력하는 창이 나오지만, 나는 root 계정으로 접속 했기 때문에 바로 OK 가 나왔다. 2. MongoDB List 파일 생성 $ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.li..
Reactive Kafka - Sender , Springboot Springboot에서 Reactive Kafka API를 구현하였다. Reactive Kafka 에서 메시지를 생성하고 소비하기 위해서는 2가지의 인터페이스를 사용한다. kafka 에 메시지 생성 : reactor.kafka.sender.KafkaSender kafka 의 메시지 jiko1456.tistory.com Springboot에서 Reactive Kafka API를 구현하였다. Reactive Kafka 에서 메시지를 생성하고 소비하기 위해서는 2가지의 인터페이스를 사용한다. kafka 에 메시지 생성 : reactor.kafka.sender.KafkaSender kafka 의 메시지 소비 : reactor.kafka.recei..
Springboot에서 Reactive Kafka API를 구현하였다. Reactive Kafka 에서 메시지를 생성하고 소비하기 위해서는 2가지의 인터페이스를 사용한다. kafka 에 메시지 생성 : reactor.kafka.sender.KafkaSender kafka 의 메시지 소비 : reactor.kafka.receiver.KafkaReceiver Reactive Kafka Sender Kafka Sender 를 사용하여, kafka (broker) 로 메시지를 보낼 수 있다. KafkaSender 는 하나의 KafkaProduer와 연결된다. SenderOptions 설정 private Map getProducerProps() { return new HashMap(){{ put(ProducerC..