카이로스는 메모리 기반 디비라서 빠르다. 그런데 이 메모리가 스왑되면 일반 관계형데이타베이스와 다를것이 없어지므로 카이로스가 사용하는 메모리는 스왑되지 않도록 해주는 것이 좋으며 이를 핀 메모리(맞나?) 설정이라고한다.

우선 설정 파일( kairos.properties )을 열어서 핀 메모리 설정값이 on으로 되어있는지 확인한다. 아마도 되어있을것이다.

su - (root 권한이 필요하다)

ln-s libcci.so /usr/lib64/libcci.so

카이로스 실행 파일이 있는 디렉토리로 가서 소유자를 바꿔준다.
chown root kairos
chmod 4755 kairos

여기까지 진행한뒤에 카이로스를 기동시키면 핀 메모리 설정이 잘 되었는지 메세지가 출력될것이다.

iPhone 에서 작성된 글입니다.
신고
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST


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 append ;
대이타를 적재할때에는 "-mode"를 꼭 설정해야한다. 테이블에 존재하는 기존 데이타를 유지할지 지울지를 정해주는 것이므로 매우 중요한 파라미터이다.

iPhone 에서 작성된 글입니다.
신고
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST


이번에 ETL 작업을 하면서 겪은 당황스런 일을 적어두려합니다. 이번 작업은 아래에 설명할 두가지이며, 작업 환경은 다음과 같습니다.
세대의 장비는 모두 같은 건물 안에 있습니다. 멀리 넷트웍을 타고 전송되는 상황은 아닙니다.
ETL tool : GeoKettle
DBMS : PostgreSQL 9.x, Kairos 5.x


1. PC(1 cpu)에 설치된 PostgreSQL DB에서 데이타를 추출하여 서버(4 cpu)상의 PostgreSQL DB에 전송하는 작업.

2. 서버(4 cpu)상의 PostgreSQL DB에서 데이타를 추출하여 다른 서버(4 cpu)상의 Kairos DB에 데이타를 전송하는 작업.

1번 작업은 데이타 원본이 윈도우가 설치된 PC상에 있어서인지 오래 걸렸습니다. 더군다나 테이블끼리 1대 1로 전송하는게 아니라 원본에서 조인을 해서 추출을 하는 작업이었습니다. 오래걸리더군요. 이건 각오한 문제였구요.

그런데... 2번 작업에서 큰 문제가 생겼습나다. Kairos는 메모리 DB인데 데이타 로딩이 아주 느리더군요. 이건 뭐...
서버에서 서버로 보내는 것이고, 테이블도 거의 1대 1로 전송하는 상황이었고, 메모리도 각각 50GB 정도 설치되어 있었습니다. 더군다나 아직 서비스에 쓰이는 장비도 아닌데 초당 270건 정도밖에 안되더군요. ㅠㅠ

그래서 눈물을 머금고 text로 추출해서 로딩하는 방식을 썼습니다.

한가지 더 문제가 있었는데, GeoKettle로 Kairos에 데이타를 이전할때 not null 제약이 걸린 컬럼에 null 값이 들어가면 오류가 발생하지 않고 행이 걸린것처럼 멈춰 있더군요. jdbc 드라이버 문제인지 GeoKettle의 문제인지 모르겠습니다. 암튼 이 문제땜에 에러가 안 뜨니 좀 기다려보자는 생각에 시간을 많이 소비했었죠.




사용한 툴과 디비를 보시면 아시겠지만 gis 관련 데이타를 다루는 작업이었습니다. 문제는 Kairos는 GeoKettle이 지원하지 않는 제품이라 이 툴로는 일반적인 문자, 숫자 등의 데이타가 아닌 공간 데이타는 Kairos로 이전을 할 수가 없었습니다. 오픈소스인 Pentaho Kettle 기반의 제품이니까 공부를 좀 해서 Kairos의 공간 데이타를 인식할 수 있게 만들어 보고 싶다는 생각을 해봅니다. 실제로 진행을 할 수 있을지는 모르겠습니다만...

그럼 평온한 밤 보내시길~~~

iPhone 에서 작성된 글입니다.
신고
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST