728x90
반응형

DATABASE 5

[Relational Databases] Datasource Routing

사용자에 따라서 데이터베이스를 다르게 지정하고 싶다는 생각을 했습니다. 그래서 사용자에 따른 다른 데이터베이스를 적용하는 법을 알아보았습니다. 개요 User를 간단하게 만들고 Repository와 Controller를 만들어서 API를 구축하였습니다. 그리고 회사에 따라 DB를 변경하여 저장하고 조회하는 기능을 구현해보겠습니다. 구조 구조는 다음과 같습니다. User API 부분은 기본적인 코드라서 Database Routing 부분만 설명드리겠습니다. 전체코드는 아래에 깃허브 링크를 참고해주세요. 1. application.properties 설정 #company01과 company02는 제가 설정한 이름입니다. 임의로 이름을 지정하시면 됩니다. #저는 두 회사의 하나의 서비스를 공급할 때, 데이터베이..

[Relational Databases] DB Index 설정

인덱스를 사용하는 이유 일반적으로 SQL 서버에 데이터를 저장할 때 내부적으로는 아무런 순서 없이 저장합니다. 이때, 데이터 저장 영역은 Heap이라고 합니다. Heap 에서는 인덱스가 없는 테이블의 데이터를 찾을 때 전체 데이터 페이지의 처음 레코드부터 끝 페이지 마지막 레코드 까지 모두 조회하게 됩니다. 이러한 검색 방식을 풀 스캔(Full Scan) 또는 테이블 스캔(Table Scan) 이라고 합니다. 다음과 같은 검색의 속도를 향상 하기 위해 인덱스를 사용하게 됩니다. 사용 예시 다음과 같은 테이블이 있다고 가정하겠습니다. Create Table User ( uuid Binary(16) Primary Key, name Varchar(20) Not Null, age Integer Not Null,..

[MySQL] Real MySQL 8.0

쿼리 작성과 연관된 시스템 변수 1. ONLY_FULL_GROUP_BY GROUP BY 절에 포함되지 않은 칼럼이라도 집합 함수의 사용 없이 그대로 SELECT 절이나 HAVING 절에 사용할 수 있습니다. 2. STRICT_TRANS_TABLES 서버에서 INSERT나 UPDATE 문장으로 데이터를 변경하는 경우 칼럼의 타입과 저장되는 값의 타입이 다를 때 자동으로 타입변경을 수행합니다. 예를들어 SELECT * FROM test_table WHERE number_column='100'; ▶ 숫자 속성에 문자열 타입을 입력했을 때 기본적으로 숫자로 변환되기 때문에 이 경우는 문제가 되지 않지만 SELECT * FROM test_table WHERE string_column=100; ▶ 문자열 속성에 숫..

MySQL 2022.08.25

[Relational Databases] Database Replication 구현

Database Replication 개념 [Relational Databases] Database Replication 개념 DB Replication 초기 서버를 구성할 때는 하나의 서버와 하나의 데이터베이스를 구성하지만, 사용자 많아지고, 데이터베이스에 많은 Query가 발생하게 되면 이 트래픽을 처리하기 힘든 상황까지 오게 lakelight.tistory.com Database Replication 구현 Database Replication을 진행하기에 앞서 준비해야할 것들이 있습니다. 먼저 VirtualBox를 설치하고 ubuntu-20.04.4-desktop-amd64.iso (이미지 파일) 을 다운받습니다. Ubuntu 20.04.4 LTS (Focal Fossa) Select an imag..

[Relational Databases] Database Replication 개념

DB Replication 초기 서버를 구성할 때는 하나의 서버와 하나의 데이터베이스를 구성하지만, 사용자 많아지고, 데이터베이스에 많은 Query가 발생하게 되면 이 트래픽을 처리하기 힘든 상황까지 오게됩니다. Query의 대부분을 차지하는 Select를 어느 정도 해결하기 위해 Replication 이라는 방법이 나오게 되었습니다. Replication은 두 개 이상의 DBMS 시스템을 Master / Slave로 나눠서 동일한 데이터를 저장하는 방식입니다. Master DBMS에는 데이터의 수정사항을 반영하고, Rplication 하여 Slave DBMS에 실제 데이터를 복사합니다. 즉, Replication은 실시간 복제본 데이터베이스 서버를 운용하는 것을 의미합니다. 기준이 되는 서버는 마스터 ..

728x90
반응형