KR100463596B1 - 생물정보학에서의 데이터베이스 처리 방법 - Google Patents

생물정보학에서의 데이터베이스 처리 방법 Download PDF

Info

Publication number
KR100463596B1
KR100463596B1 KR10-2002-0060295A KR20020060295A KR100463596B1 KR 100463596 B1 KR100463596 B1 KR 100463596B1 KR 20020060295 A KR20020060295 A KR 20020060295A KR 100463596 B1 KR100463596 B1 KR 100463596B1
Authority
KR
South Korea
Prior art keywords
sequence
database
queue
service
service target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
KR10-2002-0060295A
Other languages
English (en)
Other versions
KR20040029858A (ko
Inventor
김재훈
김민준
이성준
임성화
박상민
이수진
이원태
Original Assignee
학교법인대우학원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 학교법인대우학원 filed Critical 학교법인대우학원
Priority to KR10-2002-0060295A priority Critical patent/KR100463596B1/ko
Priority to US10/668,026 priority patent/US20040068381A1/en
Publication of KR20040029858A publication Critical patent/KR20040029858A/ko
Application granted granted Critical
Publication of KR100463596B1 publication Critical patent/KR100463596B1/ko
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids

Landscapes

  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Biology (AREA)
  • Biophysics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Analytical Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 생물정보학에서의 데이터베이스 처리 방법에 관한 것으로서, 생물정보학 관련 서열정보를 저장하는 데이터베이스를 처리하는 방법에 관한 것이다.
이러한 본 발명은, 사용자로부터 서비스 대상 서열을 수신하여 큐에 저장하는 제1단계; 제1단계와 병행하여 큐에 서비스 대상 서열이 있는지를 조사하는 제2단계; 큐에 서비스 대상 서열이 있는 경우에는 데이터베이스로부터 현재 순번의 서열을 읽어 큐에 있는 모든 서비스 대상 서열과 비교하는 제3단계; 제3단계에서 비교된 서비스 대상 서열 중 데이터베이스의 모든 서열에 대하여 비교된 것이 있는지를 판단하여, 해당 서비스 대상 서열을 큐로부터 제거하는 제4단계; 및 현재 순번을 하나 증가시키고 제2단계로 진행하는 제5단계를 포함하는 것을 특징으로 한다.
본 발명을 사용하면, 데이터베이스를 한번 액세스해서 현재 처리되는 모든 사용자 요청을 위해 사용하므로 각 사용자 요청에 대해서 데이터베이스를 한번만 액세스한다. 그러므로, 평균 시스템 비용이 감소하고 좋은 응답시간을 갖게 된다. 또한, 종래의 방식에 비하여 같은 하드웨어상에서 받아들일 수 있는 사용자 도착율의 임계값이 높아서 많은 사용자에게 서비스를 제공할 수 있다.

Description

생물정보학에서의 데이터베이스 처리 방법{ Method to handle database for Bioinformatics }
본 발명은 생물정보학에서의 데이터베이스 처리 방법에 관한 것으로서, 특히 사용자가 생물정보학 관련 서열의 비교를 요청하면 이전에 처리하던 사용자 요청에 대한 처리가 종료될 때까지 기다리지 않고 함께 처리함으로써, 각 사용자 요청에 대해 데이터베이스를 한번만 액세스하도록 하여 시스템 비용과 응답시간에서 이익을 볼 수 있는 방법에 관한 것이다.
21세기 초에 인간 유전자 프로젝트의 성공적인 수행은 모든 생명과학 분야의 급속한 발전을 야기하였으며, 이러한 인간 유전체 지도의 완성으로 전개되는 유전자 이후시대(Post Genom)에는 인간의 모든 유전자와 유전자의 발현으로 생성되는 단백질들의 구조와 기능에 관한 연구가 활발히 수행될 것이다. 컴퓨터가 0과 1로 표현되는 정보를 저장하고 있듯이, 인간의 유전자는 A, T, G, C라는 네개의 문자로 표현된 약 30억개의 정보를 저장하고 있다. 연구가 진행되면서 막대한 디지털 정보가 축적되고 있으며, 웹(Web)을 통해 공개된 생물정보학 관련 데이터베이스도 SwissProt, GenBank, EMBL 등 매우 많다.
이러한 생물정보학 관련 데이터베이스를 사용자 요청에 따라 검색하여 비교하고 알맞은 유전자 정보를 찾아주는 다양한 프로그램이 있는데, A, T, G, C로 이루어진 데이터를 비교 검색하여 서열 비교를 수행하는 FastA, Blast, ClustalW 등의 패턴 매치 프로그램과 데이터의 서열로부터 구조를 예측하는 J-NET이나 J-PRED와 같은 프로그램으로 나뉜다.
미래의 생물학자는 실험보다는 프로그램를 활용한 정보 분석에 더 많은 시간을 투자해야 할 것으로 전망하는 견해가 많다. 유전자 이후 시대의 생물정보학이 단순히 데이터 제공 서비스 이외에 유전자 자체의 완전한 이해를 그 목적으로 하게 되었다는 것을 의미하는 것이다. 이는 프로그램의 더 강력한 기능과 컴퓨팅 파워에 대한 요구의 증대와 연관이 있다. 또한, 생물정보학에서 사용되는 데이터베이스는 연구가 진행됨에 따라 데이터의 크기가 기하급수적으로 커지고 있다. 이런 데이터베이스 크기의 증대는 생물정보학에서 데이터베이스의 효율적인 사용을 더욱 중요하게 부각시키고 있다.
종래에 사용되고 있는 FastA나 Blast 등의 프로그램들은 웹을 통해 서비스되며, 사용자가 서버에 접속하여 비교하고자 하는 단백질 서열을 전송한다. 그러면 서버는 데이터베이스에서 서열을 읽어들여 사용자가 요청한 서열과 비교한다. 이러한 프로그램들은 데이터베이스 기반으로 작동한다. 즉, 매번 사용자의 요청마다 데이터베이스를 액세스하여 데이터를 읽은 후 사용자의 요구에 응답을 해야 한다. 예로서 FastA의 경우 사용자는 비교/분석하고 싶은 서열을 FastA 서버에 전송한다. 전송되는 사용자 서열은 데이터베이스에 저장되어 있는 각각의 서열과 비교되어 유사도가 검사되고 일정치 이상의 유사도를 갖는 서열을 사용자에게 돌려준다. 이때 서버는 모든 사용자 요청 각각에 대해서 데이터베이스를 액세스한다.
도 1을 참조하여 이러한 절차를 통해 서비스할 때의 비용을 설명하기로 한다. 여기서 CDB는 사용자 요청이 왔을 때 데이터베이스를 한번 액세스하는 비용이며, Cseq는 데이터베이스에서 읽어들인 모든 서열과 사용자가 요청한 서열을 비교 분석하는 비용이다. 즉, 하나의 사용자 요청 Rn(n = 1, 2, 3, ...)에 대해서 서버는 CDB+Cseq만큼의 비용이 소요된다. 이러한 종래의 구조에서는 현재 처리되고 있는 사용자 요청이 없을 때는 사용자 요청이 이루어지면 즉시 사용자 요청을 처리하고, 이미 다른 사용자 요청이 처리되고 있을 때는 새로 발생한 사용자 요청은 순서대로 큐(Queue)에 등록된다. 도 1에서 요청 R2는 R1이 처리되는 동안 발생 하였기 때문에 R2는 큐에 등록되고, R1의 처리가 모두 끝나는 시점에서 처리됨과 동시에 큐에서 제거된다.
데이터베이스에서 한 블럭을 읽어들일 때 소요되는 디스크 액세스 시간을 Cio, 데이터베이스에 저장되어 있는 전체 서열의 개수를 Nb, 데이터베이스에서 읽어들인 하나의 단백질 서열과 사용자가 요청한 단백질 서열간의 비교 시간, 즉 프로세싱 시간을 Ccpu로 정의하기로 한다. 서버는 하나의 사용자 요청 단백질 서열을 비교할 때마다 데이터베이스의 모든 내용을 메모리로 가져와야 한다. 이때 걸리는 시간은 데이터베이스를 한번 액세스하는 시간과 데이터베이스에 저장되어 있는 전체 서열 개수의 곱과 같다. 한 블럭을 읽어들일 때의 시간은 모두 같다고 가정하면 액세스 시간(CDB)는 아래의 수학식 1과 같이 나타낼 수 있다.
CDB는 데이터베이스의 모든 서열을 액세스하는 시간이며, 데이터베이스 검색을 위한 디스크 액세스 시간이다. 그리고, 각 서열간의 비교 시간은 사용자가 요청한 하나의 서열을 데이터베이스에서 읽은 비교 대상 서열과 비교하는 시간(Cseq)이 된다. 데이터베이스의 모든 서열과 사용자 요청 서열을 비교하는 시간은 다음의 수학식 2와 같이 나타낼 수 있다.
그러면, 한 사용자가 서버에 접속하여 하나의 단백질 서열을 비교하는데 걸리는 평균시간()은 수학식 1과 수학식 2를 더한 시간으로서 다음의 수학식 3과 같이 나타낼 수 있다.
종래의 방법에 대한 응답시간을 설명하기로 한다. 이 때, 사용자 요청은 발생율의 포아송과정(Poisson process)이라 가정하기로 한다. 서버가 하나의 사용자 요청을 처리하고 있을 때 다른 사용자 요청이 발생하면 새로운 사용자 요청은 큐에 등록된다. 즉, 사용자 요청들은 발생한 순서대로 큐에 등록되고, 큐에 등록된 순서대로 순차적으로 서비스된다. 모든 요청의 서비스 비용이 같다고 가정하면 M/G/1 큐잉 모델이 된다.
서비스 시간은 단일 사용자 요청을 처리하는 시간과 같다. 즉, 서비스 시간은 하나의 사용자 요청이 서비스를 받는 평균비용()이 된다. 여기서 서비스율로 표시된다. 사용자 요청 발생율()과 서비스율()을 M/G/1 큐잉 모델의 응답시간에 대입해 본 결과는 다음의 수학식 4와 같다.
위에서 설명한 바와 같이, 종래의 방법을 사용하면 각 사용자 요청에 대하여 매번 데이터베이스의 검색을 수행해야 하므로 많은 시스템 비용이 소요된다. 또한 서버에 과부하를 초래하여 응답시간이 길어질 수 있다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 제안된 것으로서, 사용자가 생물정보학 관련 서열의 비교를 요청하면 이전에 처리하던 사용자 요청에 대한 처리가 종료될 때까지 기다리지 않고 함께 처리함으로써, 각 사용자 요청에 대해 데이터베이스를 한번만 액세스하도록 하여 시스템 비용과 응답시간에서 이익을 볼 수 있는 방법을 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여, 본 발명에 따른 생물정보학에서의 데이터베이스 처리 방법은, 생물정보학 관련 서열정보를 저장하는 데이터베이스와 연동하고 일정 통신 네트워크를 통해 각 사용자 단말과 접속하는 서버에서, 상기 각 사용자 단말로부터 요청된 서비스 대상 서열을 상기 데이터베이스의 서열과 비교/분석하기 위하여 상기 데이터베이스를 처리하는 방법에 있어서, 상기 사용자 단말로부터 서비스 대상 서열을 수신하여 큐(Queue)에 저장하는 제1 단계; 상기 제1 단계와 병행하여, 상기 큐에 서비스 대상 서열이 있는지를 조사하는 제2 단계; 상기 제2 단계에서의 조사 결과, 상기 큐에 서비스 대상 서열이 있는 경우에는 상기 데이터베이스로부터 현재 순번의 서열을 읽어 상기 큐에 있는 모든 서비스 대상 서열과 비교/분석하는 제3 단계; 상기 제3 단계에서 비교/분석된 서비스 대상 서열 중 상기 데이터베이스의 모든 서열에 대하여 비교/분석된 것이 있는지를 판단하여, 해당 서비스 대상 서열을 상기 큐로부터 제거하는 제4 단계; 및 상기 현재 순번을 하나 증가시키되, 상기 데이터베이스의 모든 서열을 읽은 경우에는 상기 현재 순번을 초기화하고, 상기 제2 단계로 진행하는 제5 단계를 포함하는 것을 특징으로 한다.
도 1은 종래 방법을 사용하는 경우의 비용에 관한 개요도,
도 2는 본 발명이 적용되는 시스템의 구성도,
도 3은 본 발명의 실시예에 관한 흐름도,
도 4는 구체적인 서비스 방식의 설명을 위한 절차도,
도 5는 시스템 비용에 관한 비교 그래프,
도 6은 응답시간에 관한 비교 그래프를 도시한 것이다.
* 도면의 주요부분에 대한 부호의 설명
1: 사용자 단말 2: 통신 네트워크
3: 서버 3-1: 사용자 요청 접수용 프로그램
3-2: 서열 비교/분석용 프로그램 4: 데이터베이스
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하기로 한다.
도 2를 참조하여 본 발명이 적용되는 시스템의 개요를 설명하자면, 본 발명에 따라 생물정보학 관련 서열정보에 대한 비교/분석 서비스를 제공하는 주체는 서버(3)이다.
이 서버(3)는 생물정보학 관련 서열정보를 저장하는 데이터베이스(4)와 연동하고, 일정 통신 네트워크(2)를 통해 각 사용자 단말(1:클라이언트)과 접속한다. 여기서 통신 네트워크(2)는 인터넷망인 것이 바람직하다. 본 발명은 서버(3)에 설치되는 사용자 요청 접수용 프로그램(3-1)과 서열 비교/분석용 프로그램(3-2)에 의하여 바람직하게 구현될 수 있다.
각 사용자들은 자신이 비교하기 원하는 서열정보를 서버(3)로 전송하여 서열의 비교/분석을 요청하며, 서버(3)는 사용자가 요청한 서열을 데이터베이스(4)에 저장되어 있는 서열정보와 비교/분석하여 그 결과를 해당 사용자 단말로 보내준다.
본 발명은 데이터베이스(4)를 액세스하는 방법에 그 핵심이 있는 것이며, 서버(3)에서 수행하는 비교 및 분석 방법은 종래에 각 서버에서 이루어지고 있는 방법과 동일한 것이므로 비교 및 분석과 관련한 상세 설명은 생략하기로 한다.
도 3을 참조하여 데이터베이스에 저장되어 있는 서열이 D(n)(n=1,2,3,...,n)인 경우에 대한 바람직한 실시예를 설명하기로 한다.
사용자 요청 접수용 프로그램(3-1)은 사용자 단말(1)로부터의 서비스 요청을 대기하고 있다가(S11), 사용자 요청이 발생하면 사용자가 요청한 서비스 대상 서열을 수신하여 큐(Queue)에 저장한다(S12,S13)(제1단계).
서열 비교/분석용 프로그램(3-2)은 제1 단계(S11 내지 S13)와 병행하여 큐에 서비스 대상 서열(사용자 요청)이 있는지를 조사하고 있다(S21:제2단계). 즉, 사용자 요청 접수용 프로그램(3-1)은 서열 비교/분석용 프로그램(3-2)과 병행하여 동작하는 것이며, 큐를 통해 서비스 대상 서열을 주고 받으며 서로 독립적으로 동작한다.
한편, 서열 비교/분석용 프로그램(3-2)은 그 동작과 관련하여 일정 변수(k)를 초기화하여 설정하고 있으며, 제2 단계(S21)에서의 조사 결과 큐에 서비스 대상 서열이 있는 경우에는 데이터베이스(4)로부터 k번째 서열을 읽은 후, 큐에 있는 모든 서비스 대상 서열과 비교/분석한다(S22,S23:제3단계).
그리고, 서열 비교/분석용 프로그램(3-2)은 제3 단계에서 비교/분석된 서비스 대상 서열 중 데이터베이스(4)의 모든 서열(D(1) 내지 D(n))에 대하여 비교/분석된 것이 있는지를 판단하여, 그러한 서비스 대상 서열이 있으면 이를 큐로부터 제거한다(S24,S25:제4단계). 즉, 비교가 종료한 서열을 큐에서 제거하는 것이다. 제4 단계를 진행한 후에는인 경우에는 k를 하나 증가시키되, k = n인 경우에는 k를 초기화하고 단계 S21로 되돌아간다(S26 내지 S28:제5단계).
이와 같이 본 발명은 현재 요청된 서비스 대상 서열을 이미 요청되어 처리되고 있던 서비스 대상 서열과 함께 처리한다. 이것은 생물정보학의 서열 검색에 있어서는 데이터베이스의 모든 서열을 전부 탐색하는 것이 일반적이고, 생명정보학의 데이터베이스는 각각의 데이터들 사이에 의존성이 없으므로, 데이터들이 처리되는 순서와 상관없이 모든 데이터를 처리할 수 있다는 특징이 있기 때문에 가능한 것이다.
도 4를 참조하여, 4개의 사용자 요청(Rn, n=1,2,3,4)에 대하여 서비스가 이루어지는 실시예를 설명하기로 한다. 여기서 D(i)는 i번째 데이터베이스의 서열을 액세스하는데 소비되는 비용이며, 데이터베이스는 4개의 서열만을 갖는다고 가정한다. 그리고, R(i,j)는 i번째 사용자 요청을 처리하기 위해서 j번째 데이터베이스 서열과 비교하는데 소요되는 비용을 나타낸다.
첫번째 서열 D(1)을 읽고 사용자 요청 R1을 위한 서비스 R(1,1)을 처리하게 된다. 서비스 R(1,1)을 처리하는 동안 사용자 요청 R2가 발생하고, 두번째 서열 D(2)를 읽고 R1을 위한 서비스 R(1,2)와 R2를 위한 서비스 R(2,2)를 처리하게 된다. 즉, 데이터베이스는 한번만 액세스하고 여러 사용자 요청에 대해서 처리하므로 데이터베이스를 액세스하는 회수를 줄일 수 있다. 서비스 요청 R1은 4번째 서열 D(4)까지 읽은 후 서비스를 마치게 된다. 4번째 서열 D4까지 읽은 후 요청 R2는 첫번째 서열 D1을 위한 처리를 하지 않았으므로 사용자 요청 R3과 함께 첫번째 서열 D1을 읽고 처리하는 루틴을 실행하게 된다. 즉, 사용자 요청은 데이터베이스의 모든 서열을 액세스할 때까지 처리하게 되지만, 이전에 처리되고 있던 사용자 요청에 대한 처리가 끝날 때까지 새로운 요청이 지연되지 않는다는 장점이 있다. 이는 생물정보학의 서열 비교에 있어서는 데이터베이스에서 데이터를 읽는 순서가 결과에 미치는 영향이 없기 때문에 가능하다.
본 발명에 따라 서비스를 제공할 때의 비용은 데이터베이스의 시작점으로부터 액세스를 시작하여 다시 시작점으로 돌아오기 전까지의 처리시간을 기준으로 구할 수 있다. 사용자 요청의 발생율을라 가정하고 데이터베이스를 모두 액세스하는 동안 소요되는 데이터베이스 액세스 시간과 도착한 사용자 요청과 비교하는 시간의 합을라 하자. 이 주기() 동안 발생하는 평균 요청의 수는가 된다. 이 주기() 동안 데이터베이스는 한번만 액세스되며, 주기 동안의 총 비용을 구해보면 다음의 식 5와 같다.
수학식 5를에 대하여 정리하면 다음의 수학식 6과 같다.
하나의 요청도 발생하지 않는 경우를 고려해서 하나의 사용자 요청을 처리하는데 소요되는 시스템 비용을 구해보면 다음의 수학식 7과 같이 나타낼 수 있다.
수학식 7은 수학식 5를 사용자 요청의 수로 나눈 값, 즉 한 주기에 사용자 요청이 발생할 확율()을 고려해서 하나의 사용자 요청이 처리되는 비용을 구한 것이다.
수학식 7을 정리하면 다음의 수학식 8과 같다.
본 발명에 따라 서비스를 제공할 때의 응답시간을 구해보기로 한다.
하나의 사용자 요청에 대하여 서비스가 완료되는 시점은 데이터베이스의 모든 서열을 읽고 이에 대한 처리가 모두 끝나는 때이다. 각각 읽혀진 데이터베이스의 서열은 동시에 처리되고 있는 다른 사용자 요청을 위해서도 사용된다. 즉, 본 발명에서의 응답시간은 하나의 사용자 요청을 처리하는 시간과, 이를 처리하는 시간동안 함께 처리되는 사용자 요청의 처리시간의 합으로서 다음의 수학식 9와 같이 나타낼 수 있다.
수학식 9를 정리하면 다음의 수학식 10과 같다.
이제 종래의 방법과 본 발명을 이용한 경우에 대하여 성능을 비교해보기로 한다.
각 방법은 사용자 요청의 도착율에 대해서 임계값을 갖는데, 도착율의 임계값은 서버의 사용율이 1보다 적은 조건을 만족하는 최대의 도착율를 나타낸다. 서버의 사용율은 사용자 요청의 도착율과 서버가 각 방식을 사용해서 하나의 사용자 요청을 처리하는 평균비용의 곱으로 나타낼 수 있다. 이 값이 1보다 작을 경우 서비스가 가능한 것이다. 물론 데이터베이스 액세스와 CPU 사용을 동시에 할 수 있는 기법을 이용하면 서버의 사용율을 1보다 높일 수 있다.
서열의 비교를 순차적으로 수행하는 방식을 가정하고, 각 방식에서의 임계값을 구해보면 다음과 같다.
1) 종래 방식
종래의 방식에서 하나의 사용자 요청을 처리하는 평균비용은 수학식 3과 같이 나타낼 수 있다. 이를 식으로 나타내면과 같다. 즉, 종래의 방식에서의 임계값은 다음의 수학식 11과 같이 나타낼 수 있다.
2) 본 발명에 따른 방식
본 발명에 따를 경우 서버의 사용율은이 되므로 항상 조건을 만족한다. 또한 수학식 9에서는 양수이고또한 양수이다. 즉,을만족해야 한다. 이를 풀면 다음의 수학식 12와 같이의 임계값을 얻을 수 있다.
생물정보학에서 실제로 사용되고 있는 데이터베이스 GenBank(Protein Sequence Database of Rip International Release 72.02)는 1981년 미국립보건원으로부터 지원을 받아 로스 알라모스 연구소가 이를 관리하다가 1992년 미국립보건원의 국립의학도서관 산하 미국립생물공학정보센터(NCBI)로 이전되어 관리되는 서열정보 데이터베이스이다. 이러한 GenBank에 대하여 사용자가 요청하는 서열로서 인간(human) 단백질 중 세포의 산화 환원에 작용하는 색소 단백질(cytochrome)을 사용해 보았다. 그 결과는 3.99 sec가 되고, 데이터베이스의 모든 서열과 사용자 요청 서열을 모두 비교하는 비용,는 19.98 sec가 되었다.
수학식 11과 수학식 12를 비교하면 수학식 12에서의의 최대값은 수학식 11에서의의 최대값보다 항상 큰 값을 갖는다. 즉, 같은 성능의 하드웨어에서 본 발명에 따른 방식을 사용하면 종래의 방식을 사용하는 경우보다 더 많은 사용자를 받을 수 있음을 알 수 있다.
도 5를 참조하여, 종래의 방식과 본 발명에 따른 방식을 이용할 때의 시스템 비용을 수학식 3과 수학식 8을 이용하여 비교해보기로 한다. 각 방식에 대하여 임계값까지 그래프에 표시하였으며, x축은 사용자 요청율이고 y축은 사용자당 시스템 비용을 나타낸다.
본 발명에 따른 방식을 사용하면,값이 증가할 수록 시스템 비용이 줄어드는 것을 볼 수 있는데, 사용자 요청율가 커질수록 상대적인 데이터베이스의 액세스 비용이 줄어들기 때문에 사용자당 비용이 급격히 감소하게 된다.
도 6을 참조하여 종래의 방식과 본 발명에 따른 방식의 응답시간을 비교하기로 한다. 여기서 x축은 사용자 요청율를 나타내고 y축은 임의의 사용자 요청에 대한 프로그램의 평균응답시간을 나타낸다.
종래의 방식은 임계점에 가까워질수록 응답시간이 급격히 증가하지만, 본 발명에 따른 방식을 사용하면 짧은 응답시간을 보였다. 이는 사용자가 적을 때는 데이터베이스를 즉시 읽기 때문에 응답이 빠를 수 있는 것이다. 또한, 종래 방식보다 데이터베이스를 액세스하는 회수가 적기 때문에 응답시간이 기존방식보다 더 좋은 것이다.
도 3을 통해 설명한 바와 같이 본 발명에 따른 데이터베이스 처리 방법은 서버(3)에서 수행되는 프로그램에 의하여 바람직하게 구현될 수 있는 것이다. 그러므로, 본 발명은 상기 제1 단계 내지 제5 단계를 수행할 수 있는 컴퓨터 프로그램을 기록한 기록매체도 그 대상으로 한다.
본 발명을 사용하면, 데이터베이스를 한번 액세스해서 현재 처리되는 모든 사용자 요청을 위해 사용하므로, 각 사용자 요청에 대해서 데이터베이스를 한번만 액세스한다. 그러므로, 평균 시스템 비용이 감소하고 좋은 응답시간을 갖게 된다. 또한, 종래의 방식에 비하여 같은 하드웨어상에서 받아들일 수 있는 사용자 도착율의 임계값이 높아서 많은 사용자에게 서비스를 제공할 수 있다.

Claims (2)

  1. 생물정보학 관련 서열정보를 저장하는 데이터베이스와 연동하고 일정 통신 네트워크를 통해 각 사용자 단말과 접속하는 서버에서, 상기 각 사용자 단말로부터 요청된 서비스 대상 서열을 상기 데이터베이스의 서열과 비교/분석하기 위하여 상기 데이터베이스를 처리하는 방법에 있어서,
    상기 사용자 단말로부터 서비스 대상 서열을 수신하여 큐(Queue)에 저장하는 제1 단계;
    상기 제1 단계와 병행하여, 상기 큐에 서비스 대상 서열이 있는지를 조사하는 제2 단계;
    상기 제2 단계에서의 조사 결과, 상기 큐에 서비스 대상 서열이 있는 경우에는 상기 데이터베이스로부터 현재 순번의 서열을 읽어 상기 큐에 있는 모든 서비스 대상 서열과 비교/분석하는 제3 단계;
    상기 제3 단계에서 비교/분석된 서비스 대상 서열 중 상기 데이터베이스의 모든 서열에 대하여 비교/분석된 것이 있는지를 판단하여, 해당 서비스 대상 서열을 상기 큐로부터 제거하는 제4 단계; 및
    상기 현재 순번을 하나 증가시키되, 상기 데이터베이스의 모든 서열을 읽은 경우에는 상기 현재 순번을 초기화하고, 상기 제2 단계로 진행하는 제5 단계를 포함하는 것을 특징으로 하는 생물정보학에서의 데이터베이스 처리 방법.
  2. 상기 제 1 항에 기재된 제1 단계 내지 제5 단계를 수행하기 위한 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR10-2002-0060295A 2002-10-02 2002-10-02 생물정보학에서의 데이터베이스 처리 방법 Expired - Lifetime KR100463596B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2002-0060295A KR100463596B1 (ko) 2002-10-02 2002-10-02 생물정보학에서의 데이터베이스 처리 방법
US10/668,026 US20040068381A1 (en) 2002-10-02 2003-09-22 Method of handling database for bioinformatics

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0060295A KR100463596B1 (ko) 2002-10-02 2002-10-02 생물정보학에서의 데이터베이스 처리 방법

Publications (2)

Publication Number Publication Date
KR20040029858A KR20040029858A (ko) 2004-04-08
KR100463596B1 true KR100463596B1 (ko) 2004-12-29

Family

ID=32040959

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0060295A Expired - Lifetime KR100463596B1 (ko) 2002-10-02 2002-10-02 생물정보학에서의 데이터베이스 처리 방법

Country Status (2)

Country Link
US (1) US20040068381A1 (ko)
KR (1) KR100463596B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100489955B1 (ko) * 2002-10-04 2005-05-16 아주대학교산학협력단 사용자 그룹핑을 이용한 생물정보학에서의 데이터베이스처리 방법
KR100568977B1 (ko) * 2004-12-20 2006-04-07 한국전자통신연구원 생물학적 관계 추출 시스템 및 생물 정보 처리 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5170480A (en) * 1989-09-25 1992-12-08 International Business Machines Corporation Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time
KR19990062577A (ko) * 1997-12-11 1999-07-26 포만 제프리 엘 데이터 처리 시스템에서의 프로세서 집약적 동작처리 방법 및그 장치
WO2001006414A2 (en) * 1999-07-20 2001-01-25 Inmentia, Inc. Method and system for organizing data

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6708224B1 (en) * 1999-01-19 2004-03-16 Netiq Corporation Methods, systems and computer program products for coordination of operations for interrelated tasks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5170480A (en) * 1989-09-25 1992-12-08 International Business Machines Corporation Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time
KR19990062577A (ko) * 1997-12-11 1999-07-26 포만 제프리 엘 데이터 처리 시스템에서의 프로세서 집약적 동작처리 방법 및그 장치
WO2001006414A2 (en) * 1999-07-20 2001-01-25 Inmentia, Inc. Method and system for organizing data

Also Published As

Publication number Publication date
US20040068381A1 (en) 2004-04-08
KR20040029858A (ko) 2004-04-08

Similar Documents

Publication Publication Date Title
CN111309732B (zh) 数据处理方法、装置、介质和计算设备
CN110109953B (zh) 一种数据查询方法、装置及设备
US7460032B2 (en) Methods and apparatus for performing adaptive compression
US7721288B2 (en) Organizing transmission of repository data
US7401129B2 (en) Network system, server, data processing method and program
US7975268B2 (en) Grid computing system, management server, processing server, control method, control program and recording medium
EP1349065A2 (en) Symmetrical multiprocessing in multiprocessor systems
US9489310B2 (en) System, method and computer-readable medium for spool cache management
EP1896992A2 (en) Back-off mechanism for search
US5845113A (en) Method for external sorting in shared-nothing parallel architectures
CN113297269B (zh) 数据查询方法及装置
US20130091121A1 (en) Method for rapid assessment of similarity between sequences
US11593310B2 (en) Providing writable streams for external data sources
US12079472B2 (en) Data reduction method, apparatus, computing device, and storage medium for forming index information based on fingerprints
US20180349422A1 (en) Database management system, database server, and database management method
US6931570B2 (en) Self-optimizing the diagnosis of data processing systems by flexible multitasking
US20130080463A1 (en) Searching apparatus, searching method, and recording medium storing searching program
KR100463596B1 (ko) 생물정보학에서의 데이터베이스 처리 방법
CN115880508A (zh) 图像数据处理方法、装置、设备以及存储介质
JP5444728B2 (ja) ストレージシステム、ストレージシステムにおけるデータ書込方法及びデータ書込プログラム
JP4961931B2 (ja) ジョブ実行のスケジューリングプログラム、ジョブ実行のスケジューリング方法、ジョブ実行のスケジューリング装置
KR100489955B1 (ko) 사용자 그룹핑을 이용한 생물정보학에서의 데이터베이스처리 방법
US7529261B2 (en) Data communications method selection by data communication system
CN115220656B (zh) 数据存储方法及装置、计算机可读存储介质、电子设备
CN114205424B (zh) 账单文件解压方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20021002

PA0201 Request for examination
PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20041122

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20041216

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20041217

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20071005

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20081006

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20091001

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20100913

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20110908

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20121011

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20121011

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20131004

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20131004

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20140918

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20140918

Start annual number: 11

End annual number: 11

FPAY Annual fee payment

Payment date: 20161004

Year of fee payment: 13

PR1001 Payment of annual fee

Payment date: 20161004

Start annual number: 13

End annual number: 13

FPAY Annual fee payment

Payment date: 20171012

Year of fee payment: 14

PR1001 Payment of annual fee

Payment date: 20171012

Start annual number: 14

End annual number: 14

FPAY Annual fee payment

Payment date: 20181002

Year of fee payment: 15

PR1001 Payment of annual fee

Payment date: 20181002

Start annual number: 15

End annual number: 15

PR1001 Payment of annual fee

Payment date: 20201005

Start annual number: 17

End annual number: 17

PC1801 Expiration of term

Termination date: 20230402

Termination category: Expiration of duration