본문 바로가기

DS

Postgresql daily auto partition -- 부모 테이블 생성CREATE TABLE MEMBER ( ID CHARACTER VARYING NOT NULL, EMAIL CHARACTER VARYING NOT NULL, REGISTER DATE DEFAULT CURRENT_TIMESTAMP NOT NULL) WITH ( OIDS=FALSE); -- 부모테이블을 상속받아 REGISTER 를 체크하여 자식 테이블을 자동으로 생성해주도록 한다. CREATE OR REPLACE FUNCTION create_partition_and_insert() RETURNS trigger AS $BODY$ DECLARE partition_date TEXT; partition TEXT; BEGIN partition_date := to_char(NEW. REGISTER,.. 더보기
Postgresql session issue 해결방법 상황:데이터 베이스 삭제시 (pgAdmin) 아래 와 같은 에러 발생함. 해결 방법:아래와 같은 에러가 발생할 경우 대처법 #systemctl restart postgresql ERROR: database "MyDB" is being accessed by other users DETAIL: There is 1 other session using the database. 더보기
MariaDB Partioning # MariaDB Partitioning 사용 하게 된 이유: - 많은 양의 데이터가 한 테이블에 쌓여서 검색속도가 느리다 - 인덱스의 크기가 물리적인 메모리보다 커진다. - 삭제를 할 경우 물리디스크에서 사이즈는 줄어들지 않게 된다. delete 명령으로 테이블의 데이터를 삭제 할 경우 사이즈가 줄어 들지 않는다. * innoDB 테이블일 경우 optimize 제공이 안된다. 파티션 도입 : - 특정 범위내의 데이터 검색 삭제 가 빠르게 된다. 하나의 테이블에 저장하던 데이터를 여러개의 테이블로 분산 저장함으로써 범위 내의 검색이 빨라짐 또한 데이터 삭제시 디스크 용량을 줄일수 있음 - 한 테이블에 많은 데이터가 입력되었을때 발생하는 문제를 해결 할 수 있다. 파티션 제약 사항:(Ragne 만 해당) .. 더보기
Mariadb log 활성화 # MariaDB Log 종류 # # Error_log : # query 에러에 관련된 메세지를 포함 # General_log : # 실행되는 전체 쿼리에 대해 저장 # 쿼리 요청 받을때 바로 저장함. # Slow query_log : # long_query_time에 설정된 시간 이상을 소요한 정상적으로 완료된 쿼리를 모두 기록 # 에러가 발생한 로그에 대해서는 기록하지 않는다. # Binary log : # Relay log :# 로그 활성화 상태 보기 show variables where variable_name in ('version','log','general_log');# GENERAL log 활성화 SET GLOBAL GENERAL_LOG = ON; // 비활성화 할 경우 OFF SET GL.. 더보기
DB size query SELECT table_name , round(((data_length + index_length) /1024/1024/1024), 2) `Size(GB)` FROM information_schema.TABLES WHERE TABLE_SCHEMA='데이터베이스 명' ORDER BY (data_length + index_length) DESC; MB 로 표시할경우 : 1024/1024 더보기
MariaDB clustering 서버 환경 구성 은 아래와 같다. server-01 -> 1.1.1.1server-02 -> 2.2.2.2server-03 -> 3.3.3.3 selinux 설정 #vi /etc/selinux/config> 추가 selinux=disabled 각 서버 호스트 명 변경#vi /etc/hosts127.0.0.1 server-01 loccalhost.localdomain localhost # vi /etc/sysconfig/networkHOSTNAME=server-01 #echo server-01 > /proc/sys/kernel/hostname 각 서버의 my.cnf 파일에 아래 내용들을 추가 한다. 1번째 서버 설정#vi /etc/my.cnf [galera]wsrep_on=ONwsrep_provider=/.. 더보기
MariaDB install and change datadir yum repository 를 추가한다. # vi /etc/yum.repos.d/MariaDB.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 #yum repolist #yum -y install mariadb-server mariadb-client 아래와 같은 문구가 나오면 메모하도록 한다 해당 내용은 root 패스워드 설정할때 사용한다. PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER ! To do so, start the server,.. 더보기