JP2019114240A - Sqlパケット分析を通じての異機種データベースのデータ複製および同期化エラー探知方法およびシステム - Google Patents

Sqlパケット分析を通じての異機種データベースのデータ複製および同期化エラー探知方法およびシステム Download PDF

Info

Publication number
JP2019114240A
JP2019114240A JP2018203004A JP2018203004A JP2019114240A JP 2019114240 A JP2019114240 A JP 2019114240A JP 2018203004 A JP2018203004 A JP 2018203004A JP 2018203004 A JP2018203004 A JP 2018203004A JP 2019114240 A JP2019114240 A JP 2019114240A
Authority
JP
Japan
Prior art keywords
database
data
sql
replication
module
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
Application number
JP2018203004A
Other languages
English (en)
Other versions
JP6668442B2 (ja
Inventor
ホ キム,イン
In Ho Kim
ホ キム,イン
グ クォン,ヨン
Yeong Gu Kwon
グ クォン,ヨン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WareValley Co Ltd
Original Assignee
WareValley Co Ltd
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 WareValley Co Ltd filed Critical WareValley Co Ltd
Publication of JP2019114240A publication Critical patent/JP2019114240A/ja
Application granted granted Critical
Publication of JP6668442B2 publication Critical patent/JP6668442B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • 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/242Query formulation
    • G06F16/2433Query languages
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

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

Abstract

【課題】負荷がかかることなく、別途のソースデータベースに保存されるデータを別途のデータ構造に変換して複製する。【解決手段】本発明のシステムは、ソースデータベースを運営する第1運営サーバーと、別途のDBMSを運営する第2運営サーバーと、ソースデータベースに伝送されるSQLを抽出して第2運営サーバーに伝送することによって、ソースデータベースと複製データベースを一致させる複製サーバーで構成される。複製サーバーは、クライアントから第1運営サーバーまたはソースデータベースに送るパケットをキャプチャーし、キャプチャーされたパケットを分析し、抽出したSQLを分析して異種DBMSのためのSQLやテストデータ生成のための個人情報をマスキングしてSQLを構成し、変換されたSQLをJDBCを利用してDBMSの複製データベースを運営する運営サーバーに伝送する。【選択図】図3

Description

本発明は、ネットワークストリーム(Network Stream)からソースデータベース(Source Database)に伝送されるSQL(Structured Query Language:構造化クエリ言語、以下「SQL」という。)とバインド値(Bind Value)を抽出してSQLとバインド値に含まれたデータを、抽出変換を通じて異種データベース(NoSQLなど)により複製して同期化エラーを探索するための方法およびシステムに関するものである。
最近、情報化時代に入るにつれて、SNS(Social Networking Service)、電子商取引、インターネットバンキングなどが活発に行われることによって、データの構築とこれを活用した各企業の重要情報と個人情報が入っているデータベースの重要性が拡大しており、構築されたデータを活用して別途のデータ辞書、統計データ、サービス用データを構成している。このような別途のデータベースを構築するにおいて、ビックデータの増加趨勢につれてソースデータベースの負荷が加重しており、ソースデータベースのデータを別途の必要データのみを抽出して構築する必要がある。
このようにソースデータベースのデータを別途のデータに構成するために、ETL(Extraction、Transformation、Loading)技術が最も多く使用されているが、これはソースデータベースに保存が完了したデータを再び抽出する方式であり、ソースデータベースにさらなる負担を与えるため、ソースデータベースの性能低下に繋がるとの問題点が発生する。
特許文献1に開示された「リアルタイム複製環境のデータベース運用管理方法およびシステム」は、複製DBを含む大容量DBシステムにおいて、DB作業を含むS/W適用またはこれに伴う障害発生時、運用DBおよび複製DBの迅速な原状復旧を提供する方法および装置を提供するものである。
また、特許文献2に開示された「分散データベースシステムのデータ複製装置および方法」は、ソースパーティションサーバーが管理するデータの複製のための複製パーティションサーバーを選定する選定部と、ソースパーティションサーバーに含まれたパーティションを複製パーティションサーバーに割り当てるパーティション割当部と、ソースパーティションサーバーに含まれたパーティションのログファイル位置情報を複製パーティションサーバーに伝達するログファイル管理部を含むものである。
そして、特許文献3に開示された「データベースから圧縮テーブルをリアルタイム複製する装置および方法」は、ログにすべての有効データ値が含まれていない場合にもリアルタイム複製を遂行できる。このために、ディクショナリテーブル、圧縮テーブル、リアルタイム複製部を含み、リアルタイム複製部内に複製メモリをさらに含むことによって、リアルタイムで複製の遂行が可能であるように具現されたものである。
ところが、このような従来の複製方法は、SQLデータベースをNoSQLデータベースのような異種データベースに複製する場合には適用することが難しく、複製時に同期エラーを検出し難いという問題点がある。また、従来、ソースデータベースのアップデートがターゲットデータベースのアップデートに適用されるまで時間がかかるとの複製遅延の問題点がある。
韓国登録特許第10−1513943号公報 韓国公開特許第10−2011−0071785号公報 韓国登録特許第10−1660451号公報
本発明の目的は、クライアント端末機からソースデータベースに伝送されるSQLパケットを、ネットワークストリームからスニッフィングやプロキシ(Proxy)方式で抽出した結果に基づいて、ソースデータベースの負荷を最小化しつつ、略リアルタイムで異種DBMSを容易に複製できる、SQLパケット分析を通じての異種データベースのデータ複製方法およびシステムを提供することである。
また、本発明の他の目的は、異種DBMSに複製する場合にネットワークストリームからソースデータベースの入出力パケットを抽出/分析して、複製対象データベースとのデータ同期化を検証できる、SQLパケット分析を通じての異種データベースの同期化エラー探知方法およびシステムを提供することである。
本発明の一見地に係るシステムは、ソースデータベースを運営する第1運営サーバーと、別途の加工された複製データの異種データベースを運営する第2運営サーバー、およびクライアントから前記第1運営サーバーに伝送されるネットワークストリームからソースデータベースに伝送されるSQL(Structured Query Language)を抽出してデータ構造を変換して前記第2運営サーバーに伝送する複製サーバーを含む。
前記複製サーバーは、クライアントから前記第1運営サーバーまたはソースデータベースに送るパケットをキャプチャーするスニッフィングモジュールと、クライアントから前記第1運営サーバーに送るデータを中継する役割をしつつ、パケットを収集するプロキシモジュールと、前記スニッフィングモジュールと前記プロキシモジュールによってキャプチャーされたパケットを分析してSQLとバインド値(Bind Value)を抽出するSQL抽出モジュールと、抽出したSQLとバインド値(Bind Value)をソーステーブルのスキーマ(SCHEMA)と対応させてカラム値(Column−Value)構造に変換させるデータ標準化モジュールと、複製しようとする対象システムである前記第2運営サーバーに合うデータ構造に変更作業を遂行するデータ構造変換モジュールと、変換されたデータを前記第2運営サーバーに伝送する変換データ適用モジュールを具備することによって、ソースデータベースと対象異種データベースを一致させるものである。
また、前記複製サーバーは、クライアントから前記第1運営サーバーに伝送されるネットワークストリームからソースデータベース(Source Database)に伝送されるSQL(Structured Query Language)およびその実行結果を抽出して前記第2運営サーバーにSQLを伝送して得た結果と比較することによって、前記ソースデータベースと前記複製データベース間の同期化エラーを探知する機能をさらに含むことができる。
本発明の他の見地に係る方法は、複製サーバーのスニッフィングモジュールやプロキシモジュールが、クライアントがソースデータベースに伝送するネットワークパケットをキャプチャーする段階と、キャプチャーされたネットワークパケットの中からパケットフィルタリングを通じてSQLとバインド値(Bind Value)を抽出してデータベース変更SQLを選別する段階と、前記選別したデータベース変更SQLとバインド値(Bind Value)のデータをテーブルスキーマ(Table schema)を基準としてカラム値(Column−value)構造に変換し、カラム値(Column−value)構造をキー値(key−value)構造に変更する段階と、複製対象データベースがテストデータベースであれば、複製システムに設定された敏感情報カラム(Column)値を基準としてマスキングキー値(key−value)をマスキング(masking)処理し、複製対象データベースが関係型データベース(RDBMS)であれば、標準SQLに変換し、複製対象データベースがNoSQL基盤の文書基盤データベース(Document base DBMS)であれば、キー値(key−value)構造をJSON(JavaScript(登録商標) Object Notation)形式の文書(document)に変換する段階と、データ構造変換が完了したデータを第2運営サーバーに伝送する段階を含む。
前記方法は、前記抽出したSQLの中から同期化検証に必要なクエリ(Query)を選別し、前記選別したクエリを複製データベースで実行した後、抽出された実行結果と前記原本データベースのクエリ実行結果を比較して同期化エラーを探知する段階、および前記実行結果を比較して同期化エラーが探知されると前記実行結果を利用してデータ変更SQLを生成し、前記生成したデータ変更SQLを複製データベースに実行する段階をさらに含むことによって、前記ソースデータベースと前記複製データベースを一致させることができる。
前記同期化エラーを探知する段階は、クエリが復旧用クエリ(単一テーブルに対して一定範囲のRowデータを持ち込むクエリ)の場合、クエリ結果を利用して複製データベースに伝送するDML(Data Manipulation Language)を生成する段階と、生成したDMLを複製データベースに伝送して復旧する段階と、同期化エラーが探知され、クエリが検査用クエリ(単一テーブルに対する集計クエリ)の場合、データ同期化モジュールを通じて復旧する段階からなり、前記データ同期化モジュールを通じて復旧する段階は直接ソースデータベースを読み込んで複製データベースに同期化(sync)作業を遂行して復旧するものである。
本発明のデータベース複製システムおよび方法は、スニッフィング方式やプロキシ方式を利用することによって、データベース運営システムの性能に影響を与えずにユーザーからソースデータベースに伝送されるパケットを獲得することができ、これを利用して異種DBMSへのデータを構築することによって、ソースデータベースに発生する負荷費用を節減することができ、略リアルタイムで複製を遂行して複製遅延を顕著に低減させ得る効果がある。
また、本発明によると、ソースSQLデータベースと異なる種類のSQLデータベースはもちろん、キー値保存方式や文書保存方式あるいはコラム保存方式のNoSQLデータベースにも複製することができるため、拡張性が大きく、抽出したデータの個人情報および敏感情報をマスキングしてテスト用途のデータを別途に構築できる長所がある。
そして、本発明のデータベース複製システムの同期化エラー探知および復旧方法は、複製データベースに同期化が行われる時点の場合と、複製データベースに同期化が行われた後の場合とに区分することによって、より正確に同期化エラーを検出することができ、選別したクエリが単純検証用クエリの場合、データ同期化モジュールを利用して直接原本データベースを読み込んで複製データベースに同期化(sync)作業を遂行することによって、速かに復旧できる効果がある。
本実施例に係るSQLパケット分析を通じての異機種データベースのデータ複製および同期化エラー探知システムの概略図。 本実施例に係る複製サーバーの細部構成を図示した構成ブロック図。 本実施例に係る複製システムでパケットをキャプチャーおよび変換してデータベースを複製する過程を示したフローチャート。 本実施例にしたがってパケットを収集および分析し、SQLとバインド値(Bind Value)を選別してデータベースを複製し、同期化エラーの有無を探知することを示したフローチャート。 本実施例にしたがってパケットを収集して同期化エラー検査に必要なクエリとその実行結果を抽出および選別して複製データベースにクエリを実行した結果と比較する、同期化エラー検査手続きを示したフローチャート。
本発明と本発明の実施によって達成される技術的課題は、下記で説明する本発明の好ましい実施例によってより明確となるはずである。下記の実施例は単に本発明を説明するために例示されたものに過ぎず、本発明の範囲を制限するためのものではない。
図1は、本実施例にしたがって別途の複製サーバーを利用して、スニッフィング方式やプロキシ方式でパケットをキャプチャーしてデータベース複製システムを運営する環境を示したブロック図である。
本実施例に係る異種データベース複製システム100は、図1に図示された通り、ソースデータベース111を運営する第1運営サーバー110と、NoSQLのような異種データベース(複製データベース)131を運営する第2運営サーバー130、クライアント 端末機 20−1〜20−Nから第1運営サーバー110に伝送されるネットワークストリームからソースデータベース(Source Database)に伝送されるSQL(Structured Query Language)を抽出して標準化作業を遂行し、変換したデータを第2運営サーバー130に伝送することによって、ソースデータベース111に構築されるデータを変換および複製する複製サーバー120で構成される。
図1を参照すると、ユーザーがクライアント端末機20−1〜20−Nを利用して第1運営サーバー110またはソースデータベース111に接続する時、複製サーバー120でスニッフィング方式やプロキシ方式でキャプチャーし、標準化したデータを第2運営サーバー130で運営中の異種データベース131に合わせて変換して複製できるようにするものである。
伝統的な関係型データベース(RDBMS)は、多様な応用において構造化されたデータを保存するために主に使用される技術であって、SQLを通じての任意質疑機能を提供する。ビックデータと物のインターネットの発展により多様な形態のデータを効率的に保存するための新しい構造のNoSQLデータベースが登場した。NoSQLデータベースは、キー値保存方式、文書保存方式、カラム保存方式に大別され、キー値保存基盤のNoSQLデータベースはキー(key)と値(value)という形態で資料を保管する。文書保存基盤NoSQLデータベースはMongoDBとCouchDBとがあり、キー値方式とは異なり、複雑な検索条件を通じてデータを抽出することができる。カラム基盤NoSQLデータベースは優れた拡張性を有しており、Cassandra、HBaseなどがある。
本実施例において異種データベース131としては、ソースSQLデータベース111と異なる種類のSQLデータベースはもちろん、NoSQLデータベースを含む。
そして、本実施例の複製サーバー120は、SQLとバインド値(Bind Value)に含まれたソースデータベースのテーブルスキーマ(TABLE SCHEMA)をメタデータ(Meta data)としてカラム値(Column−value)形態に変換し、複製したり抽出したSQLとバインド値(Bind Value)のデータをキー値(key−value)基盤のJSON(JavaScript(登録商標) Object Notation)形式の文書(Document)に変換して第2運営サーバー130に伝達して、NoSQL基盤にデータを複製したり抽出したSQLデータをテーブルスキーマ(SCHEMA)とマッピング(Mapping)して個人情報をマスキングし、第2運営サーバー130に伝達してデータを複製することができる。
また、本実施例の複製サーバー120は、抽出したSQLを異種DBMSに提供する構文に合わせて変換してデータを複製したり抽出したSQLのDML(Data Manipulation Language)の種類を確認して、DELETE、UPDATEであるSQLはWHERE文の条件(CONDITION)を利用してNoSQLデータベースで文書(Document)削除、アップデート命令を生成する機能を提供し、第2運営サーバー130に適用してソースデータベースと同期化させることができる。
図2は、本実施例に係る複製サーバーの細部構成を図示した構成ブロック図である。
本実施例に係る複製サーバー120は、図2に図示された通り、スニッフィングモジュール121、プロキシモジュール122、パケット分析モジュール123、SQL選別モジュール124、データ標準化モジュール125、データ構造変換モジュール126、変換データ適用モジュール127、データ同期化検証モジュール128、データ同期化復旧モジュール129、データ同期化モジュール1291を具備して、ソースデータベース111と異種の対象データベース131を一致させるものである。
図2を参照すると、スニッフィングモジュール121は、クライアント20から第1運営サーバー110またはソースデータベース111に送るパケット141やクライアント20に向かうパケット151をキャプチャーする。プロキシモジュール122は、クライアント20から第1運営サーバー110に送るデータの中継役割をしつつ、入出力パケット160、170を収集する。
パケット分析モジュール123は、スニッフィングモジュール121とプロキシモジュール122によりキャプチャーされたパケット141、151、160、170を分析して、SQLとバインド値(Bind Value)を抽出し、SQL選別モジュール124は、抽出したSQLを分析して同期化(複製)および同期化検証に必要なSQLクエリを選別する。
データ標準化モジュール125は、同期化のために抽出したSQLとバインド値(Bind Value)をソーステーブルのスキーマ(SCHEMA)と対応させてカラム値(Column−Value)構造に変換し、データ構造変換モジュール126は複製しようとする対象システムである第2運営サーバー130の対象データベース131に合うデータ構造に変更作業を遂行し、変換データ適用モジュール127は変換されたデータを第2運営サーバー130に伝送する。
データ同期化検証モジュール128は、前記抽出したSQLの中から同期化検証に必要なクエリを選別し、前記選別したクエリを複製データベース131を運営する第2運営サーバー130に伝送して複製データベースで実行した後、抽出された実行結果と前記ソースデータベースのクエリ実行結果を比較して同期化エラーを探知する。
同期化復旧モジュール129は、同期化エラーが探知された場合、抽出したソースデータベース111の実行結果と複製データベース131で持ち込んだ実行結果を利用してデータを復旧し、データ同期化モジュール1291はソースデータベース111と複製データベース131に直接連結して両データを同期化させる役割をする。
そして、複製サーバー120のデータ同期化検証モジュール128は、エラーによってソースデータベース111と複製データベース131のデータが一致しない場合に備え、SQL選別モジュール124から選別した同期化検証クエリを複製データベース131に実行してその結果を比較して同期化エラーの有無を検査する。ここで、同期化検証に必要なクエリは同期化エラー探知のみのためのクエリ(単一Tableに対する集計クエリ)と、探知および復旧のためのクエリ(単一Tableに対して一定の範囲のRow Dataを持ち込むクエリ)を含む。
ソースデータベース111と複製データベース131のデータが一致しないことが検出されると、ソースデータベース111と複製データベース131のクエリ結果を利用して、データ同期化のためのデータ変更SQL(DML)を構成して複製データベース131に変換データ適用モジュール127を通じて伝送した後、もう一度データ同期化が正常に行われたかを検査する。
同期化復旧のためのデータ変更SQLを構成する過程を詳しく説明すると、ソースデータベース111のクエリ実行結果に存在するRowが複製データベース131のクエリ結果にない場合、該当Rowを「Insert」文に構成し、ソースデータベース111のクエリ結果にはないが複製データベース131のクエリ結果にはある場合は、該当Rowを「Delete」文に構成し、一部のデータが間違っている場合には、「Update」文を構成して変換データ適用モジュール127を通じて複製データベース131に伝送して同期化エラーを復旧する。
万一、選別したクエリが単純検証用クエリであり、これを通じて同期化エラーを探知した場合には、データ同期化モジュール1291を利用して直接ソースデータベース111を読み込んで複製データベース131に同期化(sync)作業を遂行して復旧する。
図3は、本実施例に係る複製システムでパケットをキャプチャーおよび変換してデータベースを複製する過程を示したフローチャートである。
図3を参照すると、本発明に係る複製サーバー120のスニッフィングモジュール121やプロキシモジュール122は、クライアント20がソースデータベース111に伝送するネットワークパケットをキャプチャーする(S101)。
引き続き、パケット分析を通じてキャプチャーされたネットワークパケットの中からSQLとバインド値(Bind Value)を抽出してデータベース変更SQLを選別する(S102)。データベース変更SQLとバインド値(Bind Value)のデータは、テーブルスキーマ(Table schema)を基準としてカラム値(Column−value)構造に変換し(S103)、カラム値(Column−value)構造をキー値(key−value)構造に変更して第2運営サーバー130のDBMSにより処理ロジックを決定する(S104)。
例えば、複製対象データベースがテストデータベースであれば複製システムに設定された敏感情報カラム(Column)値を基準としてマスキングキー値(key−value)をマスキング(masking)処理し(S105)、複製対象データベースが異種DB、すなわち第2運営サーバー130のDBMS131が関係型データベース(RDBMS:Relational data base management system)であれば標準SQLに変換し(S106)、第2運営サーバー130のDBMS131がNoSQL基盤のDocument base DBMSであればキー値(key−value)構造をJSON形式のdocumentに変換する(S107)。
引き続き、データ構造変換が完了したデータを、第2運営サーバー130に適用するために第2運営サーバー130に伝送する(S108)。
一方、本実施例に係るデータベース複製時の同期化エラー探索は、図4および図5に図示された通り、ネットワークストリームからソースデータベースの入出力パケットを抽出/分析して、複製対象データベースとのデータ同期化を検証することである。
まず、本実施例に係る同期化時のエラー探索方法は、次のように2つの同期化エラー探知方法で実行され得る。
第1の方法は、複製データベースに同期化が行われる時点の場合、ユーザーによるソースデータベースのパケット伝送が確認されると複製サーバー120でパケットを取得する段階と、取得したパケットを分析してSQLとその実行結果を抽出する段階と、抽出したSQLのうちデータベースに変更を与えるSQLを選別する段階と、選別したデータベースに変更を与えるSQLを複製データベースに一致させる段階と、複製データベースに実行した結果(affected row、auto increment key、error)とソースデータベースの実行結果(affected row、auto increment key)を比較して同期化検証する段階を有して、略式で同期化エラーの有無を探知する方法である。
第2の方法は、複製データベースに同期化が行われた後の場合、ユーザーによるソースデータベース111のパケット伝送が確認されると複製サーバー120でパケットを取得する段階と、前記取得したパケットを分析してSQLとその実行結果(Returned row)を抽出する段階と、前記抽出したSQLのうち同期化検証に必要なクエリを選別する段階と、前記選別したクエリを複製データベース131に伝送してその実行結果(Returned row)を持ち込む段階と、前記抽出したソースデータベース111の実行結果(Returned row)と複製データベース131の実行結果(Returned row)を比較する段階を通じて同期化エラーを探知する方法である。この時、同期化エラーが探知されると抽出したソースデータベース111の実行結果(Returned row)と複製データベース131の実行結果(Returned row)を利用してデータ変更SQLに生成し、前記生成したデータ変更SQLを複製対象データベース131に伝送して実行することによって同期化エラーを復旧する。
図4は本実施例にしたがってパケットを収集および分析し、SQLを選別してデータベースを複製し、同期化エラーの有無を探知することを示したフローチャートであり、図5は本実施例にしたがってパケットを収集して同期化エラー検査に必要なクエリとその実行結果(Returned row)を抽出して、複製データベースにクエリを実行した結果(Returned row)と比較する同期化エラー検査手続きを示したフローチャートである。
本実施例に係る複製サーバー120は図4に図示された通り、クライアント20がソースデータベース111にSQLを伝送する段階(S201)と、スニッフィングモジュール121やプロキシモジュール122でパケットをキャプチャーする段階(S202)、パケット分析モジュール123でSQLとその実行結果を抽出する段階(S203)、SQL選別モジュール124でデータベース変更SQLを選別する段階(S204)、データベース変更SQLであるかを検査してデータベース変更を発生させないSQLは複製データベースに伝送せず(S206)、データベース変更SQLを複製データベースに伝送する段階(S205〜S207)、複製データベースの実行結果とソースデータベースの実行結果を比較する段階(S208)、両実行結果を比較して同期化エラーが探知されるとデータ同期化復旧モジュール129を通じてデータを復旧する段階(S209〜S210)を経る。
そして、本実施例にしたがってデータ同期化エラーを検査する手続きは、図5に図示された通り、クライアント20がソースデータベース111にSQLを伝送する段階(S211)と、スニッフィングモジュール121やプロキシモジュール122でパケットをキャプチャーする段階(S212)、パケット分析モジュール123でSQLおよびその実行結果を抽出する段階(S213)、SQL選別モジュール124で抽出したSQLのうち同期化エラー検査のためのクエリを選別する段階(S214)、選別したクエリを複製データベース131で実行して結果を得る段階(S215)、ソースデータベース111のクエリ結果と複製データベース131のクエリ結果を比較して同期化エラーを検査する段階(S216)、同期化エラーが探知され、クエリが復旧用クエリである場合、クエリ結果を利用して複製データベース131に伝送するDMLを生成する段階(S217〜S219)、生成したDMLを複製データベース131に伝送して復旧する段階(S220)、および同期化エラーが探知され、クエリが検査用クエリである場合、データ同期化モジュール1291を通じて復旧する段階(S221)で構成される。
以上、本発明の実施例を参照して説明されたが、本技術分野の通常の知識を有する者であれば、これから多様な変形および均等な他の実施例が可能であることが理解できるはずである。したがって、本発明の権利範囲はこれに限定されるものではなく、下記の特許請求の範囲で定義している本発明の基本概念を利用した当業者の多様な変形および改良形態も本発明の権利範囲に属するものである。
20、20−1〜20−N:クライアント端末機
30:インターネット
110:第1運営サーバー
111:ソースデータベース
120:複製サーバー
130:第2運営サーバー
131:複製データベース
121:スニッフィングモジュール
122:プロキシモジュール
123:パケット分析モジュール
124:SQL選別モジュール
125:データ標準化モジュール
126:データ構造変換モジュール
127:変換データ適用モジュール
128:データ同期化検証モジュール
129:データ同期化復旧モジュール
1291:データ同期化モジュール
140、141、150、151、160、170:パケット

Claims (6)

  1. ソースデータベースを運営する第1運営サーバーと、
    別途の加工された複製データの異種データベースを運営する第2運営サーバーと、
    クライアントから前記第1運営サーバーに伝送されるネットワークストリームからソースデータベースに伝送されるSQL(Structured Query Language)を抽出してデータ構造を変換して前記第2運営サーバーに伝送する複製サーバーを含み、
    前記複製サーバーは、
    クライアントと前記第1運営サーバーまたはソースデータベースの間に伝送されるパケットをキャプチャーするスニッフィングモジュールと、
    クライアントと前記第1運営サーバーの間でデータを中継する役割をしつつ、パケットを収集するプロキシモジュールと、
    前記スニッフィングモジュールと前記プロキシモジュールによってキャプチャーされたパケットを分析して、SQLとバインド値(Bind Value)を抽出するパケット分析モジュールと、
    抽出したSQLを分析して同期化および同期化検証に必要なSQL Queryを選別するSQL選別モジュールと、
    抽出したSQLとバインド値(Bind Value)をソーステーブルのスキーマ(SCHEMA)と対応させてカラム値(Column−Value)構造に変換させるデータ標準化モジュールと、
    複製しようとする対象システムである前記第2運営サーバーに合うデータ構造に変更作業を遂行するデータ構造変換モジュールと、
    変換されたデータを前記第2運営サーバーに伝送する変換データ適用モジュールを具備し、
    ソースデータベースと対象異種データベースを一致させることを特徴とする、SQLパケット分析を通じての異種データベースのデータ複製および同期化エラー探知システム。
  2. 前記複製サーバーは
    クライアントから前記第1運営サーバーに伝送されるネットワークストリームからソースデータベース(Source Database)に伝送されるSQL(Structured Query Language)およびその実行結果を抽出して、前記第2運営サーバーにSQLを伝送して得た結果と比較することによってソースデータベースと複製データベース間の同期化エラーを探知する機能をさらに含むことを特徴とする、請求項1に記載のSQLパケット分析を通じての異種データベースのデータ複製および同期化エラー探知システム。
  3. 複製サーバーのスニッフィングモジュールやプロキシモジュールが、クライアントがソースデータベースに伝送するネットワークパケットをキャプチャーする段階と、
    キャプチャーされたネットワークパケットの中からパケットフィルタリングを通じてSQLを抽出してデータベース変更SQLを選別する段階と、
    前記選別したデータベース変更SQLはテーブルスキーマ(Table schema)を基準としてカラム値(Column−value)構造に変換し、カラム値(Column−value)構造をキー値(key−value)構造に変更する段階と、
    複製対象データベースがテストデータベースであれば、複製システムに設定された敏感情報カラム(Column)値を基準としてマスキングキー値(key−value)をマスキング(masking)処理し、複製対象データベースが関係型データベース(RDBMS)であれば、標準SQLに変換し、複製対象データベースがNoSQL基盤の文書基盤データベース(Document base DBMS)であれば、キー値(key−value)構造をJSON(JavaScript(登録商標) Object Notation)形式の文書(document)に変換する段階と、
    データ構造変換が完了したデータを第2運営サーバーに伝送する段階を含む、SQLパケット分析を通じての異種データベースのデータ複製および同期化エラー探知方法。
  4. 前記方法は、
    前記抽出したSQLの中から同期化検証に必要なクエリを選別し、前記選別したクエリを複製データベースで実行した後、抽出された実行結果と前記ソースデータベースのクエリ実行結果を比較して同期化エラーを探知する段階と、
    前記実行結果を比較して同期化エラーが探知されると前記実行結果を利用してデータ変更SQLを生成し、前記生成したデータ変更SQLを複製データベースに実行する段階をさらに含み、
    ソースデータベースと複製データベースを一致させることを特徴とする、請求項3に記載のSQLパケット分析を通じての異種データベースのデータ複製および同期化エラー探知方法。
  5. 前記同期化エラーを探知する段階は
    クエリが復旧用クエリである場合、クエリ結果を利用して複製データベースに伝送するDML(Data Manipulation Language)を生成する段階と、生成したDMLを複製データベースに伝送して復旧する段階と、同期化エラーが探知され、クエリが検査用クエリである場合、データ同期化モジュールを通じて復旧する段階で構成されたことを特徴とする、請求項4に記載のSQLパケット分析を通じての異種データベースのデータ複製および同期化エラー探知方法。
  6. 前記データ同期化モジュールを通じて復旧する段階は
    直接原本データベースを読み込んで複製データベースに同期化(sync)作業を遂行して復旧することを特徴とする、請求項5に記載のSQLパケット分析を通じての異種データベースのデータ複製および同期化エラー探知方法。
JP2018203004A 2017-12-22 2018-10-29 Sqlパケット分析を通じての異機種データベースのデータ複製および同期化エラー探知方法およびシステム Active JP6668442B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0178652 2017-12-22
KR1020170178652A KR101917806B1 (ko) 2017-12-22 2017-12-22 Sql 패킷분석을 통한 이기종 데이터베이스의 데이터 복제 및 동기화 오류 탐지 방법 및 시스템

Publications (2)

Publication Number Publication Date
JP2019114240A true JP2019114240A (ja) 2019-07-11
JP6668442B2 JP6668442B2 (ja) 2020-03-18

Family

ID=64024428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018203004A Active JP6668442B2 (ja) 2017-12-22 2018-10-29 Sqlパケット分析を通じての異機種データベースのデータ複製および同期化エラー探知方法およびシステム

Country Status (4)

Country Link
US (1) US11157512B2 (ja)
JP (1) JP6668442B2 (ja)
KR (1) KR101917806B1 (ja)
GB (1) GB2569675A (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11328081B2 (en) * 2018-10-16 2022-05-10 Sap Se Consent-based data privacy management system
US11204940B2 (en) * 2018-11-16 2021-12-21 International Business Machines Corporation Data replication conflict processing after structural changes to a database
KR102124954B1 (ko) * 2018-12-20 2020-06-19 주식회사 엘지씨엔에스 이기종 데이터베이스 관리 시스템을 동시 지원하기 위한 IoT 플랫폼 시스템 및 그 동작 방법
KR102174957B1 (ko) * 2019-01-24 2020-11-05 주식회사 웨어밸리 관계형 데이터베이스의 DML문장을 NoSQL 데이터베이스로 동기화하기 위한 트랜잭션 제어 방법
US11138061B2 (en) * 2019-02-28 2021-10-05 Netapp Inc. Method and apparatus to neutralize replication error and retain primary and secondary synchronization during synchronous replication
CN110309184B (zh) 2019-07-10 2021-05-25 中国民航信息网络股份有限公司 一种航空运价数据的缓存方法及系统
CN110362630B (zh) * 2019-07-19 2023-11-28 深圳前海微众银行股份有限公司 数据管理方法、装置、设备与计算机可读存储介质
US11461324B2 (en) * 2019-08-29 2022-10-04 Oracle International Corporation First futamura projection in the context of SQL expression evaluation
US11650841B2 (en) 2019-11-26 2023-05-16 Walmart Apollo, Llc Data mover
CN112988883B (zh) * 2019-12-16 2023-03-10 金篆信科有限责任公司 数据库的数据同步方法、装置以及存储介质
CN111177244A (zh) * 2019-12-24 2020-05-19 四川文轩教育科技有限公司 面向多个异构数据库的数据关联分析方法
CN111209298A (zh) * 2020-01-06 2020-05-29 平安科技(深圳)有限公司 查询数据库数据的方法、装置、设备和存储介质
KR102410251B1 (ko) * 2020-02-28 2022-06-24 (주)시즐 관계형 데이터베이스 구조를 이용한 비관계형 데이터베이스 장치 및 데이터 정형화 방법
CN111427787B (zh) * 2020-03-26 2023-05-30 杭州小影创新科技股份有限公司 一种异构数据库业务数据同步测试方法
US11960623B2 (en) * 2020-03-27 2024-04-16 EMC IP Holding Company LLC Intelligent and reversible data masking of computing environment information shared with external systems
CN111666338B (zh) * 2020-05-26 2023-08-15 中国工商银行股份有限公司 数据复制方法、控制节点及电子设备
WO2022028486A1 (zh) * 2020-08-04 2022-02-10 中国人民银行数字货币研究所 共享文件的方法、装置和系统
US11522975B2 (en) * 2020-10-09 2022-12-06 Sap Se Double persistence layer using an in-memory map
KR20220056453A (ko) 2020-10-28 2022-05-06 삼성에스디에스 주식회사 데이터베이스 동기화를 위한 장치 및 방법
CN112307124A (zh) * 2020-11-03 2021-02-02 平安普惠企业管理有限公司 数据库同步验证方法、装置、设备及存储介质
CN112685439B (zh) * 2020-12-29 2023-09-22 上海豹云网络信息服务有限公司 针对风控系统的造数方法、系统、装置及存储介质
CN113076310A (zh) * 2021-04-30 2021-07-06 浙江太美医疗科技股份有限公司 实时数据仓库的数据校验方法、系统及计算机可读介质
US11941142B2 (en) * 2021-07-30 2024-03-26 Sap Se Dedicated SQL services for cross-system SQL access to an application-server-managed database
CN113821565B (zh) * 2021-09-10 2024-03-15 上海得帆信息技术有限公司 一种多数据源同步数据的方法
KR102522585B1 (ko) * 2022-01-21 2023-04-17 주식회사 넥스트앤콤 데이터 동기화 시스템 및 그 방법
CN114116681B (zh) * 2022-01-21 2022-07-15 阿里巴巴(中国)有限公司 数据迁移方法及装置
CN115129735A (zh) * 2022-07-03 2022-09-30 中科金审(北京)科技有限公司 一种支持多源异构数据的统一sql查询系统
CN115563088B (zh) * 2022-12-08 2023-07-25 广东睿江云计算股份有限公司 不同类型的数据库的数据迁移方法及迁移系统
CN117033519A (zh) * 2023-09-28 2023-11-10 北京谷器数据科技有限公司 一种关系型异构数据库数据同步的方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1151674A (zh) * 1995-09-30 1997-06-11 阿尔卡塔尔有限公司 数据处理部件及连接方法、交换机及控制方法和控制器
WO2006049202A1 (ja) * 2004-11-08 2006-05-11 Nec Corporation データ多重化システム
KR101191832B1 (ko) * 2010-07-20 2012-10-16 주식회사 웨어밸리 네트워크 패킷 분석을 통한 데이터베이스 복제 방법 및 시스템
JP2014048741A (ja) * 2012-08-29 2014-03-17 Fujitsu Ltd データ検索プログラム、データベース装置および情報処理システム
US20140222766A1 (en) * 2013-02-04 2014-08-07 Sap Ag System and method for database migration and validation
US20160306864A1 (en) * 2015-04-14 2016-10-20 Don Estes & Associates, Inc. Method and system for data synchronization
US20170249354A1 (en) * 2016-02-29 2017-08-31 TmaxData Co., Ltd. Synchronizing query result between heterogeneous databases

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8200700B2 (en) * 2005-02-01 2012-06-12 Newsilike Media Group, Inc Systems and methods for use of structured and unstructured distributed data
US8751441B2 (en) * 2008-07-31 2014-06-10 Sybase, Inc. System, method, and computer program product for determining SQL replication process
KR101513943B1 (ko) 2008-12-01 2015-04-23 주식회사 케이티 실시간 복제 환경의 데이터베이스 운용 관리 방법 및 시스템
US8387076B2 (en) * 2009-07-21 2013-02-26 Oracle International Corporation Standardized database connectivity support for an event processing server
KR20110071785A (ko) 2009-12-21 2011-06-29 한국전자통신연구원 분산 데이터베이스 시스템의 데이터 복제 장치 및 방법
US9454281B2 (en) * 2014-09-03 2016-09-27 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US10013313B2 (en) * 2014-09-16 2018-07-03 Actifio, Inc. Integrated database and log backup
KR101660451B1 (ko) 2015-05-08 2016-09-28 주식회사 알티베이스 데이터베이스에서 압축테이블을 실시간 복제하는 장치 및 방법
JP2017027349A (ja) * 2015-07-22 2017-02-02 株式会社エクサ レプリケーションプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1151674A (zh) * 1995-09-30 1997-06-11 阿尔卡塔尔有限公司 数据处理部件及连接方法、交换机及控制方法和控制器
WO2006049202A1 (ja) * 2004-11-08 2006-05-11 Nec Corporation データ多重化システム
KR101191832B1 (ko) * 2010-07-20 2012-10-16 주식회사 웨어밸리 네트워크 패킷 분석을 통한 데이터베이스 복제 방법 및 시스템
JP2014048741A (ja) * 2012-08-29 2014-03-17 Fujitsu Ltd データ検索プログラム、データベース装置および情報処理システム
US20140222766A1 (en) * 2013-02-04 2014-08-07 Sap Ag System and method for database migration and validation
US20160306864A1 (en) * 2015-04-14 2016-10-20 Don Estes & Associates, Inc. Method and system for data synchronization
US20170249354A1 (en) * 2016-02-29 2017-08-31 TmaxData Co., Ltd. Synchronizing query result between heterogeneous databases

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
嶋村 誠、他3名: "Key-Value Store型DBMSにおけるSQLアクセス機能の実装と評価", FIT2012 第11回情報科学技術フォーラム 講演論文集 第2分冊, JPN6017021439, 21 August 2012 (2012-08-21), JP, pages 109 - 114, ISSN: 0004164375 *

Also Published As

Publication number Publication date
JP6668442B2 (ja) 2020-03-18
KR101917806B1 (ko) 2018-11-12
GB2569675A (en) 2019-06-26
US20190197174A1 (en) 2019-06-27
US11157512B2 (en) 2021-10-26
GB201815317D0 (en) 2018-11-07

Similar Documents

Publication Publication Date Title
JP6668442B2 (ja) Sqlパケット分析を通じての異機種データベースのデータ複製および同期化エラー探知方法およびシステム
CN109034993B (zh) 对账方法、设备、系统及计算机可读存储介质
WO2020135048A1 (zh) 知识图谱的数据融合方法和装置
CN109299183A (zh) 一种数据处理方法、装置、终端设备和存储介质
WO2022151590A1 (zh) 数据的抽样检测方法、装置、设备及存储介质
KR101917807B1 (ko) 원본 데이터베이스의 부하를 최소화한 데이터 정합성 검증 방법 및 시스템
CN106951557B (zh) 日志关联方法、装置和应用其的计算机系统
CN112685433B (zh) 元数据更新方法、装置、电子设备及计算机可读存储介质
CN104424269A (zh) 数据血统分析方法与装置
CN104268216A (zh) 一种基于互联网信息的数据清洗系统
CN111625552B (zh) 数据收集方法、装置、设备和可读存储介质
CN105512284A (zh) 基于事务形态数据和binlog文件的MySQL数据保护方法
CN113239365B (zh) 一种基于知识图谱的漏洞修复方法
CN112579603B (zh) 基于cdc的数据模型动态信息感知监测方法及装置
JP6613357B2 (ja) 統計的sqlパターン分析を通じてのsqlチューニング自動化方法およびシステム
US9047354B2 (en) Statement categorization and normalization
CN111488314A (zh) 一种基于Python的仿真日志分析方法
CN109902070B (zh) 一种面向WiFi日志数据的解析存储搜索方法
US20180240053A1 (en) System and Method for Associating a Multi-segment Component Transaction
CN106844553B (zh) 基于样本数据的数据探测和扩充方法及装置
KR20120009666A (ko) 네트워크 패킷 분석을 통한 데이터베이스 복제 방법 및 시스템
CN111221967A (zh) 一种基于区块链架构的语言数据分类存储系统
US10229105B1 (en) Mobile log data parsing
Evangelista et al. Adaptive and flexible blocking for record linkage tasks
Asadi et al. Pattern-based extraction of addresses from web page content

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181029

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200204

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200226

R150 Certificate of patent or registration of utility model

Ref document number: 6668442

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250