점점 대용량 시스템 구축이 일상화되어가는 시기라 분산 파일 시스템에 대한 관심이 많아졌습니다. 다양한 파일 시스템이 존재하는데, IBM DeveloperWorks에서 특이한 이름의 Linux 분산 파일 시스템에 관한 문서를 보게 되었습니다. Ceph라는 분산 파일 시스템은 "페타바이트 규모의..."라는 큼지막한 규모감으로 다가옵니다.
 구현해보지는 않아서 실제로 어떨지는 모르지만, 이런 녀석들이 일년 뒤에는 하둡처럼 시장을 이글지도 모르죠. 미리 읽어두어서 나쁠건 없을것 같아서 링크를 겁니다. ^^ 평온한 오후시간 보내시길...


원문링크 : Ceph: 페타바이트 규모의 Linux 분산 파일 시스템

요약: Linux®는 확장 가능한 컴퓨팅 공간과 특히, 확장 가능한 스토리지 공간을 지속적으로 넓혀가고 있습니다. 최근에 Linux에는 POSIX 호환성을 유지하면서 복제 및 내결함성을 통합한 분산 파일 시스템인 Ceph라는 파일 시스템이 추가되었습니다. 이 기사에서는 Ceph의 아키텍처를 살펴본 후 Ceph가 내결함성을 제공하고 대량 데이터의 관리를 단순화하는 방법에 대해 설명합니다.



Tibero4 migration 모험기 (4) 중간정리
Oracle DBA의 Tibero 사용기
 사용기나 감상문 정도로 적으면 될걸 굳이 모험기라는 조금은 부정적인 의미의 단어를 사용한건, Tibero라는 생소한 제품으로의 이전이 제게는 모험에 가깝다고 생각되어서입니다. 아주 주관적인 얘기니까 혹시 티맥스 관계자분들이 보시면... 걍 얘가 겁이 많구나... 이 정도로 생각하시면 됩니다. 현재 Tibero를 아주 잘 사용하고 있습니다. ^^

 그동안 Oracle을 사용하다가 Tibero RDBMS로 이전을 하기로 결정이 내려졌고, 현재 하나의 시스템을 제외하고는 Tibero로 이전을 하였습니다. 처음 Tibero를 접했을때는 너무 자료가 없고, 폐쇄적이라 테스트 해보기 힘들었다는게 문제였고, 실제 서비스에 일부 사용하고 있는 현재는 타업체의 DB, 솔루션과 함께 사용할때 생기는 다양한 문제점의 원인 파악 및 해결이 어렵다는게 가장 큰 문제입니다. 서두에 이미 결론을 내버려서 이 글을 끝까지 읽지 않으실지도 모르지만, 도입 결정 후 시스템 이전 과정과 서비스 과정에서 생긴 일을 하나씩 얘기해보려 합니다.

--------------------------------------------------------------------------

 * Tibero 도입을 결정하다.
 제가 이전에 블로그에 남겼던 글을 읽으셨다면 어느 정도 감을 잡으셨겠지만, Tibero 도입의 결정적인 이유는 다음과 같습니다.
첫째, Oracle RAC 도입 가격에 비해서 아주 저렴한 가격에 Shared Disk 방식의 Cluster DB를 도입할 수 있다.
둘째, Oracle에서 사용하던 Query, Procedure, Function 등이 수정없이 Tibero에서 사용할 수 있다.
셋째, 필요한 기능 추가 및 시스템 에러에 대한 빠른 대응 가능(국내에 연구 개발을 담당하는 조직이 있어서 가능한거죠.)

 위의 세가지 이유로 도입이 결정되었었습니다.

2010/02/18 - [Database] - DBA의 고민 (1) 고성능, 고가용성 시스템 구축. 안정성과 성능의 두 마리 토끼를 잡아야 하는데... ㅜㅜ
 위의 글을 보시면 왜 RAC같은 Cluster DB 제품을 도입하려하는지에 대한 내용이 들어 있습니다.

--------------------------------------------------------------------------

 * 테스트와 이전 작업을 진행하다.
도입이 결정되고는 내부 테스트와 이전 작업이 진행되었습니다. 작업 중 Oracle과는 다른점이 여러가지 발견되었습니다.

 [다르긴 하지만 크게 문제는 없어서 넘어간 점들]
첫째, 리스너는 하나 밖에 사용할 수 없다. 정책적으로 서비스나 솔루션별로 서로 다른 리스너를 사용할 수 없습니다.
둘째, log file들이 저장되는 위치를 마음대로 바꿀수 없다. Oracle에 비해서 자유도가 떨어지더군요.

 [문제가 있지만, 아직 패치가 되지 않은 점들]
첫째, Index rebuild를 할때 저장되는 Tablespace를 바꿀 수 없다. 여기에 관해서는 제가 예전에도 글을 올렸던 적이 있습니다. 2010/02/01 - [Database] - Tibero4 migration 모험기 (3) Index rebuild 기능

둘째, 서로 다른 Tibero instance간에 Materialized View를 생성해서 쓰면 성능 문제가 생길 수 있다.
  저희가 Materialized View(이하 M-View)를 사용하면서 격은 문제입니다. M-View에는 Fast라는 옵션을 줄 수 있습니다. 아시겠지만, 이 옵션을 쓰면 원본 Table에서 변경된 Data만 가져와서 M-View에 적용을 해줍니다. 이러면 M-View의 Data 동기화 작업 시간을 줄여주고, CPU 부하도 줄여주고... 뭐 이런저런 장점이 있습니다. 그런데 문제는요  동일한 인스턴스에서 M-View를 생성하면 Fast 옵션을 줄수 있는데, 서로 다른 티베로 인스턴스에서 DB Link를 이용해서 M-View를 생성하면 Fast 옵션을 줄 수 없다는겁니다. 어쩔 수 없이 Force 옵션을 주고 생성을 하게 되는데, 이러면 아카이브 파일이 엄청나게 쌓이더군요. M-View를 Refresh할때 마다 대량의 아카이브 파일이 생겨서 운영하기가 힘들 정도였습니다. 언제 패치가 나올지 확답을 받지 못한 상태입니다. 혹시 M-View를 많이, 그리고 여러 DB Instance에서 운영하시는 분들은 참고하시길 바랍니다.


--------------------------------------------------------------------------

이건 tbAdmin 사용자들을 위한 팁입니다.

* tbAdmin에서의 PSM 실행
 Oracle에서 DBMS_JOB 패키지를 사용하여 job을 설정하죠. Tibero에서도 동일하게 job을 설정합니다. 문제는 tbAdmin(TmaxData에서 Tibero client로 배포하는 이클립스 기반의 프로그램입니다.)의 sql 편집창에서 해당 PSM(Oracle의 PL/SQL에 해당합니다.)을 실행시켜도 job이 설정되지 않습니다. 그렇다고 에러 메세지도 보이지 않습니다.
 해결 방법은 간단하더군요. SQL 편집창 말고 PSM 편집창이 따로 있습니다. 거기에서 실행시키면 잘 됩니다.


 최근 들어 클라우드 컴퓨팅에 대한 관심이 많아졌고, 그래서인지 Hadoop(하둡)에 관한 글도 예전보다는 자주 보이는것 같습니다. 최근엔 한글로 된 책도 나왔더군요.
HADOOP 완벽 가이드
카테고리 컴퓨터/IT
지은이 톰 화이트 (한빛미디어, 2010년)
상세보기

 최근에 삼성 SDS에서도 Hadoop 개발 가능자를 구인하는걸 본적이 있습니다. 아마 Private Cloud System을 구축하려는 고객사들이 점점 늘어나는게 아닌가하는 추측을 해봅니다. 최근에 만난 SI 업체의 영업 담당자의 얘기를 들어보니 모 통신사에서 사내 클라우드 컴퓨팅 시스템을 구축하는 프로젝트를 진행했었다고 하던데, 앞으로 배워두면 경력에 큰 도움이 될것 같다고 생각합니다.
 이런 저런 뉴스들을 접하던 중 한국 IBM DeveloperWorks에 Hadoop에 관한 글이 있더군요. 한번 읽어보면 좋을것 같아서 소개합니다.

제목 : Hadoop을 이용한 분산 데이터 처리, Part 1: 시작
부제 : 단순 클러스터 설치 및 구성하기

Hadoop은 일부 대형 검색 엔진에서 데이터 축소를 위한 핵심 기능으로도 사용되고 있기는 하지만 분산 데이터 처리를 위한 프레임워크라는 설명이 더 잘 어울린다. 단순한 데이터가 아니라 검색 엔진에 필요한 데이터 및 검색 엔진에서 수집한 데이터 등과 같은 대용량 데이터의 분산 처리에 적합한 프레임워크이다. 많은 애플리케이션에서는 분산 프레임워크인 Hadoop을 통해 병렬 데이터 처리를 효과적으로 수행할 수 있다.

이 기사는 Hadoop 및 아키텍처를 소개하기 위한 것이 아니라 간단한 Hadoop 설정을 보여 주기 위한 것이다. 참고자료 섹션에서 Hadoop 아키텍처, 컴포넌트 및 작동 원리에 대한 자세한 정보를 볼 수 있다. 해당 면책사항을 검토한 후 Hadoop 설치 및 구성 과정을 살펴보자.


 그동안 여러 세미나에 다녀왔지만, 아마 MS SQL Server만 다루는 세미나는 처음인걸로 기억합니다. 바로 지난 금요일(2010년 6월 11일)에 열린 "SQL Unplugged 괴물 이야기"라는 세미나입니다.
 처음에는 MicroSoft에서 개최하는 행사인줄 알았는데, PASS(SQL Server 전문가 협회(PASS_Professional Association for SQL Server))라는 커뮤니티의 한국 회원분들의 주도하에 진행된 행사더군요. 그동안 Oracle을 주로 사용해왔던터라 PASS라는 이름도 그날 처음 들었습니다. 엑셈이 MS-SQL 분야에서도 컨설팅을 한다는 것도 신선한 소식이었고, 무엇보다 제가 듣고 싶었던 HA, BI, 대용량 DB, Query tunning 등에 대한 다양한 세션이 준비되어있어서 아무 맘에 들었었습니다. 문제는 제가 DBA 세션만 들었다는 겁니다. 동영상 편집이 완료되는대로 업로드한다고 하니까 곧 나머지도 볼 수 있을거라 생각합니다.

1. 엑셈의 MS SQL Server 컨설팅
 사실 Oracle 관련 정보만 평소에 접하다보니 엑셈이라는 이름이 아주 친숙했었습니다. 근데, SQL Server 세미나에서 엑셈이라는 이름을 듣게 될줄은 몰랐었습니다. 엑셈의 컨설턴트가 발표하는 세션을 들었는데, DMV(Dynamic Management View)라고 Oracle의 v$ 혹은 DBA_로 시작하는 각종 Dictionary View에 해당하는 것이 존재하는것도 알게되었고, 이를 튜닝, 트러블슈팅에 이용하는것도 조금은 알게되었습니다. 앞으로 공부할게 너무 많아져서 고민입니다.


2. HA. DB 복제와 MSCS에 대한 얘기
 DBMS에서 HA 구성에 대한 얘기를 하면 흔히 Oracle의 RAC를 떠올리게됩니다. 시장에서 가장 많이 알려진 제품이고, 구축 사례도 많기 때문이죠. 이와 비슷한(사실 비슷하지만 많이 다른것 같습니다. IBM의 P시리즈의 가상화를 이용한다는걸로 알고있습니다.) IBM의 pureScale이라는 DB2 제품이 나왔습니다. 다만, SQL Server에서는 아직 이런식의 Cluster 제품은 나오지 않았습니다. 그래서인지 DB 복제와 MSCS에 대해서 발표자들이 소개했고, 참석자들의 질문은 DB 복제에 집중되었습니다. 복제 관련 질문이 너무 많아서인지 사회자가 복제에 대한 질문을 제한하기도 했었죠. 복제에 대한 질문이 너무 많아서인지 제가 궁금했던 점과 인식하지 못했던 점까지 알게되어서 좋았습니다.
 세미나에서 들은바로는 현재 많이 사용하고 있는 복제는 2008 이후 버전에서는 P2P 복제가 대체하게 된다고합니다. 앞으로 P2P 복제에 대해서 공부를 좀 해야 겠다는 생각을 해봅니다.

 그리고 MSCS(MicroSoft Cluster Service의 약자)에 대해서 얘기하자면, 현재 잡코리아에서 이를 이용해서 Active-Standby 구성의 HA를 운영중이며, 장애 발생시 1분 이내에 처리가 완료된다고 합니다. 3rd party Cluster 제품을 이용하는 업체도 MSCS로 재구축하는 사례가 있다는 얘기를 하던데요. Windows 환경에서의 Cluster 구성은 이제는 MSCS가 제일 안정적인가봅니다.


3. Business Intelligence
 사실 이 부분은 제가 지금 근무하는곳으로 이직 하기전에 했던 DW구축 및 운영 업무와 관련이 있어서 듣고 싶었던 세션입니다. HA와 튜닝 등의 세션에 밀려서 듣지 못했지만, 동영상 편집이 끝나는대로 볼 수 있게 해준다고 하시네요. 기대하고 있어요~ ^^
앞으로 이 부분은 실무에도 적용을 해보고 싶은데, 현재는 정보 부족으로 테스트도 해보지 못했습니다. 예전에 썼던 DataStage만큼만 해주면 참 좋을것 같은데...


 MS SQL Server는 중소형 서비스에 적합한 쉽게 설치해서 쉽게 쓰는, 그래서 세세한 튜닝이나 운영은 필요없는 초보용 DBMS라는 인식이 많았던게 사실입니다. 저 역시 그렇게 생각해왔었구요. 그런데 이번 SQL Unplugged에 참석하고나서 생각이 많이 바뀌었습니다. 충분한 교육과 정확한 자료만 있다면 아주 파워풀하게 사용할 수 있겠다는 생각이 듭니다.
앞으로 SQL Server에 투자하는 시간이 좀더 늘어날것 같습니다.


ROqynQX3gVz0_QcF16svVOdb_B0bY6IcdGWU77GNOT8,

 저희 회사에 Tibero TAC(Tibero Active Cluster)가 도입되었다는건, 이전의 제 글들을 보신 분이라면 아실겁니다. 국산 DBMS 시장에 여러가지 제품이 출시되어 있지만, Oracle RAC처럼 Shared disk 방식으로 구현한 Active-Active 형태의 Cluster 제품은 Tibero TAC가 처음이죠.

 현재 TAC를 사용중인데 편한 점부터 얘기를 해볼까합니다.

 우선 서비스 중단 없이 OS, DBMS 등의 패치 및 점검 작업 등을 할 수 있다는 점이 아주 편하다고 생각합니다. 각 노드를 번갈아가면서 재부팅하는 작업을 해보니 꽤 편하더군요. ^^  그리고 한쪽 노드에 부하가 몰려있을때라도 좀 한가한 나머지 노드에 접속하여 Data 조회, 조작 작업을 할 수 있는 가용성. 확실히 Cluster의 장점이 아닐까요?

 이제, TAC 제품의 단점을 얘기해볼까 합니다.

첫째, 원인을 정확하게 알 수 없는 성능 저하 현상 발생.
Storage와 OS 등의 제품들과 엮여서 딱히 어느 곳이 문제인지 알 수 없는 성능 저하 현상이 발생합니다. 그것도 자주!
벌써 몇달째 고생중인 문제인데요. 현재 원인 규명 작업을 진행중인데 쉽게 해결될것 같지가 않습니다.

둘째, 이기종 DBMS와의 data 공유가 어렵다. DBMS 자체가 이기종 DBMS와의 data 공유가 어렵다는건 티베로 만의 문제는 아니긴 한데, Data 공유를 위한 솔루션(ETL, DB복제툴 등)에서 티베로를 거의 지원하지 않는다는게 문제입니다. TmaxData에서 나온 제품만 지원하고 있죠. DB복제툴은 Oracle이외의 DBMS는 제대로 지원하지 않고, ETL tool의 경우에는 다양한 DB를 지원하지만 실시간 동기화(2, 3분 이내)에는 적절하지 않더군요.
Oracle과는 JAVA Gateway를 이용해서 처리할 수 있는데, 현재는 어느정도 해결이 되었지만 이 부분이 그동안 문제가 많았었죠. 프로세스가 정상 종료되지 않고 남아서 성능을 떨어뜨리는 현상을 일으켰는데, 현재는 Tibero 패치를 통해서 해결이 되었습니다. 뭐, Oracle과는 어느정도 해결이 된다고하지만 그 외의 DB와는 아직 문제가 많습니다. MS-SQL과는 Openquery를 통해서 select만 가능합니다. MS-SQL Gateway를 이용해서 data 공유가 가능하다고 하는데, 별로 권장하지 않는다고합니다. 그래서 좀 고민이 되는 부분입니다. 



 가장 유명한 리눅스 배포판 중에 하나인 SLES(Suse Linux Enterprise Server)와 RHEL(Red Hat Enterprise Linux)를 비교한 글입니다. 특이한 점이라고 한다면 IBM의 System p에서의 SLES, RHEL에 대한 글이라는 겁니다. x86 이외의 CPU에서의 Linux에 대한 글이 흔하지 않아서 소개하게 되었습니다.
 System p는 보통 AIX 운영체제하에서 사용해본 분들이 많이 있을거라 생각합니다. 저도 예전에 근무했던 직장에서는 강력한 성능과 가상화 기능 등을 이용하여 DBMS, WAS 등을 운영했었습니다. 그 중에 한 서버에는 도입시에 SLES 9 설치 CD가 끼어 있더군요. 한번 설치해보는건데... 아쉽네요. 결국 저도 System p에서는 AIX 이외의 운영체제를 설치 및 운영해본 경험은 없습니다. 그래서 더 흥미가 생겼구요. 한번쯤 읽어보시면 좋을것 같습니다.

원저자 : Ken Milberg, 대표와 컨설턴트, 기술 편집자, 지역 전문가, techtarget.com

원문 : IBM System p에서 SLES(SUSE)와 RHEL(Red Hat) 비교

소개

LoP(Linux on POWER)는 APV(Advanced Power Virtualization) 및 IBM System p5®와 함께 2005년에 출시되었다. 이 제품의 출시로 인해 IBM System p® 아키텍처 사용자는 Linux를 변경 작업 없이 IBM의 LPAR(logical partitioning) 기술 위에 설치할 수 있었다. 따라서 IBM의 UNIX® 브랜드인 AIX®처럼 IBM의 Linux 브랜드인 System p에서도 가상화 기능을 사용할 수 있게 되었다. 이러한 기능에는 마이크로파티셔닝, VIOS((Virtual IO Server) 및 지원되는 고급 레벨 기능(예: CoD(Capacity on Demand))이 포함된다. Live Partition Mobility와 같은 Power6의 혁신적인 최신 기능에 의해 지원되기는 하지만 이러한 기능을 사용하면 System p 서버 간에 중단 시간 없이 워크로드를 동적으로 이동할 수 있으며 전용 용량을 공유하여 예비 프로세서 주기의 사용을 최적화할 수 있다.

LoP 사용자는 PowerVM™의 혁신 기능을 알아야 한다. 과거에 System p AVE라고 불렸던 이 기능의 현재 이름은 PowerVM Lx86이다. PowerVM Lx86은 애플리케이션의 네이티브 설치 없이 POWER6™, POWER5+™ 또는 POWER5™ 프로세서가 탑재된 System p 또는 BladeCenter® 모델에 대부분의 32비트 x86 Linux 애플리케이션을 설치 및 실행할 수 있도록 지원한다. 이 기능은 POWER™ 프로세서 기반 시스템에서 실행되는 x86 Linux 애플리케이션 환경을 구축한 후 동적으로 x86 명령어를 Power Architecture® 명령어로 변환하고 캐싱하여 성능을 향상시킨다. 또한 x86 Linux 시스템 호출을 LoP 시스템 호출에 맵핑한다. 이 솔루션의 고유한 특징은 네이티브 포팅 또는 애플리케이션 업그레이드 없이도 대부분의 x86 Linux 애플리케이션을 실행할 수 있다는 것이다. 이 기능은 SLES와 RHEL에서 모두 지원된다.

하지만 Red Hat 및 Novell 배포판이 둘 다 IBM System p에서 지원되는가? 물론 두 배포판 모두 지원된다. 하지만 주의해야 할 몇 가지 기본적인 차이점이 있다. Linux 배포판을 다른 Linux 배포판으로 이동하는 대규모 프로젝트에 참여한 프로젝트 관리자로서 필자는 이 의사 결정을 위해 고려해야 할 중요한 요소를 제시할 수 있다. 이러한 요소에는 사용자에게 GUI가 얼마나 중요한지, 배포판 벤더에게서 받고자 하는 지원의 종류 및 각 배포판의 시장 점유율 등이 있다. 의사 결정을 돕기 위해 볼륨 그룹 관리 및 물리적 볼륨을 논리적 환경에 할당하는 작업과 관련된 내용을 살펴보자.


 통계학개론 리포트를 작성하던 중, OpenOffice.org의 calc에서 이상한 점을 발견했습니다. A, B열의 data를 가지고 그래프와 표준편차를 구하는 함수로 계산된 결과를 보니 뭔가 맞지 않는다는 느낌이 들었었습니다. 열 건 정도 되는 Data를 눈으로 봐도 B의 표준편차가 적을텐데, 결과가 반대로 나오더군요. 해당 함수를 다시 확인해봤는데, 오타는 없었습니다.
=STDEV(A1:A10)
=STDEV(B1:B10)
위의 함수였거든요.
어쩔수 없이 MS Excel에서 돌려보니 제가 예상한 결과가 나오네요. 한글 OpenOffice.org 3.2의 버그인지 아니면 제가 옵션같은걸 잘못줬는지 모르겠습니다. 암튼 리포트 제출은 했지만 뭔가 찜찜한게...
 그동안 MS Windows 7에 Oracle client를 설치하려면 설정 파일을 수정해줘야만 했었습니다. 각종 블로그에 설치하는 방법이 올아왔었죠. 문제는 그렇게 해줘도 일부 설치가 안되는 PC가 생겼으며, 당연히 Oracle의 공식적인 지원이 없었기에 안 되는 사람은 어쩔수 없이 Windos XP로 돌아가거나, Windows 7 재설치라는 악수를 둘 수 밖에 없었습니다.

 이번에 Oracle 11g R2의 Windows 버전이 출시되었습니다.
OTN에 Oracle 11g R2 다운로드 페이지 (지난번에 제가 64비트 버전은 링크가 깨져있다고 했었는데, 이번에는 잘 들어가집니다. 다운로드 받아야 겠네요. ^^)

 위의 웹 페이지에서 Windows 버전을 다운로드 받으면 MS Windows 7에 정상적으로 설치됩니다. 물론 Oracle 9i 및 10g client를 설치하면 사용할 수 있었던 Enterprise Manager는 메뉴에서 사라졌네요.(11g R1에서부터 없어졌었나요? 11g R1을 설치해보질 않아서 확인을 못했습니다.) 그 외에는 잘 됩니다.

 한국 IBM DeveloperWorks에 올라온 글 중에서 [오픈 소스 클라우드 분석]이라는 글을 소개합니다.
이 글은 요즘 구글, IBM, MS, 아마존 등에서 시장 선점을 하려 애쓰는 클라우드 컴퓨팅을 오픈소스로 구현된 프로그램들을 이용해서 설명하고 있습니다. 많이 알려진 Xen이나 KVM 등도 거론되고 있네요.
기본적인 가상화에 대한 설명과 클라우드 시스템에 대한 내용이 담겨있습니다. 상세한 설치 및 운영에 대한 내용을 기대하신다면 실망하실 수 있습니다. 개념만 알아본다고 생각하시길...

원문 보기 : 오픈 소스 클라우드 분석 (부제 :  Iaas(Infrastructure as a Service)를 위한 빌딩 블록)

요약: 이제 더 이상 신생 기술이 아닌 클라우드 컴퓨팅은 애플리케이션을 사용하고 개발하는 방법을 근본적으로 바꿔 놓은 유용하고 중요한 기술입니다. 예상대로 Linux®와 오픈 소스가 클라우드의 기반(공용 및 개인용 인프라를 위한)을 제공합니다. 이 기사에서는 클라우드, 클라우드의 아키텍처 및 이러한 동적이고 확장 가능한 컴퓨팅 및 저장소 플랫폼을 개발하는 데 사용된 오픈 소스 기술에 대해 자세히 설명합니다.

 필자소개
M. Tim Jones는 임베디드 펌웨어 아키텍트이자 Artificial Intelligence: A Systems Approach, GNU/Linux Application Programming(현재 2판), AI Application Programming(현재 2판) 및 BSD Sockets Programming from a Multilanguage Perspective의 저자이다. 정지 위성을 위한 커널 개발에서 시작해 임베디드 시스템 아키텍처와 네트워크 프로토콜 개발에 이르기까지 다양한 분야에 대한 공학 지식을 가지고 있다. 콜로라도주 롱몬트 소재의 Emulex Corp.에서 컨설턴트 엔지니어로 활약하고 있다.


 
 아래는 최근에 읽은 클라우드 관련 서적입니다. 좀 오래된 내용들이 포함되어 있긴하지만 클라우드 컴퓨팅이 어느정도까지 왔는지를 알아볼 수 있습니다.
클라우드의 충격
카테고리 컴퓨터/IT
지은이 시로타 마코토 (제이펍, 2009년)
상세보기


  작년말에 한창 문제가 되었던 내용입니다.
저희가 운영하는 Oracle DB 중에서 Tibero로 이전하는 DB가 있었습니다. Tibero에서 Oracle로 Gateway(Tibero에서 제공한 Gateway)를 이용해서 Database link를 만들어서 일반 DB Link 이용하듯이 쓸 수 있어서 좋았는데, 문제는 Oracle DB에 있는 기준 정보들이 변경되었을때 이를 Tibero에 적용시킬 방법이었습니다. Oracle에서는 현재 Tibero로 DB Link를 지원하지 않으므로 Oracle측에서 변동내용이 있을때 Data 동기화 작업을 위해서 Tmax Prosync라는 제품을 이용하였습니다.

* Tmax Prosync
[Oracle to Tibero Prosync], [Tibero to Oracle Prosync]가 있는데, [Tibero to Oracle Prosync]는 시스템에 부하를 많이 주는 문제가 있어서 제외하고 [Oracle to Tibero Prosync](이하 Prosync)만 사용하기로 했었습니다.
 Prosync는 Oracle의 로그마이너를 이용하여 테이블의 변동 내용을 알아내고, 이를 로그 파일로 저장한뒤에 Tibero측에 insert, update, delete 문장을 보내서 실행시키는 구조입니다. 그래서 Oralce DB에서도 필요한 설정을 했죠. (알고 계시겠지만 Supplemental Logging 설정이 필요합니다.)
그리고 실제 구축을 했었죠. 그런데 실제로 사용하는 중에 문제가 생겼습니다.

* 문제
 일부 테이블은 몇개의 컬럼이 빠진채로 변경 내용이 감지 되어서 Tibero측에 정상적인 쿼리문이 보내지지 않더군요.

* 원인 및 해결 과정
 TmaxData의 여러 엔지니어가 와서 이 문제에 달려들었었습니다. 결국 마지막에 밝혀낸건 Oracle logminer의 버그라고 하네요. 10g 버전에서는 해결이 되었다고 합니다. 10g를 사용하는 곳은 이상없이 사용 가능하실테고, 저희처럼 9i를 사용하는 곳은 문제가 되네요. Function Based Index가 생성되어있는 테이블은 Logminer에서 비정상적으로 인식을 해서 변경 내용을 정상적으로 감지 하지 못하더군요. Function Based Index를 제거하니까 바로 정상적으로 인식하더군요.
 해당 인덱스를 살펴보니 실제로 쓰이지는 않는 인덱스이더군요. (왜 만들었는지... 제가 입사하기전에 만든거라 왜 만든건지, 누가 요청한건지를 모릅니다.) 그래서 해당 인덱스를 일반 인덱스로 바꿔버렸습니다. 그 다음부터는 잘 되더군요.

+ Recent posts