JP2022539678A - グローバルユニークインデックスを実現する方法および装置 - Google Patents
グローバルユニークインデックスを実現する方法および装置 Download PDFInfo
- Publication number
- JP2022539678A JP2022539678A JP2021574896A JP2021574896A JP2022539678A JP 2022539678 A JP2022539678 A JP 2022539678A JP 2021574896 A JP2021574896 A JP 2021574896A JP 2021574896 A JP2021574896 A JP 2021574896A JP 2022539678 A JP2022539678 A JP 2022539678A
- Authority
- JP
- Japan
- Prior art keywords
- sql statement
- unique index
- sql
- field
- global unique
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000001514 detection method Methods 0.000 claims abstract description 156
- 238000004590 computer program Methods 0.000 claims description 6
- 230000010365 information processing Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 238000005096 rolling process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
- G06F16/24522—Translation of natural language queries to structured queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
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)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】分散データベースに適用され、方法の一つとしては、構造化クエリ言語SQL要求を受信した後、前記SQL要求に対応する競合検出SQLステートメントを取得し、期待値を算出することと、前記競合検出SQLステートメントを各データベースノードに発行して実行することと、前記競合検出SQLステートメントの実行結果を取得し、前記競合検出SQLステートメントの実行結果と前記期待値とを比較することと、前記競合検出SQLステートメントの実行結果が前記期待値以下の場合、前記SQL要求の元のSQLステートメントを処理した後に、各データベースノードに発行して実行することと、を含む。
【選択図】図1
Description
Claims (10)
- 分散データベースに適用されるグローバルユニークインデックスを実現する方法において、
構造化クエリ言語SQL要求を受信した後、前記SQL要求に対応する競合検出SQLステートメントを取得し、期待値を算出することと、
前記競合検出SQLステートメントを各データベースノードに発行して実行することと、
前記競合検出SQLステートメントの実行結果を取得し、前記競合検出SQLステートメントの実行結果と前記期待値とを比較することと、
前記競合検出SQLステートメントの実行結果が前記期待値以下の場合、前記SQL要求の元のSQLステートメントを処理した後に、各データベースノードに発行して実行することと、
を含む、
ことを特徴とするグローバルユニークインデックスを実現する方法。 - 前記の前記SQL要求に対応する競合検出SQLステートメントを取得することは、
前記SQL要求がinsert挿入要求である場合、前記insert要求のinsertフィールドにグローバルユニークインデックスが含まれるか否かを判定し、含まれると、グローバルユニークインデックスフィールドとinsertフィールド値をアセンブルして前記競合検出SQLステートメントを形成し、前記競合検出SQLステートメントのwhere条件は、グローバルユニークインデックスフィールドがinsertフィールド値と等しいことであることと、
前記SQL要求がupdate更新要求である場合、前記update要求のupdateフィールドにグローバルユニークインデックスが含まれるか否かを判定し、含まれると、グローバルユニークインデックスフィールドとupdateフィールド値をアセンブルして前記競合検出SQLステートメントを形成し、前記競合検出SQLステートメントのwhere条件は、グローバルユニークインデックスフィールドがupdateフィールド値と等しいことであることと、を含み、
そのうち、一つのグローバルユニークインデックスは、一つの競合検出SQLステートメントをアセンブルする、
ことを特徴とする請求項1に記載の方法。 - 前記の前記SQL要求に対応する競合検出SQLステートメントを取得することは、
前記SQL要求がupdate更新要求である場合、前記update要求のupdateフィールドにグローバルユニークインデックスが含まれるか否かを判定し、含まれると、グローバルユニークインデックスフィールド、updateフィールド値および新規追加フィールドをアセンブルして、前記競合検出SQLステートメントを形成し、前記競合検出SQLステートメントのwhere条件は、グローバルユニークインデックスフィールドがupdateフィールド値と等しく、新規追加フィールドがupdateフィールド値と等しいことであることを含み、
そのうち、一つのグローバルユニークインデックスは、一つの競合検出SQLステートメントをアセンブルし、前記新規追加フィールドは、データベーステーブルに追加されるフィールドの個数とタイプがグローバルユニークインデックスフィールドと同じフィールドである、
ことを特徴とする請求項1に記載の方法。 - 分散データベースに適用されるグローバルユニークインデックスを実現する方法において、
構造化クエリ言語SQL要求を受信した後、前記SQL要求の元のSQLステートメントを処理して各データベースノードに発行して実行することと、
前記元のSQLステートメントの実行結果を取得した後、前記SQL要求に対応する競合検出SQLステートメントを取得し、期待値を算出することと、
前記競合検出SQLステートメントを各データベースノードに発行して実行することと、
前記競合検出SQLステートメントの実行結果を取得し、前記競合検出SQLステートメントの実行結果と前記期待値とを比較することと、
前記競合検出SQLステートメントの実行結果が前記期待値以下の場合、前記元のSQLステートメントの実行結果を送信することと、
を含む、
ことを特徴とするグローバルユニークインデックスを実現する方法。 - 前記の前記SQL要求に対応する競合検出SQLステートメントを取得することは、
前記SQL要求がinsert挿入要求である場合、前記insert要求のinsertフィールドにグローバルユニークインデックスが含まれるか否かを判定し、含まれると、グローバルユニークインデックスフィールドとinsertフィールド値をアセンブルして前記競合検出SQLステートメントを形成し、前記競合検出SQLステートメントのwhere条件は、グローバルユニークインデックスフィールドがinsertフィールド値と等しいことであることと、
前記SQL要求がupdate更新要求である場合、前記update要求のupdateフィールドにグローバルユニークインデックスが含まれるか否かを判定し、含まれると、グローバルユニークインデックスフィールドとupdateフィールド値をアセンブルして前記競合検出SQLステートメントを形成し、前記競合検出SQLステートメントのwhere条件は、グローバルユニークインデックスフィールドがupdateフィールド値と等しいことであることと、を含み、
そのうち、一つのグローバルユニークインデックスは、一つの競合検出SQLステートメントをアセンブルする、
ことを特徴とする請求項4に記載の方法。 - 前記の前記SQL要求に対応する競合検出SQLステートメントを取得することは、
前記SQL要求がupdate更新要求である場合、前記update要求のupdateフィールドにグローバルユニークインデックスが含まれるか否かを判定し、含まれると、グローバルユニークインデックスフィールド、updateフィールド値および新規追加フィールドをアセンブルして、前記競合検出SQLステートメントを形成し、前記競合検出SQLステートメントのwhere条件は、グローバルユニークインデックスフィールドがupdateフィールド値と等しく、新規追加フィールドがupdateフィールド値と等しいことであることを含み、
そのうち、一つのグローバルユニークインデックスは、一つの競合検出SQLステートメントをアセンブルし、前記新規追加フィールドは、データベーステーブルに追加されるフィールドの個数とタイプがグローバルユニークインデックスフィールドと同じフィールドである、
ことを特徴とする請求項4に記載の方法。 - 分散データベースに適用されており、
構造化クエリ言語SQL要求を受信した後、前記SQL要求に対応する競合検出SQLステートメントを取得し、期待値を算出するための第1取得ユニットと、
前記競合検出SQLステートメントを各データベースノードに発行して実行するための第1発行ユニットと、
前記競合検出SQLステートメントの実行結果を取得し、前記競合検出SQLステートメントの実行結果と前記期待値とを比較するための第2取得ユニットと、
前記競合検出SQLステートメントの実行結果が前記期待値以下の場合、前記SQL要求の元のSQLステートメントを処理した後に、各データベースノードに発行して実行するための第2発行ユニットと、
を備える、ことを特徴とするグローバルユニークインデックスを実現する装置。 - 分散データベースに適用されており、
構造化クエリ言語SQL要求を受信した後、前記SQL要求の元のSQLステートメントを処理して各データベースノードに発行して実行するための第1発行ユニットと、
前記元のSQLステートメントの実行結果を取得した後、前記SQL要求に対応する競合検出SQLステートメントを取得し、期待値を算出するための第1取得ユニットと、
前記競合検出SQLステートメントを各データベースノードに発行して実行するための第2発行ユニットと、
前記競合検出SQLステートメントの実行結果を取得し、前記競合検出SQLステートメントの実行結果と前記期待値とを比較するための第2取得ユニットと、
前記競合検出SQLステートメントの実行結果が前記期待値以下の場合、前記元のSQLステートメントの実行結果を送信するための送信ユニットと、
を備える、ことを特徴とするグローバルユニークインデックスを実現する装置。 - 分散データベースに適用されており、
メモリと、プロセッサと、前記メモリに格納され且つ前記プロセッサ上で実行可能なコンピュータプログラムと、を含み、
前記コンピュータプログラムが前記プロセッサによって実行されるとき、請求項1~6のいずれかに記載のグローバルユニークインデックスを実現する方法が実現される、
ことを特徴とするローバルユニークインデックスを実現する装置。 - コンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ読み取り可能な記憶媒体には、情報処理プログラムが記憶されており、
前記情報処理プログラムがプロセッサによって実行されるとき、請求項1~6のいずれかに記載のグローバルユニークインデックスを実現する方法の手順が実現される、
ことを特徴とするコンピュータ読み取り可能な記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910561595.0A CN112148725B (zh) | 2019-06-26 | 2019-06-26 | 一种实现全局唯一索引的方法及装置 |
CN201910561595.0 | 2019-06-26 | ||
PCT/CN2020/082488 WO2020258965A1 (zh) | 2019-06-26 | 2020-03-31 | 一种实现全局唯一索引的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022539678A true JP2022539678A (ja) | 2022-09-13 |
Family
ID=73869914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021574896A Pending JP2022539678A (ja) | 2019-06-26 | 2020-03-31 | グローバルユニークインデックスを実現する方法および装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11880367B2 (ja) |
EP (1) | EP3989078A4 (ja) |
JP (1) | JP2022539678A (ja) |
KR (1) | KR20220020985A (ja) |
CN (1) | CN112148725B (ja) |
WO (1) | WO2020258965A1 (ja) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8589346B2 (en) * | 2011-04-26 | 2013-11-19 | Oracle International Corporation | Techniques for combining statement level, procedural, and row level replication |
CA2382712A1 (en) * | 2002-04-19 | 2003-10-19 | Ibm Canada Limited-Ibm Canada Limitee | Detection and prevention of writing conflicts within nested query statements |
CN101377775A (zh) * | 2007-08-29 | 2009-03-04 | 中兴通讯股份有限公司 | 一种内存数据库中构造冲突数据索引的方法 |
CN103810212B (zh) * | 2012-11-14 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 一种数据库索引的自动创建方法及系统 |
CN103942234A (zh) * | 2013-01-21 | 2014-07-23 | 中国电信股份有限公司 | 对多个异构数据库操作的方法、中间件装置及系统 |
US20140279944A1 (en) * | 2013-03-15 | 2014-09-18 | University Of Southern California | Sql query to trigger translation for maintaining consistency of cache augmented sql systems |
CN104111937A (zh) * | 2013-04-18 | 2014-10-22 | 中兴通讯股份有限公司 | 主、备数据库及其数据一致性检测、修复方法和装置 |
US10127261B2 (en) * | 2013-12-31 | 2018-11-13 | Dassault Systems Enovia Corporation | Methods and systems for resolving conflicts in hierarchically-referenced data |
US10521449B1 (en) * | 2014-12-17 | 2019-12-31 | Amazon Technologies, Inc. | Cross-region replication architecture |
CN105868210B (zh) * | 2015-01-21 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 一种分布式数据库中唯一索引的创建方法和装置 |
CN106547781B (zh) * | 2015-09-21 | 2021-06-11 | 南京中兴新软件有限责任公司 | 一种实现分布式事务的方法、装置及数据库服务器 |
US10133767B1 (en) * | 2015-09-28 | 2018-11-20 | Amazon Technologies, Inc. | Materialization strategies in journal-based databases |
CN105677915A (zh) * | 2016-02-29 | 2016-06-15 | 浪潮通用软件有限公司 | 一种基于引擎的分布式业务数据存取方法 |
CN106383860A (zh) * | 2016-08-31 | 2017-02-08 | 无锡雅座在线科技发展有限公司 | 数据查询方法及装置 |
-
2019
- 2019-06-26 CN CN201910561595.0A patent/CN112148725B/zh active Active
-
2020
- 2020-03-31 US US17/622,794 patent/US11880367B2/en active Active
- 2020-03-31 JP JP2021574896A patent/JP2022539678A/ja active Pending
- 2020-03-31 WO PCT/CN2020/082488 patent/WO2020258965A1/zh unknown
- 2020-03-31 EP EP20831286.8A patent/EP3989078A4/en active Pending
- 2020-03-31 KR KR1020227002433A patent/KR20220020985A/ko unknown
Also Published As
Publication number | Publication date |
---|---|
KR20220020985A (ko) | 2022-02-21 |
CN112148725A (zh) | 2020-12-29 |
CN112148725B (zh) | 2022-12-06 |
WO2020258965A1 (zh) | 2020-12-30 |
EP3989078A1 (en) | 2022-04-27 |
EP3989078A4 (en) | 2022-08-10 |
US11880367B2 (en) | 2024-01-23 |
US20220245152A1 (en) | 2022-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111159252B (zh) | 事务执行方法、装置、计算机设备及存储介质 | |
US9747356B2 (en) | Eager replication of uncommitted transactions | |
US9589041B2 (en) | Client and server integration for replicating data | |
US8341132B2 (en) | System and method for applying deltas in a version control system | |
CN111190935B (zh) | 数据读取方法、装置、计算机设备及存储介质 | |
CN111522631A (zh) | 分布式事务处理方法、装置、服务器及介质 | |
CN110727693A (zh) | 访问异构数据库的方法、装置、设备、插件及存储介质 | |
CN112789606A (zh) | 数据重分布方法、装置及系统 | |
CN109783578B (zh) | 数据读取方法、装置、电子设备以及存储介质 | |
US20180300147A1 (en) | Database Operating Method and Apparatus | |
CN112115012A (zh) | 分布式数据库的事务监控方法及装置、系统、存储介质 | |
CN112613993A (zh) | 交易数据处理方法、装置、计算机设备和存储介质 | |
CN113495872A (zh) | 分布式数据库中的事务处理方法及系统 | |
US20090100082A1 (en) | Replication and mapping mechanism for recreating memory durations | |
US10896096B2 (en) | Temporal logical transactions | |
CN114564500A (zh) | 在区块链系统中实现结构化数据存储和查询的方法和系统 | |
CN113761052A (zh) | 数据库同步方法和装置 | |
JP2022539678A (ja) | グローバルユニークインデックスを実現する方法および装置 | |
WO2023124242A1 (zh) | 事务执行方法、装置、设备和存储介质 | |
CN111240891A (zh) | 基于数据库多表间数据一致性的数据恢复方法及装置 | |
US10216590B2 (en) | Communication control determination of storing state based on a requested data operation and a schema of a table that stores therein data to be operated by the data operation | |
CN113010495B (zh) | 一种数据库优化方法及装置 | |
US11372838B2 (en) | Parallel processing of changes in a distributed system | |
CN114637759B (zh) | 数据查询方法、电子设备、存储介质 | |
US11907217B2 (en) | Database object validation for reusing captured query plans |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211228 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211227 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20220913 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230221 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20230519 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230720 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230801 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231130 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20231211 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20231222 |