본문 바로가기

분류 전체보기378

Spring profile 적용 스프링을 사용하여 개발 할 경우 개발/테스트/운영 까지 단계에서 환경 설정들이 각각 다를 수 있다.그중의 한 예로 데이터베이스를 들수 있다.개발 디비 ,운영디비 ,테스트 디비 들의 정보들을 하나의 프로퍼티로 관리하다보면 많은 반복 작업이 있을 수 있다.이러한 문제점들을 각 환경에 맞는 프로파일설정을 통하여 해결 하도록 한다.(완전한 해결책은 아님)개발 환경은 intelliJ를 사용한다는 가정아래 와 같이 패키지 안에 각각 디플로이 디렉토리를 생성하고 각각의 환경에 맞는 프로퍼티 설정을 해준다. 메이븐 설정파일인 pom.xml 에서 아래 와 같이 각 환경 설정 프로퍼티 파일을 추가 해준다. dev dev local local test test op op 각 프로파일 설정들은 디플로이먼트에 있는 설정 파일들.. 2017. 6. 9.
Postgresql-9.6 Master Slave replication config OS: CensOS 7DB: Postgresql 9.6 Master DB : IP: 10.10.10.10Slave DB : IP: 10.10.10.11Slave DB : IP: 10.10.10.12 구성: 마스터 와 두대의 슬레이브 로 구성하여 Replication 하도록 한다.구성 1 10.10.10.10 | |10.10.10.11 10.10.10.12두대의 slave 서버가 마스터를 바라보고 있는 형태이다.(장단점은?)구성 210.10.10.10 -> 10.10.10.11 -> 10.10.10.12마스터 서버가 slave 1 을 바라보고,slave 2 는 slave 1 을 바라보도록 한다.(장단점은?)위의 두가지 설정의 다른점:pg_hba.conf 파일에서 replication 서버 주소를 바라보고 .. 2017. 6. 6.
postgresql install and change data directory on Centos 7 현재 CentOS 7 에서 yum 으로 설치시 최신 버전이 9.2 인것 같다.현재 최신 베타 버전은 10 이다.안정화 버전인 9.6을 설치해보고 싶었고, 3억건의 데이터를 저장하기 위해 추가로 마운트 한 디스크로 데이터 디렉터리 위치를 변경하고 싶었다. 현재 postgrsql 설치 가능한 버전 보기 #yum list postgresql* 설치 가능한 버전이 9.2 로 나온다. - rpm 으로 설치 #rpm -Uvh https://yum.postgresql.org/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm 재확인 #yum list postgresql* 설치 가능한 버전 목록 중에 postgresql96-server 가 보인다. 설치 #yum -y i.. 2017. 6. 4.
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,.. 2017. 6. 2.
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. 2017. 6. 2.
MariaDB Partioning # MariaDB Partitioning 사용 하게 된 이유: - 많은 양의 데이터가 한 테이블에 쌓여서 검색속도가 느리다 - 인덱스의 크기가 물리적인 메모리보다 커진다. - 삭제를 할 경우 물리디스크에서 사이즈는 줄어들지 않게 된다. delete 명령으로 테이블의 데이터를 삭제 할 경우 사이즈가 줄어 들지 않는다. * innoDB 테이블일 경우 optimize 제공이 안된다. 파티션 도입 : - 특정 범위내의 데이터 검색 삭제 가 빠르게 된다. 하나의 테이블에 저장하던 데이터를 여러개의 테이블로 분산 저장함으로써 범위 내의 검색이 빨라짐 또한 데이터 삭제시 디스크 용량을 줄일수 있음 - 한 테이블에 많은 데이터가 입력되었을때 발생하는 문제를 해결 할 수 있다. 파티션 제약 사항:(Ragne 만 해당) .. 2017. 6. 2.