2. DBMS이야기 139

[PostgreSQL] PostgreSQL 에서의 Transaction 종류2

1. 트랜잭션 시스템 구조 PostgreSQL 의 트랜잭션 시스템은 3개의 Layer 로 구성되어 있음 상단 레이어는 사용자가 SQL 명령어를 통해서 시스템의 상태를 변경할 수 있게 됨 중단 레이어는 개별 쿼리를 프로세싱하는 전과 후를 담당함 하단 레이어는 로우레벨 트랜잭션과 서브 트랜잭션으로 구현함 상단 레이어 - BEGIN : Begin Transaction Block - COMMIT : End Transaction Block - ROLLBACK : User Abort Transaction Block - SAVEPOINT : Define Savepoint - ROLLBACK TO : Rollback To Savepoint - RELEASE : Release Savepoint 중단 레이어의 상태 단계 ..

[MYSQL] 데이터 타입

* 숫자형 - 참 값 @ TINYINT(1) , SMALLINT(2) , MEDIUMINT(3) , INT(4) , BIGINT(8) @ DECIMAL (가변 크기) - [ 바이트 단위로 2진수 데이터 저장 ] Ex) DECIMAL(12) => 0001 0010 Ex) 실수 저장 :: DECIMAL(5,3) - 근사 값 [ equal 을 통한 비교 불가능 ] @ FLOAT(4) , DOUBLE(8) Ex) create table test01(name char(5), score int, fscore, float); [ 해당 정보의 테이블 생성 ] insert into test01 values('aaa' , 34 , 12.34); [ 데이터 삽입 ] alter table test01 modify fscore..

Cassandra 테스트 환경 구축 가이드

Cassandra 테스트 환경 구축 가이드 본 설치 가이드는 공개SW 역량프라자에서 분산 데이터베이스(NoSQL) 기반 기술 중 Cassandra에 대한 테스트 결과 보고서 외에 테스트 환경에 대한 이해를 돕고자 작성되었습니다.모든 테스트 환경 구성에 대한 내용을 포함되어 있지 않으며, 주의가 필요하거나 참고해야 할 내용을 기반으로 작성되었습니다. 1. 설치환경 □ Cassandra 환경 모듈 Version Cassandra 1.1.1 □ Stack 환경 구성 OS JDK A Stack CentOS 6.2 (64bit) 1.7.0_04 B Stack Windows Server 2008 R2 Standard Edition (64bit) 1.7.0_04 □ HW 환경 제조사 모델명 CPU MEM Disk N..

2. DBMS이야기 2014.06.30

PostgreSQL Privileges Part.2

PostgreSQL Privileges Part.2 4) Privilege 해제 : REVOKE Privilege를 해제하려면 revoke 명령어를 사용하여 권한을 해제할 수 있습니다. revoke 문의 문법은 다음과 같습니다. REVOKE [ GRANT OPTION FOR ] { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER } [, ...] | ALL [ PRIVILEGES ] } ON { [ TABLE ] table_name [, ...] | ALL TABLES IN SCHEMA schema_name [, ...] } FROM { [ GROUP ] role_name | PUBLIC } [, ...] [ CASCADE | ..

Hot Backup

Hot Backup - Archive Mode 설정 (Parameter 변경 후, DB 재기동 필요) postgresql.conf ; DB 설정 파일 수정 . wal_level : WAL Log의 Level 설정 minimal : Default archive : DB Log Archive Mode 설정 시 사용 hot_standby : DB Active-Standby 구조 설정 시 사용 . archive_mode : DB Archive Mode 설정 on (wal_level = minimal 이면, 설정되지 않음) off . archive_command : WAL Log가 Archive 영역으로 copy 되도록 command 설정 \\cp -f %p /archive/%f %p : WAL Log 파일 전체..

PPAS Drita(성능 분석 툴) 설정 방법

오라클의 awr Report 와 유사한 기능으로, PPAS에서 지원하는 성능 분석 툴 (Postgresql에서는 지원하지 않는 기능) 1. postgresql.conf 파일 수정 timed_statistics=on ->설정 이후 DB 재기동 필요 2. Snapshot 생성 edb=# SELECT * from edbsnap(); edbsnap ---------------------- Statement processed. 3. Snapshot 생성정보 확인 edb=# select * from get_snaps(); get_snaps ----------------------------- 1 22-MAY-13 17:44:28.3835 2 22-MAY-14 17:44:50.736477 4. System Wait ..

[PostgreSQL] PostgreSQL 에서의 Transaction 종류1

1. 표준 트랜잭션 레벨 표준 트랜잭션에는 4가지 레벨이 있지만, PostgresSQL 에서는 3가지만 지원함. Phenomena 종류 - dirty read : 트랜잭션이 현재 커밋되지 않은 트랜잭션에서 작성된 데이터를 읽는다. - nonrepeatable read : 트랜잭션은 자신이 실행한 후, 최근 커밋된 다른 트랜잭션이 이전에 읽었던데이터를 수정했으면 그 데이터를 다시 읽는다. - phantom read : 트랜잭션의 로우가 최근 커밋된 트랜잭션에서 변경되어서 조건을 만족시키는 로우의 집합이 변경된 경우, 로우의 집합을 다시 얻기위해 트랜잭션이 쿼리를 다시 실행한다. 표준 SQL 트랜잭션 레벨 Isolation Level Dirty Read Nonrepeatable Read Phantom Rea..

[PostgreSQL] PostgreSQL 통계 정보 보기

PostgreSQL 통계 정보 보기 · PostgreSQL 의 통계정보. PosgtgreSQL의 통계 정보는 시스템 카탈로그의 pg_stat 로 시작하는 테이블에 저장됩니다.현재 데이터베이스 리스트와 OID, 데이터베이스별 사용용량 등 쿼리를 통해 확인 할 수 있고, 뿐만 아니라 통계관련 함수도 많이 지원합니다. postgres=# SELECT * FROM pg_stat pg_stat_activity pg_statio_all_indexes pg_statio_sys_sequences pg_statio_user_tables pg_stat_sys_tables pg_stat_all_indexes pg_statio_all_sequences pg_statio_sys_tables pg_statistic pg_stat..

PostgreSQL 백업 종류

** PostgreSQL 백업 종류 1. Cold Bakcup - DB Down 필요 - OS Level Copy - compress, tar -cvf /data directory 2. Hot Backup - DB Archive Mode 필요 (DB Running 중, Backup 수행) - Two Command . pg_start_backup('lable'); . pg_stop_backup; 3. Format/NoFormat 형태 3.1 Cluster Level (NoFormat) - pg_dumpall 명령어 사용 - DB Full Backup (Oracle Export, full=y 동일) 3.2 Format 형태 3.2.1 Plain SQL - pg_dump -Fp 명령어 사용 - Oracle E..

MySQL general Log, slow long query, Session State, Session Profile

상용 DBMS에서 DB 성능 정보를 수집하는 다양한 Powerful한 기능이 오픈소스 DBMS에서는 상대적으로 약합니다. 튜너들에게는 특히 각 세션별 실행계획을 확인하고, 세션별 성능 Profile이 필수적으로 필요합니다. 상용 DBMS처럼 막강하진 않지만, MySQL에서도 할 수 있습니다. MySQL에서는 아래와 같은 방법으로 general Log, slow long query, Session State, Session Profile을 할 수 있습니다. 아래의 스크립트를 참조하세요. /****************************************MySQL에서 세션별 상태, 쿼리 내용 보기쿼리 플랜 보기****************************************/ -- genera..