[Docker] 도커로 Postgresql 실행하기
·
Computer Science
1. 도커 설치도커 공식 문서 사이트를 통해서 도커를 설치할 수 있다.https://docs.docker.com/get-docker/ Get DockerDownload and install Docker on the platform of your choice, including Mac, Linux, or Windows.docs.docker.com 설치 후 회원가입까지 진행하면 아래와 같이 Docker Desktop이 실행된다.  2. Postgres Image Pull도커 이미지란 도커 컨테이너를 실행하는 데 필요한 모든 것을 포함하는 환경을 말한다. 이러한 도커 이미지는 Docker hub라는 이미지 레지스토리에 저장되어 필요할 때 다운로드하여 사용할 수 있다. 그러한 다운로드를 "pull" 이라고 한다..
[CS / DataBase] 인메모리 데이터 저장소 Redis, 왜 사용할까?
·
Computer Science
개발을 하면서 트랜잭션의 속도를 어떻게 하면 줄일 수 있을까? 고민하면서 찾아보면 Redis라는 시스템을 접하게 된다. 그럼 이 Redis는 무엇일까? 1. 레디스(Redis) 란? Redis의 풀네임에서 할 수 있듯이 Java의 HashMap과 같은 key-value 형태의 Dictionary 비정형 데이터를 저장하고 관리하는 원격 서버를 말합니다. 1-1. 레디스의 핵심 기능 https://redis.io/ 공식 홈페이지에서는 Redis의 핵심기능을 다음과 같이 말하고 있습니다. Redis는 데이터베이스,캐시, 메시지 브로커 및 스트리밍 엔진으로 사용되는 오픈 소스(BSD 라이선스), 인메모리 데이터 구조 저장소 입니다. Redis는 문자열 , 해시 , 목록 , 집합 , 범위 쿼리가 있는 정렬된 집합..
[CS / DataBase] 데이터 타입(MySQL)
·
Computer Science
문자형 데이터 타입 데이터 타입 설명 CHAR(n) 고정 길이 데이터 타입(최대 255byte)- 지정된 길이보다 짦은 데이터 입력될 시 나머지 공간 공백으로 채워진다. VARCHAR(n) 가변 길이 데이터 타입(최대 65535byte)- 지정된 길이보다 짦은 데이터 입력될 시 나머지 공간은 채우지 않는다. TINYTEXT(n) 문자열 데이터 타입(최대 255byte) TEXT(n) 문자열 데이터 / 최대 65,535(2^16-1)byte MEDIUMTEXT(n) 문자열 데이터 / 최대 16,777,215(2^32-1)byte LONGTEXT(n) 문자열 데이터 / 최대 4,294,967,295(2^32-1) ENUM('vaue1', 'vaue2'...) 열거형 / 정해진 몇가지의 값들 중 하나만 저장 ..
[CS / DataBase] Drop truncate Delete 차이
·
Computer Science
DELETE, TRUNCATE, DROP 명령어는 모두 삭제하는 명령어이지만 차이점이 있다. DELETE WHERE절을 사용하여 테이블에 있는 데이터를 하나하나 선택하여 제거하는 방식 데이터를 삭제하더라도 데이터가 담겨있던 용량은 줄어들지않는다 DELETE된 데이터는 COMMIT 명령어를 사용하기 전이라면, ROLLBACK 명령어를 통해 되돌릴 수 있음 TRUNCATE 전체 데이터를 한번에 삭제하는 방식 최초 생성되었을 당시의 Storage만 남기고, 데이터가 남겨있던 Storage는 Release 된다. 자동 COMMIT이 되는 명령어이기 때문에, 이미 지운 데이터는 되돌릴 수 없다. DROP 테이블 자체를 완전히 날려버리는 방식 테이블 자체가 모두 지워지며, 해당 테이블에 생성되어 있던 모든 인덱스도..
[CS / DataBase] 파티셔닝(Partitioning)과 샤딩(Sharding)
·
Computer Science
파티셔닝이란? 테이블(table)을 '파티션(partition)'이라는 작은 단위로 나누어 관리하는 기법 데이터베이스를 분산 처리하여 성능이 저하되는 것을 방지하고 관리를 보다 수월하게 함 장점 가용성(Availability) : 물리적인 노드 분리에 따라 전체 DB 내의 데이터 손상 가능성이 줄어들고, 데이터 가용성이 향상됨 관리 용이성(Manageability) : 큰 테이블을 제거하여 관리를 쉽게할 수 있다 성능(Perfomance) : 특정 DML과 Query 성능을 향상시키며 대용량 데이터 write 환경에서 효율적이다. 단점 테이블 간 join 비용 증가 파티션 제약 : 테이블과 인덱스를 별도로 파티션 할 수 없다. 수직 파티셔닝(Vertical Partitioning) 컬럼을 나눠 새로운 테..
[CS / DataBase] 트리거(Trigger)
·
Computer Science
트리거란? 특정 테이블에 삽입, 수정, 삭제 등의 데이터 변경 이벤트가 발생하면 DBMS에서 자동적으로 실행되도록 구현된 프로그램 이벤트는 전체 트랜잭션 대상과 각 행에 의해 발생되는 경우 모두를 포함할 수 있으며 테이블과 뷰(View), DB 작업을 대상으로 정의 할 수 있다. 트리거의 목적 특정 테이블에 대한 데이터 변경을 시작점으로 설정하고, 그와 관련된 작업을 자동적을 수행하기 위해 트리거를 사용한다. 일반적으로 이벤트와 관련된 테이블의 데이터 삽입, 추가, 삭제 작업을 DBMS가 자동적으로 실행시키는데 활용한다 참고 [DB] 트리거(Trigger) 트리거(Trigger) 특정 테이블에 삽입, 수정, 삭제 등의 데이터 변경 이벤트가 발생하면 DBMS에서 자동적으로 실행되도록 구현된 프로그램입니다...
마볼링
'Database' 태그의 글 목록