[go: up one dir, main page]

KR20230025019A - 데이터 재배포 방법 및 장치 - Google Patents

데이터 재배포 방법 및 장치 Download PDF

Info

Publication number
KR20230025019A
KR20230025019A KR1020237002277A KR20237002277A KR20230025019A KR 20230025019 A KR20230025019 A KR 20230025019A KR 1020237002277 A KR1020237002277 A KR 1020237002277A KR 20237002277 A KR20237002277 A KR 20237002277A KR 20230025019 A KR20230025019 A KR 20230025019A
Authority
KR
South Korea
Prior art keywords
data
rule table
redistribution
shard key
rule
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.)
Pending
Application number
KR1020237002277A
Other languages
English (en)
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
Priority claimed from CN202010600815.9A external-priority patent/CN113849496B/zh
Application filed by 지티이 코포레이션 filed Critical 지티이 코포레이션
Publication of KR20230025019A publication Critical patent/KR20230025019A/ko
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

데이터 재배포 방법 및 장치에 있어서, 상기 데이터 재배포 방법은, 컴퓨팅 노드(301)에서 송신되는 데이터 재배포 요청에 응답하여, 원본 테이블 정보에 따라 요청에 대응되는 규칙 테이블을 작성하는 단계와, 규칙 테이블 데이터를 생성하여 규칙 테이블 데이터에 대응되는 저장 노드(303)에 송신하는 단계와, 규칙 테이블 데이터를 규칙 테이블에 도입시키는 단계와, 원본 테이블에 따라 규칙 테이블의 데이터를 보완하는 단계와, 규칙 테이블의 방식에 따라 데이터를 접속하는 단계를 포함한다.

Description

데이터 재배포 방법 및 장치
본 출원은 2020년 06월 28일에 제출한 제 202010600818.9호 중국 특허 출원을 기반으로 하고, 해당 중국 특허 출원의 우선권을 주장하는 바, 해당 중국 특허 출원의 모든 내용은 참조로 본 출원에 원용된다.
본 출원의 실시예는 데이터 베이스 기술 분야에 관한 것이며, 구체적으로, 데이터 재배포 방법 및 장치에 관한 것이다.
데이터 재배포 업계에는 주로 아래와 같은 두가지 방법이 있다.
1. 테이블 중의 데이터 재배포가 완료될 때까지 읽기 및 쓰기 작업을 수행할 수 없도록, 재배포할 테이블을 잠금시킨다. 데이터 량의 크기 및 자원 제약에 따라, 데이터 재배포에 소모되는 시간은 몇 시간 심지어는 며칠까지 걸릴 수 있으며, 이로 인해 업무가 재배포 중인 테이블에 대해 오랜 시간 동안 작업을 진행할 수 없게 되어, 심각한 영향을 미칠 수 있다.
2. 보다 일반적인 방법으로, 새로운 테이블을 작성하는 것이며, 이전 테이블에 저장된 데이터를 모두 도출한 다음 새로운 규칙에 따라 모두 새로운 테이블에 도입시키고, 이어서 증분 데이터를 추가하고, 완료된 후 이전 테이블을 잠금시키고, 새로운 테이블로 전환하여 사용한다. 이러한 처리 방식은 효율이 낮고 네트워크 압력이 크며 저장 공간 요구가 높고, 증분을 따라잡는 과정이 업무의 량에 따라 상이한 시간 범위를 나타내며, 심지어는 계속 따라잡지 못하는 문제점이 존재할 수도 있다.
데이터 베이스 시스템은 운행 과정에 있어서, 상술한 기존의 두가지 재배포 방법을 사용하며, 라이브 네트워크 환경에 대한 요구가 상대적으로 높을 뿐만 아니라, 운영 및 유지 보수 조작인원의 비상 대응 능력에 대한 요구도 더욱 높다.
분상형 데이터 베이스 재배포 정경은 용량 확장 이외에도 용량 축소, 분배 방식 수정, 분배 필드 수정 등의 정경이 더 있으며, 이러한 정경들은 운영 및 유지 보수 조작인원이 자주 직면하게 되는 것이며, 성숙된 데이터 베이스 제품이 구비하여야 할 기능이기도 하다.
본 출원의 실시예는 데이터 재배포 방법을 제공하며, 상기 데이터 재배포 방법은, 컴퓨팅 노드에서 송신되는 데이터 재배포 요청에 응답하여, 원본 테이블 정보에 따라 요청에 대응되는 규칙 테이블을 작성하는 단계; 규칙 테이블 데이터를 생성하여 규칙 테이블 데이터에 대응되는 저장 노드에 송신하는 단계; 규칙 테이블 데이터를 규칙 테이블에 도입시키는 단계; 원본 테이블에 따라 규칙 테이블의 데이터를 보완하는 단계; 및 규칙 테이블의 방식에 따라 데이터를 접속하는 단계;를 포함한다.
본 출원의 실시예는 데이터 재배포 장치를 더 제공하며, 상기 데이터 재배포 장치는, 컴퓨팅 노드에서 송신되는 데이터 재배포 요청에 응답하여, 원본 테이블 정보에 따라 요청에 대응되는 규칙 테이블을 작성하기 위한 프로세서; 규칙 테이블 데이터를 생성하여 규칙 테이블 데이터에 대응되는 저장 노드에 송신하고, 규칙 테이블 데이터를 규칙 테이블에 도입시키고, 원본 테이블에 따라 규칙 테이블의 데이터를 보완하기 위한 저장 노드; 및 규칙 테이블의 방식에 따라 데이터를 접속하기 위한 컴퓨팅 노드;를 포함한다.
본 출원의 실시예는 데이터 재배포 시스템을 더 제공하며, 상기 데이터 재배포 시스템은 상술한 바와 같은 데이터 재배포 장치를 포함한다.
본 출원의 실시예는 기기를 더 제공하며, 상기 기기는 하나 또는 다수의 프로세서; 및 하나 또는 다수의 프로그램을 저장하기 위한 저장 장치;를 포함하되, 하나 또는 다수의 프로그램이 하나 또는 다수의 프로세서에 의해 실행될 경우, 하나 또는 다수의 프로세서로 상술한 데이터 재배포 방법을 실현한다.
본 출원의 실시예는 저장 매체를 더 제공하며, 상기 저장 매체에는 컴퓨터 프로그램이 저장되고, 컴퓨터 프로그램이 프로세서에 의해 실행될 경우 상술한 데이터 재배포 방법을 실현한다.
도 1은 본 출원의 실시예 1에서 제공하는 데이터 재배포 방법의 흐름도이고,
도 2는 본 출원의 실시예 2에서 제공하는 데이터 재배포 방법의 흐름도이고,
도 3은 본 출원의 실시예 3에서 제공하는 데이터 재배포 장치의 프로그램 모듈의 개략도이고,
도 4는 본 출원의 실시예 4에서 제공하는 데이터 재배포 장치의 프로그램 모듈의 개략도이고,
도 5는 본 출원의 일 실시예에서 제공하는 기기의 구조 개략도이다.
본 출원의 목적, 기술적 방안 및 장점을 보다 명확하게 하기 위하여, 아래에 구체적인 실시예에 첨부된 도면을 결부하여 본 출원의 실시예에 대한 진일보로 상세한 설명을 진행하기로 한다. 본 원에 설명되는 구체적인 실시예는 단지 본 출원을 해석하기 위한 것일 뿐, 본 출원을 제한하기 위한 것이 아님을 이해하여야 한다.
현재 적용되는 데이터 베이스는 동시성이 높고, 데이터 증가율이 빠르며, 7*24시간 서비스를 제공한다. 업무가 확장됨에 따라, 데이터의 확장은 수량급의 양적 증가일 수 있으므로, 수평적 확장 기능이 우수한 분산 데이터 베이스가 널리 사용되로 있다. 분상형 데이터 베이스는 일반적으로 무공유(share nothing) 아키텍처를 채택하며, 즉, 각 노드는 모두 독립적인 저장을 구비하고, 노드 간에 저장을 공유하지 않으며, 데이터는 규칙에 따라 다수의 노드에 분산되며, 노드 사이에는 일반적으로 광섬유와 같은 네트워크를 통해 연결된다.
분상형 데이터 베이스는 양호한 확장성을 구비하고, 업무 정경에 따라 노드 데이터를 유연하게 배포할 수 있다. 예를 들어, 데이터의 양이 수량급의 양적으로 증가함에 따라, 데이터 저장 공간 및 쿼리에 대한 추가 요구가 있으며, 기존의 분상형 데이터 베이스를 확장하고 분상형 데이터 베이스에 새로운 데이터 노드를 추가하고 데이터 이전을 진행하여야 한다.
본 출원의 실시예에서 제공하는 데이터 재배포 방법 및 장치는, 선행 기술에서 데이터 재배포 처리방식이 효율이 낮고 오버헤드가 큰 문제점을 해결한다.
[실시예 1]
선행 기술에서 새로은 테이플을 작성할 때 초래되는 효율이 저하되는 문제점을 해결하기 위하여, 본 실시예의 핵심적인 사상으로, 데이터 재배포 요청을 수신한 후, 새로운 샤드 규칙에 따라 하나의 규칙 테이블을 작성하며, 규칙 테이블에는 샤드 키와 메타 데이터 정보가 저장되고, 소위 메타 데이터 정보는 해당 샤드 키 데이터에 대응되는 노드 정보를 가리키며, 예컨대 3개의 노드가 있으며 각각 1, 2, 3으로 대표할 수 있다. 재배포 태스크가 종료되기 전에 분상형 데이터 베이스 컴퓨팅 노드는 이전 테이블의 방식에 따라 접속을 진행하고, 재배포 태스크가 종료된 후 컴퓨팅 노드는 규칙 테이블에 따라 데이터를 접속한다.
도 1에 참조하면, 본 실시예에 관련된 데이터 재배포 방법은 아래와 같은 단계들을 포함한다.
단계(102): 컴퓨팅 노드에서 송신되는 데이터 재배포 요청에 응답하여, 원본 테이블 정보에 따라 요청에 대응되는 규칙 테이블을 작성한다.
단계(104): 규칙 테이블 데이터를 생성하여 규칙 테이블 데이터에 대응되는 저장 노드에 송신한다.
단계(106): 규칙 테이블 데이터를 규칙 테이블에 도입시킨다.
단계(108): 원본 테이블에 따라 규칙 테이블의 데이터를 보완한다.
단계(110): 규칙 테이블의 방식에 따라 데이터를 접속한다.
본 출원의 실시예 1에서 제공하는 데이터 재배포 방법은, 새로운 테이블을 작성하여 데이터를 이전하는 것이 아니라, 새로운 규칙 테이블을 작성함으로써, 데이터 재배포의 효율을 향상시키고, 재배포 과정에서 데이터 이전으로 인한 영향을 효과적으로 저감시킨다. 규칙 테이블의 필드에는 단지 샤드 키와 메타 데이터 정보만 포함되므로, 저장 공간에 대한 요구가 아주 낮으며, 시스템 오버헤드를 저감시키고, 효율을 진일보로 향상시킨다.
[실시예 2]
도 2를 참조하면, 본 실시예에 관련된 데이터 재배포 방법은 아래와 같은 단계들을 포함할 수 있다.
단계(202): 규칙 테이블을 작성한다.
데이터 재배포 요청이 송신된 후, 원본 테이블 정보에 따라 하나의 새로운 규칙 테이블을 작성하고, 새로운 규칙 테이블의 샤드 키와 재배포 요청된 원본 테이블의 샤드 방식은 일치하며, 예컨대 원본 테이블은 필드 col1에 따라 3개의 노드에 해시되고, 재배포가 4개의 노드에 해시되는 것을 요청할 경우, 규칙 테이블은 필드 col1에 따라 4개의 노드에 해시된다.
본 실시예에 있어서, 배포 모드가 3개의 노드에서 4개의 노드로 변화되는 재배포를 예로 들어 설명을 진행한다. 원본 테이블 명칭은 tbs_info_detail이고, 배포 모드는 hash(uuid)(g1,g2,g3),프로세서는 하나의 숨겨진 규칙 테이블 tbs_info_detail_res_rule을 작성하고, 배포 모드는 hash(uuid)(g1,g2,g3,g4)이다. 규칙 테이블에는 두개의 필드 즉 uuid와 groupid가 있다. 여기서, uuid필드의 속성과 원본 테이블의 속성은 완전히 동일하나, groupid필드의 속성은 unsginedtinyint 속성(단 하나의 바이트를 차지함)을 사용할 수 있으며, 아울러 규칙은 uuid에 대해 색인(원본 테이블의 uuid가 기본 키일 경우 uuid에 대해 기본 키를 작성함)을 작성하여야 한다.
단계(204): 규칙 테이블 데이터를 생성한다.
각 저장 노드에는 모두 메타 데이터 규칙 테이블 데이터를 생성 및 도입시키기 위한 하나의 재배포 제어 모듈이 포함된다. 이러한 재배포 제어 모듈은 각 저장 노드로부터 병행적으로 배포 키 값을 도출함과 동시에 저장 노드 번호 정보를 가져오고, 분할된 파일은 새로운 배포 규칙에 따라 상이한 저장 노드의 파일로 분할되어 대응되는 저장 노드에 전송된다.
본 단계에서, 해당 샤드 키에 관련되고 실행 성공된 모든 INSERT/UPDATE/DELETE 문구를 기록하고, 샤드 키 값 및 대응되는 groupid를 기록한다.
단계(206): 데이터를 규칙 테이블에 도입시킨다.
각 저장 노드의 재배포 제어 모듈은 수신되는 데이터를 규칙 테이블에 도입시킬 수 있다.
단계(208): 읽기 잠금을 추가한다.
재배포가 필요한 테이블에 읽기 잠금을 추가하도록 컴퓨팅 노드에 알린다.
단계(210): 데이터를 보완한다.
기록한 샤드 키에 관련된 INSERT/UPDATE/DELETE 문구에 기록된 샤드 키 값과 원본 테이블 및 규칙 테이블 중의 샤드 키에 대해 비교를 진행하고, 규칙 테이블에 해당 샤드 키 값에 대응되는 데이터가 부족할 경우 원본 테이블 중 해당 샤드 키 값에 대응되는 데이터를 삽입하고, 규칙 테이블에 샤드 키 값에 대응되는 데이터가 더 있을 경우 해당 샤드 키 값에 대응되는 데이터를 삭제하고, 규칙 테이블 데이터가 원본 테이블과 일치하지 않을 경우 원본 테이블과 일치한 데이터로 수정한다.
단계(212): 접속 방식을 수정한다.
테이블의 접속 방식을 수정하도록 컴퓨팅 노드에 알리고, 컴퓨팅 노드 자체의 컴퓨팅 분배 알고리즘을 규칙 테이블의 방식에 따라 접속하는 것으로 수정하며, 테이블에 관련된 INSERT/UPDATE/DELETE 문구는 동시에 규칙 테이블에 대해 수정을 진행하고, 신규 데이터를 우선 신규 데이터 노드에 삽입하여야 한다.
단계(214): 읽기 잠금을 해제한다.
추가된 읽기 잠금을 해제한다.
이로써, 재배포 태스크가 완료된다.
단계(216): 배포 규칙을 정렬한다.
규칙 테이블 분배 방식과 컴퓨팅 노드가 일치하지 않은 문제점에 대해, 배치를 실행하는 방식으로 유휴 시간에 실행할 수 있으며, 예를 들어:
1. 먼저 노드 1로부터 규칙 테이블의 메타 데이터 필드가 2인 행을 쿼리하고, 배치로 이러한 부분의 데이터를 노드 2로 이전함과 동시에 규칙 테이블을 변경한다.
2. 대부분의 데이터가 이전 성공된 후 테이블을 잠금하고, 나머지 데이터를 이전한다.
3. 테이블의 접속 방식을 변경하도록 컴퓨팅 노드에 알린다.
4. 규칙 테이블을 정리한다.
본 출원의 실시예 2에서 제공하는 데이터 재배포 방법은, 규칙 테이블을 작성하되, 규칙 테이블에는 단지 두개의 필드만 포함되므로, 재배포 효율을 향상시키고 데이터 이전으로 인핸 영향을 저감시킬 뿐만 아니라, 재배포의 오버헤드를 진일보로 저감시킨다.
[실시예 3]
도 3을 참조하면, 본 실시예에 관련된 데이터 재배포 장치(300)는,
컴퓨팅 노드(301), 프로세서(302) 및 저장 노드(303)를 포함한다. 여기서, 프로세서(302)는 컴퓨팅 노드(301)에서 송신되는 데이터 재배포 요청에 응답하여, 원본 테이블 정보에 따라 요청에 대응되는 규칙 테이블을 작성하도록 구성된다. 저장 노드(303)는 다수개가 구비되고, 규칙 테이블 데이터를 생성하여 규칙 테이블 데이터에 대응되는 저장 노드(303)에 송신하고, 규칙 테이블 데이터를 규칙 테이블에 도입시키고, 원본 테이블에 따라 규칙 테이블의 데이터를 보완하도록 구성된다. 컴퓨팅 노드(301)는 규칙 테이블의 방식에 따라 데이터를 접속하도록 구성된다.
본 출원의 실시예 3에서 제공하는 데이터 재배포 장치는, 새로운 테이블을 작성하여 데이터를 이전하는 것이 아니라, 규칙 테이블을 작성함으로써, 데이터 재배포의 효율을 향상시키고, 데이터 이전으로 인한 영향을 저감시킨다.
[실시예 4]
도 4를 참조하면, 본 실시예에 관련된 데이터 재배포 장치(400)는,
컴퓨팅 노드(401), 프로세서(402) 및 저장 노드(403)를 포함한다. 여기서, 저장 노드(403)는 4개가 구비된다.
컴퓨팅 노드(401)가 데이터 재배포 요청이 송신한 후, 프로세서(402)는 원본 테이블 정보에 따라 하나의 새로운 규칙 테이블을 작성하되, 새로운 규칙 테이블의 샤드 키는 재배포 요청된 원본 테이블의 샤드 방식과 일치하다.
4개의 저장 노드(403) 각각은 메타 데이터 규칙 테이블 데이터를 생성 및 도입시키기 위한 하나의 재배포 제어 모듈(403a)를 포함한다. 이러한 재배포 제어 모듈(403a)은 각 저장 노드(403)로부터 병행적으로 배포 키 값 을 도출함과 동시에 저장 노드 번호 정보를 가져오고, 분할된 파일은 새로운 배포 규칙에 따라 상이한 저장 노드(403)의 파일로 분할되어 대응되는 저장 노드(403)에 전송된다. 컴퓨팅 노드(401)는 해당 샤드 키에 관련되고 실행 성공된 모든 INSERT/UPDATE/DELETE 문구를 기록하고, 샤드 키 값 및 대응되는 groupid를 기록한다.
저장 노드(403)의 재배포 제어 모듈(403a)은 수신되는 데이터를 규칙 테이블에 도입시킨다.
프로세서(402)는 재배포가 필요한 테이블에 읽기 잠금을 추가하도록 컴퓨팅 노드(401)에 알린다.
재배포 제어 모듈(403a)은 컴퓨팅 노드(401)로 기록한 샤드 키에 관련된 INSERT/UPDATE/DELETE 문구에 기록된 샤드 키 값과 원본 테이블 및 규칙 테이블 중의 샤드 키에 대해 비교를 진행하고, 규칙 테이블에 해당 샤드 키 값에 대응되는 데이터가 부족할 경우 원본 테이블 중 해당 샤드 키 값에 대응되는 데이터를 삽입하고, 규칙 테이블에 샤드 키 값에 대응되는 데이터가 더 있을 경우 해당 샤드 키 값에 대응되는 데이터를 삭제하고, 규칙 테이블 데이터가 원본 테이블과 일치하지 않을 경우 원본 테이블과 일치한 데이터로 수정한다.
프로세서(402)는 테이블의 접속 방식을 수정하도록 컴퓨팅 노드(401)에 알리고, 컴퓨팅 노드(401) 자체의 컴퓨팅 분배 알고리즘을 규칙 테이블의 방식에 따라 접속하는 것으로 수정하며, 테이블에 관련된 INSERT/UPDATE/DELETE 문구는 동시에 규칙 테이블에 대해 수정을 진행하고, 신규 데이터를 우선 신규 데이터 노드에 삽입하여야 한다.
컴퓨팅 노드(401)는 추가된 읽기 잠금을 해제한다. 이로써, 재배포 태스크가 완료된다.
이의 배포 규칙을 정렬하여야 할 경우, 실시예 2의 단계(216)에 따라 진행한다.
본 출원의 실시예 4에서 제공하는 데이터 재배포 장치는, 규칙 테이블을 작성하되, 규칙 테이블에는 단지 두개의 필드만 포함되므로, 재배포 효율을 향상시키고 데이터 이전으로 인핸 영향을 저감시킬 뿐만 아니라, 재배포의 오버헤드를 진일보로 저감시킨다.
본 출원은 데이터 재배포 시스템을 더 제공하며, 상기 데이터 재배포 시스템는 실시예 4의 데이터 재배포 장치를 포함하고, 해당 시스템은 데이터 재배포 태스크를 효과적으로 실행할 수 있다.
문맥 상에 개시된 방법 중의 모든 또는 일부의 단계, 시스템, 장치 중의 기능 모듈/유닛은 소프트웨어(컴퓨팅 장치에 의해 실행 가능한 컴퓨터 프로그램 코드로 구현될 수 있음), 펌웨어, 하드웨어 및 이의 적당한 조합으로 실시될 수 있음을 당해 기술 분야의 기술자는 자명할 것이다. 하드웨어의 구현 방식에 있어서, 앞서 설명에 언급된 기능 모듈/유닛 사이의 구분이 반드시 물리적 구성 요소의 구분과 일치한 것은 아니며, 예를 들어, 하나의 물리적 구성 요소는 여러 기능을 구비할 수 있거나, 하나의 기능 또는 단계는 여러 물리적 구성 요소와 협력하여 수행될 수 있다. 일부 또는 모든 물리적 구성요소는 중앙 프로세서, 디지털 신호 프로세서 또는 마이크로 프로세서와 같은 프로세서에 의해 실행되는 소프트웨어로 실시되거나, 하드웨어로 실시되거나, 또는 주문형 집적 회로와 같은 집적 회로로 실시될 수 있다.
본 출원의 실시예는 기기를 더 제공하며, 도 5는 본 출원의 실시예에서 제공하는 기기의 구조 개략도이며, 도 5에 도시된 바와 같이, 해당 기기는 프로세서(51), 저장 장치(52), 입력 장치(53), 출력 장치(54) 및 통신 장치(55)를 포함하고, 기기 중의 프로세서(51)의 수량은 하나 또는 다수개일 수 있으며, 도 5에서는 하나의 프로세서(51)를 예로 들며, 기기 중의 프로세서(51), 저장 장치(52), 입력 장치(53) 및 출력 장치(54)는 버스 라인 또는 기타의 방식을 통해 연결될 수 있으며, 도 5에서는 버스 라인을 통해 연결되는 것을 예로 든다.
저장 장치(52)는 컴퓨터 판독 가능한 저장 매체로서, 본 출원의 실시예 중의 데이터 재배포 방법에 대응되는 프로그램 명령어/모듈과 같은 소프트웨어 프로그램, 컴퓨터 실행 가능한 프로그램 및 모듈을 저장하도록 구성된다. 프로세서(51)는 저장 장치(52)에 저장된 소프트웨어 프로그램, 명령어 및 모듈을 운행함으로써, 기기의 각종 기능 애플리케이션 및 데이터 처리를 실행하며, 즉, 본 출원의 실시예에서 제공하는 임의의 방법을 실현한다.
저장 장치(52)는 주로 프로그램 저장 영역 및 데이터 저장 영역을 포함하되, 프로그램 저장 영역은 운영 체제, 적어도 하나의 기능에 필요한 애플리케이션을 저장할 수 있으며, 데이터 저장 영역은 기기의 사용에 의하여 구축된 데이터 등을 저장할 수 있다. 또한, 저장 장치(52)는 고속 랜덤 액세스 저장 장치를 포함할 수 있으며, 비휘발성 저장 장치, 예컨대 적어도 하나의 자기 디스크 저장 장치, 플래쉬 저장 장치, 또는 기타 비휘발성 솔리드 스테이트 저장 장치를 더 포함할 수 있다. 일부의 예시에 있어서, 저장 장치(52)는 프로세서(51)에 대해 원격으로 설치되는 저장 장치를 더 포함할 수 있으며, 일부의 원격 저장 장치는 네트워크를 통해 기기에 연결될 수 있다. 상술한 네트워크의 예시는 인터넷, 기업 인트라넷, LAN, 이동 통신망 및 이들의 조합을 포함하나, 이에 제한되지 않는다.
입력 장치(53)는 입력되는 디지털 또는 문자부호 정보를 수신하고, 기기의 사용자 설치 및 기능 제어에 관련된 키 신호 입력을 생성하도록 구성될 수 있다. 출력 장치(54)는 표시 스크린 등의 표시 장치를 포함할 수 있다.
통신 장치(55)는 수신 장치 및 송신 장치를 포함할 수 있다. 통신 장치(55)는 프로세서(51)의 제어에 따라 정보 송수신 통신을 진행하도록 설치된다.
일 실시예에 있어서, 본 출원의 실시예는 컴퓨터 실행 가능한 명령어를 포함하는 저장 매체를 더 제공하며, 컴퓨터 실행 가능한 명령어가 컴퓨터 프로세서에 의해 실행될 경우 소스 데이터 베이스의 저장 과정을 획득하는 단계와, 저장 과정에 대해 해석 및 번역을 진행하여 대응되는 구문 블록 목록을 획득하는 단계와, 구문 블록 목록에 대해 처리를 진행하여 타깃 데이터 베이스 요구를 만족하는 저장 과정을 획득하는 단계를 포함하는 데이터 재배포 방법을 실행하도록 구성된다.
물론, 본 출원의 실시예는 컴퓨터 실행 가능한 명령어를 포함하는 저장 매체를 제공하며, 이의 컴퓨터 실행 가능한 명령어는 상술한 바와 같은 방법 조작에 제한되지 않으며, 본 출원의 임의의 실시예에서 제공하는 데이터 재배포 방법 중의 관련된 조작을 실행할 수도 있다.
본 출원은 소프트웨어 및 필요한 범용의 하드웨어에 의하여 실현할 수 있으며, 물론 하드웨에를 통해 실현할 수도 있으나, 많은 경우에 전자가 더욱 바람직한 실시예인 것을 전술한 실시예에 관한 설명을 통해 당해 기술 분야의 기술자는 명확하게 이해할 수 있을 것이다. 이러한 이해를 기반으로, 본 출원의 기술적 방안의 본질적이거나 선행 기술에 대해 공헌을 기여한 부분은 소프트웨어 제품의 형식으로 구현될 수 있으며, 해당 컴퓨터 소프트웨어 제품은 컴퓨터의 플로피 디스크, 판독 전용 저장 장치(Read-Only Memory, ROM), 랜덤 액세스 저장 장치(Random Access Memory, RAM), 플래시 저장 장치(FLASH), 하드 드라이브 또는 광학 디스크 등과 같은 컴퓨터 판독 가능한 저장 매체에 저장될 수 있으며, 하나의 컴퓨터 장치(개인용 컴퓨터, 서버, 네트워크 장비 등일 수 있음)로 본 출원의 각 실시예의 데이터 재배포 방법을 실행하도록 여러 명령어를 포함한다.
전술한 내용은 구체적인 실시예를 결부하여 본 출원의 실시예에 대해 진행한 진일보로 상세한 설명일 뿐, 본 출원의 구체적인 실시가 이러한 설명에 제한되는 것으로 시인할 수 없다. 당해 기술 분야에서 통상의 지식을 가진 자라면, 본 출원의 사상을 위배하지 않고서 여러 간단한 추론 또는 대체를 진행할 수도 있으며, 이는 모두 본 출원의 보호 범위에 해당되는 것으로 간주하여야 한다.

Claims (13)

  1. 데이터 재배포 방법에 있어서,
    컴퓨팅 노드에서 송신되는 데이터 재배포 요청에 응답하여, 원본 테이블 정보에 따라 상기 요청에 대응되는 규칙 테이블을 작성하는 단계;
    규칙 테이블 데이터를 생성하여 상기 규칙 테이블 데이터에 대응되는 저장 노드에 송신하는 단계;
    상기 규칙 테이블 데이터를 상기 규칙 테이블에 도입시키는 단계;
    상기 원본 테이블에 따라 상기 규칙 테이블의 데이터를 보완하는 단계; 및
    상기 규칙 테이블의 방식에 따라 데이터를 접속하는 단계;를 포함하는 데이터 재배포 방법.
  2. 제1항에 있어서,
    상기 규칙 테이블은 샤드 키 및 메타 데이터 정보를 포함하는 것을 특징으로 하는 데이터 재배포 방법.
  3. 제1항 내지 제2항 중의 임의의 한 항에 있어서,
    규칙 테이블 데이터를 생성하는 상기 단계는,
    배포 키 값과 노드 번호 정보를 도출하고 상기 요청에 포함된 배포 규칙에 따라 대응되는 저장 노드의 파일로 분할하는 단계;
    샤드 키와 배포 모드, 및 샤드 키에서 실행 성공됨에 대응되는 INSERT/UPDATE/DELETE 문구를 기록하는 단계를 포함하는 것을 특징으로 하는 데이터 재배포 방법.
  4. 제3항에 있어서,
    원본 테이블에 따라 상기 규칙 테이블의 데이터를 보완하는 상기 단계는,
    상기 규칙 테이블 및 상기 원본 테이블의 상기 샤드 키와 상기 INSERT/UPDATE/DELETE 문구에 기록된 샤드 키에 대해 비교를 진행하고, 상기 규칙 테이블에 상기 샤드 키에 대응되는 데이터가 부족할 경우 상기 원본 테이블 중 상기 샤드 키에 대응되는 데이터를 삽입하고, 상기 규칙 테이블에 상기 샤드 키에 대응되는 데이터가 더 있으면 상기 샤드 키에 대응되는 데이터를 삭제하며, 상기 규칙 테이블 중 상기 샤드 키에 대응되는 데이터가 상기 원본 테이블 중의 상응한 데이터와 일치하지 않을 경우 상기 원본 테이블 중의 상기 샤드 키에 대응되는 데이터로 수정하는 단계를 포함하는 것을 특징으로 하는 데이터 재배포 방법.
  5. 제1항 내지 제4항 중의 임의의 한 항에 있어서,
    원본 테이블에 따라 상기 규칙 테이블의 데이터를 보완하는 상기 단계 이전에,
    데이터 재배포가 필요한 테이블에 대해 읽기 잠금을 추가하는 단계;를 더 포함하고,
    상기 규칙 테이블의 방식에 따라 데이터를 접속하는 상기 단계 이후에,
    상기 읽기 잠금을 해제하는 단계를 더 포함하는 것을 특징으로 하는 데이터 재배포 방법.
  6. 데이터 재배포 장치에 있어서,
    컴퓨팅 노드에서 송신되는 데이터 재배포 요청에 응답하여, 원본 테이블 정보에 따라 상기 요청에 대응되는 규칙 테이블을 작성하기 위한 프로세서;
    규칙 테이블 데이터를 생성하여 상기 규칙 테이블 데이터에 대응되는 저장 노드에 송신하고, 상기 규칙 테이블 데이터를 상기 규칙 테이블에 도입시키고, 상기 원본 테이블에 따라 상기 규칙 테이블의 데이터를 보완시키기 위한 저장 노드; 및
    상기 규칙 테이블의 방식에 따라 데이터를 접속하기 위한 컴퓨팅 노드;를 포함하는 데이터 재배포 장치.
  7. 제6항에 있어서,
    상기 규칙 테이블은 샤드 키 및 메타 데이터 정보를 포함하는 것을 특징으로 하는 데이터 재배포 장치.
  8. 제6항 내지 제7항 중의 임의의 한 항에 있어서,
    상기 저장 노드는 배포 키 값과 노드 번호 정보를 도출하고 상기 요청에 포함된 배포 규칙에 따라 대응되는 저장 노드의 파일로 분할하도록 더 구성되고,
    상기 컴퓨팅 노드는 샤드 키와 배포 모드, 및 샤드 키에서 실행 성공됨에 대응되는 INSERT/UPDATE/DELETE 문구를 기록하도록 더 구성되는 것을 특징으로 하는 데이터 재배포 장치.
  9. 제8항에 있어서,
    상기 저장 노드는, 상기 규칙 테이블 및 상기 원본 테이블의 상기 샤드 키와 상기 INSERT/UPDATE/DELETE 문구에 기록된 샤드 키에 대해 비교를 진행하고, 상기 규칙 테이블에 상기 샤드 키에 대응되는 데이터가 부족할 경우 상기 원본 테이블 중 상기 샤드 키에 대응되는 데이터를 삽입하고, 상기 규칙 테이블에 상기 샤드 키에 대응되는 데이터가 더 있으면 상기 샤드 키에 대응되는 데이터를 삭제하며, 상기 규칙 테이블 중 상기 샤드 키에 대응되는 데이터가 상기 원본 테이블 중의 상응한 데이터와 일치하지 않을 경우 상기 원본 테이블 중의 상기 샤드 키에 대응되는 데이터로 수정하도록 더 구성되는 것을 특징으로 하는 데이터 재배포 장치.
  10. 제6항 내지 제9항 중의 임의의 한 항에 있어서,
    상기 컴퓨팅 노드는, 상기 저장 노드에서 데이터를 보완하기 이전에 데이터 재배포가 필요한 테이블에 대해 읽기 잠금을 추가하고, 상기 규칙 테이블의 방식에 따라 데이터를 접속한 이후에 상기 읽기 잠금을 해제하도록 더 구성되는 것을 특징으로 하는 데이터 재배포 장치.
  11. 데이터 재배포 시스템에 있어서,
    제6항 내지 제10항 중의 임의의 한 항의 데이터 재배포 장치를 더 포함하는 것을 특징으로 하는 데이터 재배포 시스템.
  12. 기기에 있어서,
    하나 또는 다수의 프로세서; 및
    하나 또는 다수의 프로그램을 저장하기 위한 저장 장치;를 포함하되,
    상기 하나 또는 다수의 프로그램이 상기 하나 또는 다수의 프로세서에 의해 실행될 경우, 상기 하나 또는 다수의 프로세서로 제1항 내지 제5항 중의 임의의 한 항의 데이터 재배포 방법을 실현하는 기기.
  13. 저장 매체에 있어서,
    상기 저장 매체에는 컴퓨터 프로그램이 저장되고, 상기 컴퓨터 프로그램이 프로세서에 의해 실행될 경우, 제1항 내지 제5항 중의 임의의 한 항의 데이터 재배포 방법을 실현하는 저장 매체.
KR1020237002277A 2020-06-28 2021-06-25 데이터 재배포 방법 및 장치 Pending KR20230025019A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202010600815.9 2020-06-28
CN202010600815.9A CN113849496B (zh) 2020-06-28 一种数据重分布的方法和装置
PCT/CN2021/102448 WO2022001883A1 (zh) 2020-06-28 2021-06-25 一种数据重分布的方法和装置

Publications (1)

Publication Number Publication Date
KR20230025019A true KR20230025019A (ko) 2023-02-21

Family

ID=78972778

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237002277A Pending KR20230025019A (ko) 2020-06-28 2021-06-25 데이터 재배포 방법 및 장치

Country Status (4)

Country Link
EP (1) EP4174676A4 (ko)
JP (1) JP7602561B2 (ko)
KR (1) KR20230025019A (ko)
WO (1) WO2022001883A1 (ko)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4199888B2 (ja) 1999-11-15 2008-12-24 株式会社日立製作所 データベース管理方法
US9996572B2 (en) 2008-10-24 2018-06-12 Microsoft Technology Licensing, Llc Partition management in a partitioned, scalable, and available structured storage
CN103870602B (zh) * 2014-04-03 2017-05-31 中国科学院地理科学与资源研究所 数据库空间分片复制方法及系统
CN104239417B (zh) * 2014-08-19 2017-06-09 天津南大通用数据技术股份有限公司 一种分布式数据库数据分片后动态调整方法及装置
CN106034144B (zh) * 2015-03-12 2019-10-15 中国人民解放军国防科学技术大学 一种基于负载均衡的虚拟资产数据存储方法
US10268710B2 (en) 2015-10-07 2019-04-23 Oracle International Corporation Relational database organization for sharding
CN106407308A (zh) * 2016-08-31 2017-02-15 天津南大通用数据技术股份有限公司 一种分布式数据库的扩容方法及装置
US10783046B2 (en) * 2016-11-22 2020-09-22 Nutanix, Inc. Executing resource management operations in distributed computing systems
CN108319623B (zh) 2017-01-18 2021-10-22 华为技术有限公司 一种数据重分布方法、装置及数据库集群
CN108932256A (zh) * 2017-05-25 2018-12-04 中兴通讯股份有限公司 分布式数据重分布控制方法、装置及数据管理服务器

Also Published As

Publication number Publication date
EP4174676A4 (en) 2023-11-08
CN113849496A (zh) 2021-12-28
JP2023532352A (ja) 2023-07-27
JP7602561B2 (ja) 2024-12-18
WO2022001883A1 (zh) 2022-01-06
EP4174676A1 (en) 2023-05-03

Similar Documents

Publication Publication Date Title
US11442961B2 (en) Active transaction list synchronization method and apparatus
US11726984B2 (en) Data redistribution method and apparatus, and database cluster
US20130191523A1 (en) Real-time analytics for large data sets
US20090248616A1 (en) Indexing technique to deal with data skew
WO2021184761A1 (zh) 数据访问方法和装置、数据存储方法和装置
US11755555B2 (en) Storing an ordered associative array of pairs using an append-only storage medium
US20130031051A1 (en) Adding a kew column to a table to be replicated
US12079202B2 (en) Parallel stream processing of change data capture
US11604788B2 (en) Storing a non-ordered associative array of pairs using an append-only storage medium
US11762861B2 (en) Generating a single transactional data stream from multiple database logs
WO2022127866A1 (zh) 数据处理方法、装置、电子设备、存储介质
US20240354432A1 (en) Approaches of enforcing data security, compliance, and governance in shared infrastructures
US9063773B2 (en) Automatic parallelism tuning for apply processes
Li et al. Accurate Counting Bloom Filters for Large‐Scale Data Processing
US11803568B1 (en) Replicating changes from a database to a destination and modifying replication capacity
KR20230025019A (ko) 데이터 재배포 방법 및 장치
CN113849496B (zh) 一种数据重分布的方法和装置
CN117743337B (zh) 数据处理方法、装置、电子设备及可读存储介质
US11550793B1 (en) Systems and methods for spilling data for hash joins
US20230393917A1 (en) Data Synchronization Without Middleware
US11989166B2 (en) Systems and methods for improved servicing of queries for blockchain data
CN118227605A (zh) 一种通用的动态数据定义与数据存储方法
CN114519049A (zh) 一种数据处理方法及装置
CN117874297A (zh) 一种分布式kv的分区管理方法
CN116955416A (zh) 数据处理方法、系统、设备及存储介质

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20230119

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
PG1501 Laying open of application