Author: byun1114

  • 자료의 용량이 작으면 검색 하는데 짧은 시간이 소요되고, 용량이 크면 많은 시간이 소요된다. 이는 R이나 DB에서나 마찬가지이다.

    왜 이런 당연한 내용부터 언급을 하는가 하면 현재 CDM에 아주 많은 자료가 들어가 있지는 않은데도 불구하고 수십GB 정도 된다. 고성능 컴퓨터를 이용하지 않는 이상 분석을 위하여 많은 연산을 해야 한다고 하면 검색 가능한 자료의 크기를 줄여야 시간을 줄일 수 있다. 몇 시간 동안 기다린 결과가 오류 메세지라면 누구나 빡칠 상황일 것이다.

    해결하는 방법은 목적에 맞는 작은 테이블을 생성하여 이를 이용하는 것이다. 누구나 알고 있는 방법이지만, 이것을 무시하면 상당한 시간과 노력만 낭비하게 된다.

  • 셸 스크립트, 파일간 변수 사용

    A라는 셸 스크립트에서 사용한 변수를 B라는 셸 스크립트에서도 사용해야 할 경우가 있다.

    인터넷 검색을 해보면 source를 이용하여 이전 스크립트를 불러오는 방법과 export를 이용하는 방법이 있는 것 같다. 해보니 source를 이용한 것이 조금 더 나에게 직관적으로 다가온다.

    a.sh에서 이용한 모든 변수를 b.sh에서 이용하고 싶다면 b.sh에 다음과 같은 구절을 추가하면 된다.

    source a.sh
  • 화에 대하여, 세네카, 김경숙 옮김

    이 책은 매우 좋은 책이다.

    서문을 보면 편지글을 모은 형식으로 쓰는 것은 당대의 흔한 저술 형식이라고 한다. 1~2권과 3권의 시기가 다른데, 내용의 완성도도 다르다. 3권의 내용이 1~2권의 내용보다 더 완성도가 있는 것 같다.

    ‘화’를 설명하고 있는 것에만 그치고 있는 것에 아니라 어떻게 하면 ‘화’를 내지 않을 것인가에 대한 것을 설명하고 있다.

    내가 어떻게 쓰더라도 이 책은 반드시 읽어 보아야만 그 진가를 이해할 수 있을 것이다.

    이 책의 내용은 매우 좋다. 단, 그와는 별개로 세네카는 권신으로서 대단한 권력을 누렸다고 한다. 그리고 고리대금업으로 사회에 지대한 악영향을 끼친 사람이다. 개인적인 성향이 저서에 들어나 있지 않다는게 대단할 정도이다.

  • CDM 운영 요령

    PostgreSQL의 특성에 따른 문제로 추정된다. UPDATE, DELETE가 잦으면 dead tuple이 증가하여 공간을 차지한다고 한다. 이를 해결하기 위한 vacuum 과정이 있으나 일정 조건에 해당하면 동작을 한다.

    CDM 포맷에 맞게 변환된 자료를 DB에 입력한다. 그리고 적절한 과정을 거쳐 분석할 수 있는 형태로 가공해야 한다. concept_id 매핑과 measurement 테이블의 data cleaning 과정이 주된 부분이다. 500GB SSD에 250GB 정도의 자료를 입력시킨다. 그 이후 강도 높은 매핑 및 클리닝 작업을 하면 dead tuple로 인한 용량 문제가 생긴다.

    지난 번에는 vacuum full analyze가 먹혔는데 이번에는 용량이 매우 부족해져서 작업이 진행되지 않는다. 일단 vacuum verbose analyze로 용량을 조금 확보한 이후에 진행해 봐야 할 것 같다. 용량이 큰 녀석을 이용하는 것이 가장 손쉬운 방법이 될 것 같다.

    CDM 운영에 중요한 경험을 쌓을 수 있을 것 같다.