▼ DataBase, NoSQL
-
MySQL | Ubuntu(우분투), MySQL 8.0↑ Replication 설정▼ DataBase, NoSQL/MySQL 2023. 1. 28. 15:13
🌈 구성 환경 Master / Slave Ubuntu 22.04 LTS, MySQL 8.0.31 Community 1. Master 설정 1-1. Replication용 계정 생성 및 replication 권한 부여 [mysql] 특정 아이피를 설정할 경우 % 대신 ip를 입력한다. create user 유저명@'%' identified by '비밀번호'; grant replication slave on *.* to 유저명@'%'; 1-2. Mysql Replication 설정 - mysqld.cnf [터미널] vi 명령어로 mysqld.cnf 수정한다. vi /etc/mysql/mysql.conf.d/mysqld.cnf [mysqld] 바로 아래 부분에 2줄을 추가한다. server-id: 서버 아이디..
-
MySQL | Replication(리플리케이션)이란▼ DataBase, NoSQL/MySQL 2023. 1. 28. 15:12
데이터베이스 리플리케이션(Database replication)이란 보통 Master/Slave 관계를 갖는 원본과 복사본 사이를 다룬다. 마스터는 변경 사항을 기록하고 그 결과는 슬레이브에게 전달된다. 라고 위키백과 레플리케이션에서 설명하고 있다. 보편적으로는 데이터베이스의 부하 분산과 데이터 백업을 위해 복제본을 만드는것이라고 한다. 웹 서버의 부하 분산을 위해 여러대의 서버를 두고 로드밸런서를 통해 로드밸런싱 하는 것과 비슷하다. 이제 Master/Slave의 주로 사용되는 역할에 대해 알아본다. Master 서버: 데이터 등록/수정/삭제 요청을 담당하며, 변경된 데이터를 바이너리로그(Binarylog)를 생성하여 Slave 서버로 전달한다. Slave 서버: 조회 요청을 담당하며, Master 서..
-
MySQL | Ubuntu(우분투)에서 MySQL8 설치 후 포트 개방 및 사용자 생성▼ DataBase, NoSQL/MySQL 2023. 1. 28. 15:11
우분투 apt-get 업데이트 sudo apt-get update mysql-server 설치 (최신버전) sudo apt-get install mysql-server mysql 설치 정보 확인 (버전 등) sudo mysql -v mysql 실행 sudo systemctl start mysql mysql 상태 확인 sudo systemctl status mysql 우분투 재시작 시 mysql 자동 시작 sudo systemctl enable mysql 외부 3306 포트 개방 1). MySQL cnf 파일에 로컬호스트만 접속 허용 되어있는 걸 해제 sudo vim /etc/mysql/my.cnf sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 파일의 bind-address..
-
MySQL | 데이터베이스 엔진 InnoDB, MyISAM▼ DataBase, NoSQL/MySQL 2023. 1. 28. 15:09
MySQL을 사용해왔지만 데이터의 입출력을 위해 기본 작업만 진행했었지 내부적인 구조에 대해서는 생각해 본적이 없어서 이번에 대표적인 스토리지 엔진인 InnoDb와 MyISAM에 대해 알아보려고 한다. 물론 그 외에 다른 스토리지 엔진들(Memory, Archive, CSV, Federated 등)도 있다. 스토리지 엔진 - 서버 엔진이 필요한 데이터를 물리적 장치에서 가지고 오는 역할을 수행한다. - 성능 향상을 위해 키 캐시(MyISAM), 버퍼 풀(InnoDB) 등의 기능을 내장한다. - 스토리지 엔진은 여러 개를 동시에 사용할 수 있다. 즉, 테이블 마다 다른 스토리지 엔진 사용이 가능하다. - 특정 테이블이 어떤 스토리지 엔진을 사용하는지 확인하려면 SHOW TABLE STATUS 명령을 이용한..
-
Redis(레디스) | 비트맵(Bitmap) 사용하기▼ DataBase, NoSQL/Redis 2022. 4. 12. 13:43
Redis(레디스) | Windows 10 설치 및 기본 명령어 Bitmap (Version 2.6.0 부터 사용 가능) Redis의 데이터 구조 중 비트맵은 말 그대로 bit, 0과 1의 가지는 구조를 가지고 있다. 이 구조를 이용하면 사용자의 일일 접속 방문자, 좋아요, 뉴스레터 사용자 등록 등 과 같은 실시간으로 많은 단순 데이터를 쌓는 구조에서 RDBMS를 사용하는것 보다 효율적으로 공간을 사용할 수 있다. *비트 단위를 가지므로 1000만건을 입력해도 1.19MB 공간만 차지한다. SETBIT key에 offset의 비트 값 설정 setbit key offset value key: 해당 비트맵을 칭할 값 offset: 0 보다 큰 정수의 값 value: 0 또는 1의 비트 값 setbit 202..
-
MongoDB | Java(자바) 연동 및 기본 CRUD 구현하기▼ DataBase, NoSQL/MongoDB 2022. 1. 28. 20:46
이전 글) MongoDB | Windows 10, MongoDB 설치하기 MongoDB RDBMS Database Database Collection Table Document Tuple/Row Field Column Primary Key ( Default _id ) Primary Key 📌 Dependency (mongodb-driver) 추가 Maven org.mongodb mongodb-driver-sync 4.4.1 Gradle implementation 'org.mongodb:mongodb-driver-sync:4.4.1' 📌 MongoDB 접속 및 데이터베이스 접근하기 접속 URI를 통해 MongoClient를 생성하고 데이터베이스를 가져온다. import com.mongodb.client.*..
-
MongoDB | 기본 CRUD 시작하기▼ DataBase, NoSQL/MongoDB 2022. 1. 27. 09:35
이전 글) MongoDB | Windows 10, MongoDB 설치하기 데이터베이스 생성 use 데이터베이스명 사용 중인 데이터베이스 확인 db 데이터베이스 목록 확인 위에서 생성한 데이터베이스가 안 보이는데 Collection을 생성해야 목록에 나타난다. show dbs Collection 생성 및 Document 삽입 Collection은 RDBMS의 Table과 개념과 유사하나, 스키마를 강요하지 않는 특징에 따라서 내부의 Document는 서로 다른 필드를 가질 수 있다. MongoDB RDBMS Database Database Collection Table Document Tuple/Row Field Column Primary Key ( Default _id ) Primary Key Colle..