• 제목/요약/키워드: RDBM

검색결과 92건 처리시간 0.016초

화학 데이타베이스에서 부분구조 검색을 위한 인덱스 구조 (An Index Structure for Substructure Searching In Chemical Databases)

  • 이환구;차재혁
    • 한국정보과학회논문지:데이타베이스
    • /
    • 제31권6호
    • /
    • pp.641-649
    • /
    • 2004
  • 약물의 화학적 구조와 그 약물의 약리작용간의 연관성은, 'Medicinal Chemistry' 분야에서 활발히 연구된다. 이는 화학구조를 기반으로 하여 신약을 설계하려는 시도로서, 약학자는 신약 개발 시 만들고자 하는 약물과 비슷한 화학구조를 가지고 있는 기존 약물들에는 어떠한 것들이 있는지 조사하며, 특정 화학구조가 어떤 약물들에서 나타나는지 신속히 검색하기를 원한다. 이처럼 어떤 화차구조에서, 특정한 부분구조가 존재하는지를 검사하는 것을 부분구조검색(Substructure Searching)이라 하며, 이는 그래프 이론에서 NP-complete인 동형성 판정(Subgraph Isomorphism) 문제로 귀결된다. 검색 시간을 단축시키고자 여러 다른 전근방법들이 연구되었는데, 1990년대에는 구조에 대한 인덱스를 미리 만들어 RDBMS에 저장한 후, 검색시 이론 이용하여 성능을 높이는 방법으로 미국 특허를 획득한 RS3 시스템(http://www.acelrys.com/rs3)이 현재 상용화되어 쓰이고 있다. 본 논문에서는 RS3 시스템의 문제점을 규명하고, 이의 개선방안으로서 새로운 인덱스를 제안한다 RS3 시스템은 각 원자를 중심으로 다른 원자와의 구조를 문자연로 표현하고, 부분구조검색 쿼리를 부분문자열 검색을 실행함으로써 수행하는데, 이의 화학구조를 기술하는 인덱스에는 동일 원자, 동릴 결합에 대한 정렬이 불가능하여 재현율(Recall)과 정도(Precision)가 낮다. 이론 개선하기 위하여 본 논문에서는 2차원의 화학구조를 나누어 1차원의 구조 단편으로 만들고 이를 문자열로 기술하는 방안을 제시하며 구체적인 방법으로 한 인자를 중심으로 최소비용신장트리를 구성한 다음 레벨별로 경로를 나누어 기술하는 방안을 제안하며, 이와 같은 방법의 새로운 인덱스로 재현율과 정도가 급격히 향상됨을 보인다.

관계형 데이터베이스에서 PIVOT 연산과 차등 파일을 이용한 수평 뷰의 점진적인 관리 (Incremental Maintenance of Horizontal Views Using a PIVOT Operation and a Differential File in Relational DBMSs)

  • 신성현;김진호;문양세;김상욱
    • 정보처리학회논문지D
    • /
    • 제16D권4호
    • /
    • pp.463-474
    • /
    • 2009
  • OLAP 이나 e-비즈니스 환경에서는 다차원 데이터의 효율적인 분석을 위하여, 데이터를 여러 형태로 표현하거나 저장한다. 이러한 다차원 구조의 데이터를 차원 애트리뷰트들의 값으로 표시되는 넓은 형태의 수평 뷰로 표현한다. 수평 뷰는 여러 소스로부터 수집한 요약 정보를 유지하도록 실체 뷰로서 저장되며, 복잡한 질의들을 효율적으로 처리하기 위해 사용된다. 그러나, 소스 데이터가 변경될 경우 수평 뷰들의 내용도 수정해야 하는 데, 소스 데이터들이 여러 사이트에 분산되어 있기 때문에 수평 뷰를 관리하는 것은 어렵다. 따라서, 본 연구에서는 점진적인 뷰 관리 방법 중의 하나로 차등 파일을 이용하여 수평 뷰를 관리하는 효율적인 방법을 제시한다. 이러한 방법은 상용 RDBMS에서 제공하는 PIVOT 연산을 이용하여 저장된 수직 형태의 소스 테이블을 수평 뷰로 변환하고, 수직 테이블의 변경 사항을 반영한 차등 파일을 이용하여 수평 뷰에서도 동일하게 적용하는 방법이다. 이를 위해, 우선 저장된 수직 테이블에서 수평 뷰로 변환하여 처리하는 전체적인 프레임워크를 제안한다. 제안한 프레임워크 하에서 수직 테이블을 수평 뷰로 변환하는 PIVOT 연산을 정의한다. 다음으로, 수직 테이블로부터 데이터가 변경될 경우, 데이터에 대한 변경 사항을 차등 파일로 저장한 후, 이를 이용하여 수평 뷰를 갱신하는 방법을 제안한다. 특히, 차등 파일의 구조는 수평 뷰의 구조와 다르기 때문에, 수평 뷰에 적합하도록 변경 사항을 변환해야 한다. 마지막으로 실험을 통하여 제안한 방법은 다른 방법에 비해서 평균 1.2$\sim$5.0배까지 성능을 향상시킴을 보인다.