먼저, Docker가 설치되어 있어야 한다. 만약 Docker가 설치되지 않았다면 Docker 공식 사이트에서 설치할 수 있다.Docker MySQL 이미지 찾기docker search mysql Docker MySQL 이미지 받기docker pull ubuntu/mysql 네트워크 생성Docker 컨테이너들이 서로 통신할 수 있도록 Docker 네트워크를 생성한다.docker network create mysql-cluster Master 컨테이너 생성MySQL 마스터 역할을 하는 컨테이너를 생성한다.docker run --name mysql-master -d --restart unless-stopped --network mysql-cluster -e MYSQL_ROOT_PASSWORD=root -e ..
환경변수 설정과 alias까지 마쳤다면 설치했던 postgresql을 연결을 해보려고 한다. 목차1. DBeaver 설치2. 환경 설정 세팅3. 연결 확인 DBeaver 설치https://dbeaver.io/download/ Download | DBeaver CommunityDownload DBeaver Community 24.2.0 Released on September 1st 2024 (Milestones). It is free and open source (license). Also you can get it from the GitHub mirror. System requirements. DBeaver PRO 24.2 Released on September 9th, 2024 PRO version w..
PostgreSQL을 설치를 완료했다면 환경 변수 설정과 alias를 설정할 것이다. 목차1. 환경변수 설정2. alias 설정3. log 디렉토리 설정 환경변수 설정1. root 계정 전환su - 2. 현재 위치 파일 목록 확인ll 3. .profile과 .bashrc 파일 복사cp .profile /var/lib/postgresql/cp .bashrc /var/lib/postgresql/.profile 역할: 로그인 시점에서 한 번 실행되며 주로 전역적인 환경 변수를 설정하는 데 사용된다..bashrc 역할: 새로운 터미널 세션이 열릴 때마다 실행되며, 주로 쉘 세션에서 필요한 alias나 사용자 정의 명령어 설정에 많이 사용된다. 4. postgres 홈 디렉터리 이동cd /var/lib/post..
VMware에 Ubuntu까지 설치가 완료되었다면 이제 PostgreSQL을 설치할 차례다. 목차1. PostgreSQL 설치2. PostgreSQL 동작3. PostgreSQL 접속 PostgreSQL 설치1. PostgreSQL Package 저장소 생성우선 PostgreSQL 패키지 저장소를 추가해야 한다.sudo apt install -y postgresql-commonsudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh 2. PostgreSQL Package 업데이트저장소가 추가되면 패키지 리스트를 업데이트한다.sudo apt update –y 3. PostgreSQL Package 설치PostgreSQL 15 버전을 설치한다.sudo ap..
이번에 PostgreSQL Admin 교육을 받게 되어 교육 내용들을 다음에도 보기 위해 정리해 놓으려고 한다.목차1. M1에 VMware 설치하기2. Ubuntu 설치하기3. 패키지 설치 M1에 VMware 설치하기Window 노트북이 없어서 Mac에서 VMware를 설치했다. VMware Fusion 13 Pro가 개인용으로 무료로 제공되기 때문에 쉽게 다운로드할 수 있다.- 먼저 Broadcom Support에서 회원가입을 하고 아래 링크에서 VMware Fusion을 다운로드한다.VMware Fusion 다운로드 링크- "VMware Fusion 13 Pro for Personal Use"를 선택한 다음, 원하는 버전을 선택하고 다운로드 아이콘(구름 모양)을 클릭한다.처음에 다운로드가 활성화되지 ..
이기종 마이그레이션을 실습해 보고 간단하게 어떠한 과정을 거치는 알아보려고 한다.환경은 MySQL 8버전 PostgreSQL 15 버전이다. MySQL 데이터베이스 접속mysql -u root -p MySQL 데이터베이스 생성먼저 MySQL에서 데이터베이스를 생성한다.CREATE DATABASE testdb; MySQL 테이블 생성생성한 데이터베이스에 접속한 후 테이블을 생성한다.USE testdb;CREATE TABLE employees ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(15) NOT NULL, position VARCHAR(15), hire_date DATE); 샘플 데이터 삽입INSERT INTO employees (nam..
PostgreSQL에서 대규모 데이터를 효율적으로 관리하고 쿼리 성능을 최적화하기 위해 파티셔닝을 활용하는 방법을 단계별로 테이블을 생성하고 데이터를 삽입하며 성능 비교를 수행한다. 초기 설정 및 데이터 생성먼저 practice_org라는 테이블을 생성하고 여기에 랜덤 데이터를 삽입한다. 그런 다음 인덱스를 생성한다.-- PostgreSQL에 접속psql -U postgres-- 테이블 생성CREATE TABLE practice_org ( id serial NOT NULL, g int NOT NULL);-- 랜덤 데이터 삽입INSERT INTO practice_org(g)SELECT floor(random() * 100)FROM generate_series(0, 10000000);-- 인덱스 ..
데이터베이스의 테이블과 인덱스가 디스크에 어떻게 저장이 되고 그리고 SELECT를 했을 때 어떤 식으로 데이터를 가져오는지 정리해보려고 한다! Table 데이터베이스에서 테이블은 저장소에 비트와 바이트 형태로 저장한다.가로: row(행), 세로: column(열)emp_idemp_nameemp_birthemp_salary2000Hussein1/2/1988$100,0003000Adam3/2/1977$200,0004000Ali5/2/1982$300,000 Row_ID1. 사용자가 직접 생성하거나 수정할 수 없는 내부 시스템에 의해 관리되는 열이다.2. 데이터베이스 관리 시스템이 내부적으로 사용하고 유지 관리하는 식별자로, 각 행을 고유하게 식별하는 데 사용된다.row_idemp_idemp_nameemp_bi..
설명 한 번 트랜잭션이 커밋되면, 그 결과가 영구적으로 데이터베이스에 반영되어 시스템 장애가 발생하더라도 유지된다는 것을 보장 내용 Durability techniques 구분 설명 예시 WAL(Write ahead log) 기본 원리 데이터를 데이터베이스 파일에 직접 쓰기 전에 모든 변경 사항(트랜잭션)을 로그 파일에 먼저 기록하는 것 작동 원리 로그 기록 - 데이터 쓰기 - 회복 절차 Redo, Undo Asynchronous snapshot 장점 1. 데이터 복구 지원 2. 성능 저하 최소화 3. 데이터 일관성 보장 buffer RDB / AOF RDB 특정한 시점의 스냅샷으로 백업하는 방식 AOF 모든 쓰기 명령에 대한 로그를 남기는 방식 Redis 정리 지속성은 데이터베이스 시스템에서 중요한 특..
설명 트랜잭션의 실행 전과 후에 데이터베이스가 정의된 비즈니스 규칙과 제약 조건을 계속해서 충족하도록 보장하는 속성 내용 구분 설명 비고 데이터의 일관성 데이터가 일관된 상태를 유지하는 것을 의미 사용자에 의해 정의, 참조 무결성(외래키) 원자성, 고립성(격리 레벨에 따라 달라짐) 읽기의 일관성 데이터를 읽을 때 사용자가 항상 최신의 일관된 데이터를 보게 되는 것 데이터의 변경 사항이 다른 트랜잭션에 어떻게 즉시 반영되는지는 격리 레벨에 따라 달라짐 이는 관계형 및 비관계형 데이터베이스 모두에 적용되며, 참조 무결성을 포함한 일관성을 보장하는 데 필수적 데이터의 일관성 예시 pictures 테이블 ID(PK) title LIKES 1 Sunset 2 2 Mountain View 1 picture_like..