KR20200092095A - 관계형 데이터베이스의 DML문장을 NoSQL 데이터베이스로 동기화하기 위한 트랜잭션 제어 방법 - Google Patents
관계형 데이터베이스의 DML문장을 NoSQL 데이터베이스로 동기화하기 위한 트랜잭션 제어 방법 Download PDFInfo
- Publication number
- KR20200092095A KR20200092095A KR1020190009227A KR20190009227A KR20200092095A KR 20200092095 A KR20200092095 A KR 20200092095A KR 1020190009227 A KR1020190009227 A KR 1020190009227A KR 20190009227 A KR20190009227 A KR 20190009227A KR 20200092095 A KR20200092095 A KR 20200092095A
- Authority
- KR
- South Korea
- Prior art keywords
- nosql
- data
- transaction
- rdbms
- dml
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
도 2는 본 발명의 실시예에 따라 관계형 데이터베이스의 DML 문장을 NoSQL 데이터베이스로 동기화하기 위한 전체 절차를 도시한 순서도,
도 3a 및 3b는 도 2에 도시된 준비단계의 세부 절차를 도시한 순서도,
도 4a 및 4b는 도 2에 도시된 트랜잭션 제어 단계의 세부 절차를 도시한 순서도,
도 5는 도 2에 도시된 NoSQL 변환 단계의 세부 절차를 도시한 순서도,
도 6은 도 5에 도시된 INSERT NoSQL 변환 절차를 도시한 순서도,
도 7은 도 5에 도시된 UPDATE NoSQL 변환 절차를 도시한 순서도,
도 8은 도 5에 도시된 DELETE NoSQL 변환 절차를 도시한 순서도,
도 9는 본 발명의 실시예에 따른 NoSQL 변환 실패시 처리 절차를 도시한 순서도,
도 10은 도 2에 도시된 NoSQL 적재 단계의 세부 절차를 도시한 순서도,
도 11은 본 발명의 실시예에 따라 소스 RDBMS가 NoSQL Document로 변환된 예이다.
| 저장소 식별자 | 저장소 기능 |
| RDB-META-MAP | RDBMS 의 테이블 메타정보 저장소 |
| RDB-TR-DATA | RDBMS 트랜잭션 데이터 저장소 |
| RDB-SYNC-MAP | RDBMS의 대상 테이블 동기화정보 저장소 |
| TR-SESSION-MAP | 세션 단위의 트랜잭션 관리 데이터 저장소 |
| NoSQL-TR-DATA | NoSQL의 복제 데이터 저장소 |
22: 준비모듈 24: 트랜잭션 제어기
26: NoSQL 변환기 28: NoSQL 적재기
30: 소스 RDBMS 40: 복제대상 NoSQL DBMS
Claims (5)
- 동기화 프록시 서버가 RDBMS의 트랜잭션 DML 데이터를 NoSQL DBMS로 동기화하는 방법에 있어서,
상기 동기화 프록시 서버가 RDBMS의 메타정보, 복구이력을 위한 Sync_iid와 Sync_uid 컬럼을 추가하고, 트랜잭션을 제어하기 위한 저장소와 자료구조를 생성하며, NoSQL DBMS로 적재하기 위한 저장소와 자료구조를 생성하여 동기화 동작의 초기화 작업을 수행하는 준비 단계;
상기 동기화 프록시 서버가 네트워크에서 패킷을 수신하여 분석한 후, NoSQL 데이터 변환 실패 처리를 위해 INSERT, UPDATE의 DML을 변경하여 RDBMS의 트랜잭션을 내부적으로 관리하고 처리하는 트랜잭션 제어 단계;
상기 동기화 프록시 서버가 트랜잭션의 커밋(Commit) 연산된 데이터가 클라이언트에게 전송완료된 후에 해당 NoSQL 변환을 처리하는 NoSQL 변환 단계; 및
상기 NoSQL 변환 단계에서 변환된 DML NoSQL 데이터를 복제 NoSQL DBMS에 적재하는 NoSQL 적재 단계를 포함하는 관계형 데이터베이스의 DML문장을 NoSQL 데이터베이스로 동기화하기 위한 트랜잭션 제어 방법. - 제1항에 있어서, 상기 준비 단계는
소스 RDBMS의 메타 정보, 복구 이력을 위한 Sync_iid와 Sync_uid 컬럼을 추가하는 단계와, RDBMS의 트랜잭션을 제어하기 위한 저장소와 자료 구조 생성하는 단계와, NoSQL DBMS로 적재하기 위한 저장소와 자료 구조를 생성하는 단계를 포함하는 것을 특징으로 하는 관계형 데이터베이스의 DML문장을 NoSQL 데이터베이스로 동기화하기 위한 트랜잭션 제어 방법. - 제1항에 있어서, 상기 트랜잭션 제어 단계는
동기화 프록시 서버가 네트워크로부터 RDBMS의 패킷을 수집하여 분석하는 단계와,
신규 세션이면, 세션키를 생성하여 세션 단위 트랜잭션 관리 데이터 저장소(TR-SESSION-MAP)에 저장하는 단계와,
신규 세션이 아니면, 데이터 조작 언어(DML)인지를 판단하여 데이터 조작 언어(DML)가 아니면 부분 롤백(Roll Back)이나 커밋(COMMIT) 혹은 롤백(Roll Back)을 처리하는 단계와,
INSERT 데이터 조작 언어(DML)이면 수신 패킷에 Sync_iid 컬럼을 추가하고, 값(VALUE)에 Table.sync_iid를 추가한 확장패킷으로 변경하는 단계와,
UPDATE 데이터 조작 언어(DML)이면, 수신 패킷에 Sync_uid 컬럼을 추가하고, 값(VALUE)에 Table.sync_uid를 추가한 확장패킷으로 변경하는 단계와,
RDBMS 트랜잭션 데이터 저장소(RDB-TR-DATA)가 할당되어 있지 않으면 RDBMS 트랜잭션 데이터 저장소(RDB-TR-DATA)의 영역을 할당하고, 세션 단위 트랜잭션 관리 데이터 저장소(TR-SESSION-MAP)에 RDBMS 트랜잭션 데이터 저장소(RDB-TR-DATA)의 할당 영역에 접근할 참조값을 생성하는 단계와,
RDBMS 트랜잭션 데이터 저장소(RDB-TR-DATA)의 할당 영역에 해당 DML 데이터와 DML 타입에 따른 Sync_iid 또는 Sync_uid값을 함께 저장한 후 확장패킷을 소스 RDBMS로 전송하는 단계를 포함하는 관계형 데이터베이스의 DML문장을 NoSQL 데이터베이스로 동기화하기 위한 트랜잭션 제어 방법. - 제1항에 있어서, 상기 NoSQL 변환 단계는
트랜잭션 제어기로부터 트랜잭션 데이터 처리신호가 수신되면, RDBMS 트랜잭션 데이터 저장소(RDB-TR-DATA)에서 해당 트랜잭션 데이터를 하나씩 읽어 오는 단계와,
읽어온 트랜잭션 데이터가 INSERT이면, NoSQL INSERT 문장 변환기를 불러와 INSERT NoSQL 변환 절차를 수행하고, 변환된 소스 RDBMS의 ROW 데이터의 Sync-iid 값을 Table.commit_iid값으로 갱신하는 단계와,
읽어온 트랜잭션 데이터가 UPDATE이면, NoSQL UPDATE 문장 변환기를 불러와 UPDATE NoSQL 변환 절차를 수행하고, 변환된 소스 RDBMS의 ROW 데이터의 Sync-uid 값을 Table.commit_uid값으로 갱신하는 단계와,
읽어온 트랜잭션 데이터가 DELETE이면, NoSQL DELETE 문장 변환기를 불러와 DELETE NoSQL 변환 절차를 수행하는 단계를 포함하는 관계형 데이터베이스의 DML문장을 NoSQL 데이터베이스로 동기화하기 위한 트랜잭션 제어 방법. - 제4항에 있어서, 상기 NoSQL 변환 단계는
읽어온 트랜잭션 데이터가 마지막(End)이면, NoSQL 적재기에 적재 신호를 전송하는 단계를 더 포함하는 관계형 데이터베이스의 DML문장을 NoSQL 데이터베이스로 동기화하기 위한 트랜잭션 제어 방법.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020190009227A KR102174957B1 (ko) | 2019-01-24 | 2019-01-24 | 관계형 데이터베이스의 DML문장을 NoSQL 데이터베이스로 동기화하기 위한 트랜잭션 제어 방법 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020190009227A KR102174957B1 (ko) | 2019-01-24 | 2019-01-24 | 관계형 데이터베이스의 DML문장을 NoSQL 데이터베이스로 동기화하기 위한 트랜잭션 제어 방법 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20200092095A true KR20200092095A (ko) | 2020-08-03 |
| KR102174957B1 KR102174957B1 (ko) | 2020-11-05 |
Family
ID=72042972
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020190009227A Active KR102174957B1 (ko) | 2019-01-24 | 2019-01-24 | 관계형 데이터베이스의 DML문장을 NoSQL 데이터베이스로 동기화하기 위한 트랜잭션 제어 방법 |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR102174957B1 (ko) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20210110123A (ko) * | 2020-02-28 | 2021-09-07 | (주)시즐 | 관계형 데이터베이스 구조를 이용한 비관계형 데이터베이스 장치 및 데이터 정형화 방법 |
| CN115391457A (zh) * | 2022-08-23 | 2022-11-25 | 昆仑数智科技有限责任公司 | 跨数据库的数据同步方法、装置及存储介质 |
| CN116303789A (zh) * | 2023-03-21 | 2023-06-23 | 天津南大通用数据技术股份有限公司 | 多分片多副本数据库并行同步方法、装置及可读介质 |
| CN116644086A (zh) * | 2023-05-24 | 2023-08-25 | 上海沄熹科技有限公司 | 一种基于SST的Insert SQL语句实现方法 |
| CN117349371A (zh) * | 2023-09-15 | 2024-01-05 | 武汉达梦数据库股份有限公司 | 一种静态修改数据同步分组的方法和装置 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20220099380A (ko) | 2021-01-06 | 2022-07-13 | 주식회사 에비드넷 | 순서도의 데이터베이스 구축 방법 및 그 시스템 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013140488A (ja) * | 2012-01-04 | 2013-07-18 | Hitachi Ltd | システム性能解析装置、システム性能解析方法、およびシステム性能解析プログラム |
| KR101672724B1 (ko) * | 2015-05-08 | 2016-11-04 | 주식회사 엘지유플러스 | 미들티어, 이를 포함하는 데이터 처리 시스템, 및 데이터베이스 이관 방법 |
| KR20170075092A (ko) * | 2015-12-22 | 2017-07-03 | 주식회사 와이즈넛 | 분산파일시스템 기반 NoSQL 데이터베이스의 데이터 안정성을 향상시키기 위한 트랜잭션 관리방법 |
| KR101917806B1 (ko) * | 2017-12-22 | 2018-11-12 | 주식회사 웨어밸리 | Sql 패킷분석을 통한 이기종 데이터베이스의 데이터 복제 및 동기화 오류 탐지 방법 및 시스템 |
-
2019
- 2019-01-24 KR KR1020190009227A patent/KR102174957B1/ko active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013140488A (ja) * | 2012-01-04 | 2013-07-18 | Hitachi Ltd | システム性能解析装置、システム性能解析方法、およびシステム性能解析プログラム |
| KR101672724B1 (ko) * | 2015-05-08 | 2016-11-04 | 주식회사 엘지유플러스 | 미들티어, 이를 포함하는 데이터 처리 시스템, 및 데이터베이스 이관 방법 |
| KR20170075092A (ko) * | 2015-12-22 | 2017-07-03 | 주식회사 와이즈넛 | 분산파일시스템 기반 NoSQL 데이터베이스의 데이터 안정성을 향상시키기 위한 트랜잭션 관리방법 |
| KR101917806B1 (ko) * | 2017-12-22 | 2018-11-12 | 주식회사 웨어밸리 | Sql 패킷분석을 통한 이기종 데이터베이스의 데이터 복제 및 동기화 오류 탐지 방법 및 시스템 |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20210110123A (ko) * | 2020-02-28 | 2021-09-07 | (주)시즐 | 관계형 데이터베이스 구조를 이용한 비관계형 데이터베이스 장치 및 데이터 정형화 방법 |
| CN115391457A (zh) * | 2022-08-23 | 2022-11-25 | 昆仑数智科技有限责任公司 | 跨数据库的数据同步方法、装置及存储介质 |
| CN115391457B (zh) * | 2022-08-23 | 2023-09-12 | 昆仑数智科技有限责任公司 | 跨数据库的数据同步方法、装置及存储介质 |
| CN116303789A (zh) * | 2023-03-21 | 2023-06-23 | 天津南大通用数据技术股份有限公司 | 多分片多副本数据库并行同步方法、装置及可读介质 |
| CN116644086A (zh) * | 2023-05-24 | 2023-08-25 | 上海沄熹科技有限公司 | 一种基于SST的Insert SQL语句实现方法 |
| CN116644086B (zh) * | 2023-05-24 | 2024-02-20 | 上海沄熹科技有限公司 | 一种基于SST的Insert SQL语句实现方法 |
| CN117349371A (zh) * | 2023-09-15 | 2024-01-05 | 武汉达梦数据库股份有限公司 | 一种静态修改数据同步分组的方法和装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| KR102174957B1 (ko) | 2020-11-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102174957B1 (ko) | 관계형 데이터베이스의 DML문장을 NoSQL 데이터베이스로 동기화하기 위한 트랜잭션 제어 방법 | |
| US11263236B2 (en) | Real-time cross-system database replication for hybrid-cloud elastic scaling and high-performance data virtualization | |
| CN111797121B (zh) | 读写分离架构业务系统的强一致性查询方法、装置及系统 | |
| US20090012932A1 (en) | Method and System For Data Storage And Management | |
| CN109144994B (zh) | 索引更新方法、系统及相关装置 | |
| US9009116B2 (en) | Systems and methods for synchronizing data in a cache and database | |
| US10191932B2 (en) | Dependency-aware transaction batching for data replication | |
| US6622152B1 (en) | Remote log based replication solution | |
| US8117153B2 (en) | Systems and methods for a distributed cache | |
| US8892509B2 (en) | Systems and methods for a distributed in-memory database | |
| US7421443B2 (en) | Filestream data storage attribute | |
| EP1840766A2 (en) | Systems and methods for a distributed in-memory database and distributed cache | |
| EP2380090B1 (en) | Data integrity in a database environment through background synchronization | |
| CN111984696A (zh) | 一种新型数据库和方法 | |
| EP3532945A1 (en) | Facilitating operations on pluggable databases using separate logical timestamp services | |
| WO2022127866A1 (zh) | 数据处理方法、装置、电子设备、存储介质 | |
| EP4418138A1 (en) | Data processing method and apparatus, and electronic device, storage medium and program product | |
| US20230376485A1 (en) | Distributed query plan generation | |
| JP2017534986A (ja) | オンライン・スキームおよびデーター変換 | |
| US20180150544A1 (en) | Synchronized updates across multiple database partitions | |
| WO2024027459A1 (zh) | 一种分布式数据库中创建全局二级索引的方法及装置 | |
| CN116578395B (zh) | 事务处理方法、系统、装置、电子设备及存储介质 | |
| EP4141686B1 (en) | Using self-maintaining structure information for faster data access | |
| US12197460B2 (en) | Transport of master data dependent customizations | |
| JP4137366B2 (ja) | データベース管理方法及びデータベース管理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
| U11 | Full renewal or maintenance fee paid |
Free format text: ST27 STATUS EVENT CODE: A-4-4-U10-U11-OTH-PR1001 (AS PROVIDED BY THE NATIONAL OFFICE) Year of fee payment: 6 |