DBMS 14

Postgres-XC 1.0.1 테스트 (1) 개요

지난번에 Postgres-XC 1.0.0에 대해서 글을 올렸는데 아직 문제가 좀 있다고 했었죠 이번에 1.0.1 버전을 테스트한 결과를 정리해서 올립니다. 짧게 얘기하면 "좋아졌다"입니다. ^^/ • 1.0.1 버전 개요 Postgres-XC 1.0.1은 PostgreSQL 9.1.5를 기반으로 만들어졌습니다. • 지난버전 테스트 결과와 다른 점 1. 관리 툴 pgAdmin III 1.16.0 버전을 사용하면 오류메시지없이 접속됩니다. 한가지 아쉬운점이라면 dbms 버전 정보에는 PostgreSQL 9.1.5로 표시된다는 점입니다. 2. 트랜잭션 문제 해결 함수 내부에서 "select for update"로 데이터를 가져와서 다이나믹쿼리로 update문을 실행하면 일부 세션에서 데이터를 잘못가져오는 문제..

IT 기술/Database 2012.09.27

Kloader로 Kairos에서 공간 데이타 추출하기

Kairos mmdbms에서 공간 데이타를 추출하여 Kairos 혹은 이기종의 dbms에 적재하는데, ETL 툴을 사용하려하였으나 현재 검토 중이던 툴이 정상적으로 지원하지 않아서 kloader라는 Kairos 자체 툴을 이용하였다. # kloader -h server_ip -p port_no -cp UTF-8 kloader> gisget -t table_name -shp output_dir/filename.shp ; 위는 추출할때 명령 위의 명령을 실행하면 세개(네개였었나)의 파일이 생성되는데 모두 scp 등을 이용하여 로딩할 서버로 전송한다. 마찬가지로 kloader를 실행한 뒤. kloader> gisput -t table_name -shp intput_dir/filename.shp -mode ap..

IT 기술/Database 2012.09.07

Postgres-XC 개요 - 장단점

Postgres-XC로 시스템을 구축하려고 공부 중입니다. 아직 보기 좋게 정리는 못 했고 우선 간단히 장단점을 적어보려합니다. 회사에서 외부 사이트를 거의 막아놔서 아이폰에서 작성하는거라 글로만 설명하는 점 이해해주시길 바라며... 1. 장점 1.1. Open source라 구축 가능한 인력과 시간, 그리고 장비만 있으면 소프트웨어 라이선스 비용은 들지 않는다. 1.2. 읽기 및 쓰기 부하 분산이 가능하다. 1.3. Oracle RAC처럼 어플리케이션에서는 읽고 쓰는것을 구분하여 디비 접속을 하지 않아도 된다. 전체 노드가 읽기 및 쓰기가 가능하다. 2. 단점 2.1. 1.0 버전이 출시된지 몇달되지 않아서 구축 사례와 한글로 된 자료 등이 거의 없다. 2.2. PostgreSQL 9.1.x 버전에서만..

IT 기술/Database 2012.08.10

streaming replication과 pgpool-II 구성의 장점

Postgres-XC에 대해서 검색하다가 찾은 글이다. PostgreSQL의 streaming replication과 pgpool-II를 같이 쓰면 어플리케이션에서 접속 정보 변경없이 읽기, 쓰기를 구분하고 부하분산도 가능하다고 한다. 아... 이것도 꽤 쓸만한 구성인것 같은데... 원문 링크 : http://avicom.tistory.com/m/post/view/id/94 아래는 원문의 일부이다. 전체 글은 위의 링크를 클릭하면 볼 수 있다. 별도의 replication 관리 DB가 필요없고 복제 대상 테이블에 trigger를 설치할 필요가 없다. 아카이브 로그 파일을 읽을 필요가 없다 warm standby의 단점이었던 recovery중인 slave db에 대한 엑세스 제한이 없다. multi-sla..

IT 기술/Database 2012.06.25

WITH 구문을 이용하여 PostgreSQL에서 merge 구현

오라클을 주로 사용하던 이들은 다른 DBMS에서 아쉬운 것들이 몇가지 있죠. 현재 사용중인 PostgreSQL의 경우, 오라클의 자유로운 db link와 merge 등이 아주 그립습니다. 그래서 이 merge 기능을 대신하는 방법을 찾아봤습니다. 수정 가능한 WITH CTE 구문을 이용한 merge 기능 구현 WITH TEST AS ( UPDATE world_human A SET cel_phone = B.cel_phone, email_addr = B.email_addr FROM servay B WHERE A.human_id = B.human_id RETURNING A.*) INSERT INTO world_human(human_id, cel_phone, email_addr) SELECT C.human_id..

IT 기술/Database 2012.04.24

Oracle ORA-01591 오류 문제 처리

오래전에 분산 트랜잭션 관련 오류가 있었을때 처리한 내용입니다. 출처가 기억이 나지 않아서... (원서였는지, 한글로된 블로그 글이었는지...) 두 개의 DB 사이에서 "Database Link"를 이용하여 쿼리를 실행하는 프로시져가 주기적으로 실행될 때, "ORA-01591" 오류가 발생했다. 이럴때의 처리방법. SQL> SELECT LOCAL_TRAN_ID, GLOBAL_TRAN_ID, STATE, MIXED, HOST, COMMIT# FROM DBA_2PC_PENDING; 위의 쿼리로 확인 했을 때, MIXED가 'NO', STATE가 'PREPARED'일 때. SQL> ROLLBACK FORCE 'TRANS_ID'; 혹은 SQL> COMMIT FORCE 'TRANS_ID'; STATE 상태가 'F..

IT 기술/Oracle 2012.03.13

DB 복제, Data 동기화 솔루션에 대한 고민

DBMS를 운영하다보면 종종 DB 복제, 혹은 특정 data의 동기화를 해야할때가 있다. 동일한 DBMS라면 그것도 시장에 잘 알려져 있어서 확실한 3rd party 복제 툴이 있거나, 혹은 한 두개 정도의 테이블만 복제/동기화 작업을 해줘야한다면 큰 문제가 아닐것이다. 허나 여러 종류의 DB를 사용하다보면, 그것도 시장에 널리 퍼지지 않았거나, 국내에서만 사용하는 DB라는 이유로 확실한 3rd party 툴이 없다면... 아마 저처럼 고민에 빠지게 될겁니다. 제 고민의 원인에 대해서는 제가 앞에 작성했던 글들을 보시면 아시게 될겁니다. 2010/06/16 - [Database] - Tibero4 migration 모험기 (4) 중간정리 : Oracle DBA의 Tibero 사용 후기 2010/05/07..

IT 기술/Database 2010.11.16

MS SQL Server 2005 서버 튜닝 (1) - tempdb 및 file 관련 설정

MS SQL Server 2005를 사용하는 서비스가 있습니다. 그동안 상세하게 튜닝을 하지 않았었는데, 이번에 컨설턴트분의 의견을 적극 반영하여 튜닝을 시도하게 되었습니다. 그 중에서 첫번째가 tempdb 설정입니다. 기본 설치로 진행하게되면 tempdb는 다른 시스템데이터베이스와 마찬가지로 하나의 data file과 하나의 transaction log file(정확한 명칭인지는 모르겠습니다.)로 구성됩니다. 그런데 CPU가 여러개 설치되어 있다면 물리적인 CPU 갯수만큼 tempdb의 file을 추가해주는게 좋다고 합니다. 보통 코어수가 아닌 물리적인 CPU 갯수대로 해주는게 좋다는데, 상세한 아키텍쳐에 대한 설명은 내공이 부족해서 다음으로 미루겠습니다. 일단 제 경우에는 아래와 같이 설정해 줬습니다..

IT 기술/Database 2010.08.13