JP2021028771A - データベースサーバ装置、サーバシステム及びリクエスト処理方法 - Google Patents
データベースサーバ装置、サーバシステム及びリクエスト処理方法 Download PDFInfo
- Publication number
- JP2021028771A JP2021028771A JP2019147655A JP2019147655A JP2021028771A JP 2021028771 A JP2021028771 A JP 2021028771A JP 2019147655 A JP2019147655 A JP 2019147655A JP 2019147655 A JP2019147655 A JP 2019147655A JP 2021028771 A JP2021028771 A JP 2021028771A
- Authority
- JP
- Japan
- Prior art keywords
- sql
- request
- server device
- processing
- statement
- 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9532—Query formulation
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- 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/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
20 Webクライアント
100 サーバシステム
110 Webサーバ装置
111 リクエスト作成部
120 データベース(DB)サーバ装置
121 リクエスト処理部
122 SQL作成部
123 SQL処理部
130 データベース管理システム(DBMS)
210,240,260,280,290 SQL文
220,250,270 JSONデータ
230 テーブル
Claims (15)
- データベースシステムに対してデータの操作処理を行うデータベースサーバ装置であって、
所定の単純なAPIを提供し、
前記単純なAPIを利用したリクエストをWebサーバ装置から受信し、前記受信したリクエストに含まれるリクエストデータを解析して処理を振り分けるリクエスト処理部と、
前記リクエスト処理部によって振り分けられた前記リクエストに基づいて、SQL文を生成するSQL作成部と、
前記SQL作成部によって生成された前記SQL文に対して所定の処理を行ってSQL全体文を作成し、前記作成したSQL全体文を前記データベースシステムに送信するSQL処理部と、
を備え、
前記リクエスト処理部が、前記Webサーバ装置から一連の処理を要求する前記リクエストとして、分割された複数のリクエストを前記受信した場合に、
前記SQL処理部は、
前記分割された複数のリクエストの全てに対して前記SQL作成部による前記SQL文の生成が終了するまで、前記複数のリクエストの各リクエストに基づいて前記SQL作成部によって生成された前記SQL文を一時保存し、
前記分割された複数のリクエストの全てに対して前記SQL作成部による前記SQL文の生成が終了した後に、前記一時保存した複数の前記SQL文を結合及び編集して前記SQL全体文を作成するSQL統合処理を実行する
ことを特徴とするデータベースサーバ装置。 - 前記Webサーバ装置から前記受信する前記リクエストに含まれる前記リクエストデータには、前記一連の処理を要求するリクエストごとに同一の値が付与されるリクエストID、パラメータ名、及び前記一連の処理の最後のリクエストであるか否かを示す終了フラグが含まれ、
前記SQL処理部は、前記SQL作成部によって生成された前記SQL文に対応する前記リクエストに含まれる前記終了フラグが前記一連の処理の最後のリクエストであることを示す場合に前記SQL統合処理を実行し、
前記SQL統合処理には、前記一時保存した前記複数のSQL文のうち、前記リクエストIDの値が同一である前記リクエストに基づいて前記生成された全ての前記SQL文を前記SQL全体文に結合する結合処理が含まれる
ことを特徴とする請求項1に記載のデータベースサーバ装置。 - 前記SQL統合処理には、前記SQL文と前記リクエストに含まれる前記パラメータ名との対応関係を判断し、前記判断した結果に基づいて、それぞれの前記SQL文または前記結合した前記SQL全体文を編集する編集処理が含まれる
ことを特徴とする請求項2に記載のデータベースサーバ装置。 - 前記SQL処理部は、前記SQL統合処理の前記結合処理において、前記SQL全体文への結合の対象となる前記全てのSQL文を時系列に基づいて連結する
ことを特徴とする請求項2に記載のデータベースサーバ装置。 - 前記SQL処理部は、前記SQL統合処理の前記編集処理において、前記結合処理が行われた後の前記SQL全体文のなかで、特定の処理に関するSQL文の順序を所定の規則に従って整列する
ことを特徴とする請求項3に記載のデータベースサーバ装置。 - 前記SQL処理部は、前記SQL統合処理の前記編集処理において、前記結合処理が行われた後の前記SQL全体文のなかで、ロック処理に関するSQL文を最初に移動させ、コミット処理に関するSQL文を最後に移動させる
ことを特徴とする請求項5に記載のデータベースサーバ装置。 - 前記SQL処理部は、前記SQL統合処理の前記編集処理において、前記SQL文と前記パラメータ名との対応関係の判断結果に基づいて、前記SQL文の固定パラメータにはパラメータ値を代入するとともに、動的パラメータを用いる前記SQL文に対しては、当該動的パラメータのみを取得するように前記SQL文または前記SQL全体文を編集する
ことを特徴とする請求項3に記載のデータベースサーバ装置。 - 前記リクエスト処理部が、前記Webサーバ装置から一連の処理を要求する前記リクエストとして、前記分割された複数のリクエストを前記受信した場合に、
前記SQL処理部は、前記SQL統合処理によって前記SQL全体文を作成するまでの間、前記データベースシステムに保存されているデータを変更する前記操作処理を行わない
ことを特徴とする請求項1に記載のデータベースサーバ装置。 - 前記データベースサーバ装置は、前記データベースシステムに保存される1つのデータグループに対して、更新、保存、または取得のうちの1処理を行うAPIを、前記単純なAPIとして提供する
ことを特徴とする請求項1に記載のデータベースサーバ装置。 - データベースシステムに対してデータの操作処理を行うサーバシステムであって、
所定の単純なAPIを提供するデータベースサーバ装置と、
Webクライアントからの要求に応じて、前記データベースシステムに対するデータの操作処理の実行を前記データベースサーバ装置に依頼するWebサーバ装置と、
を備え、
前記Webサーバ装置は、
前記データベースサーバ装置が提供する前記単純なAPIを利用したリクエストを作成し、前記データベースサーバ装置に送信するリクエスト作成部を有し、
前記データベースサーバ装置は、
前Webサーバ装置から前記リクエストを受信し、前記受信したリクエストに含まれるリクエストデータを解析して処理を振り分けるリクエスト処理部と、
前記リクエスト処理部によって振り分けられた前記リクエストに基づいて、SQL文を生成するSQL作成部と、
前記SQL作成部によって生成された前記SQL文に対して所定の処理を行ってSQL全体文を作成し、前記作成したSQL全体文を前記データベースシステムに送信するSQL処理部と、を有し、
前記Webクライアントから一連の処理の実行が要求された場合に、
前記リクエスト作成部は、前記一連の処理に対応するリクエストを、前記単純なAPIを用いて複数のリクエストに分割して作成して送信し、
前記SQL処理部は、前記分割された複数のリクエストの全てに対して前記SQL作成部による前記SQL文の生成が終了するまで、前記複数のリクエストの各リクエストに基づいて前記SQL作成部によって生成された前記SQL文を一時保存し、前記分割された複数のリクエストの全てに対して前記SQL作成部による前記SQL文の生成が終了した後に、前記一時保存した複数の前記SQL文を結合及び編集して前記SQL全体文を作成するSQL統合処理を実行する
することを特徴とするサーバシステム。 - 前記リクエスト作成部は、前記リクエストを作成する際に、当該リクエストに含める前記リクエストデータに、前記一連の処理を要求するリクエストごとに同一の値が付与されるリクエストID、パラメータ名、及び前記一連の処理の最後のリクエストであるか否かを示す終了フラグを含め、
前記SQL処理部は、前記SQL作成部によって生成された前記SQL文に対応する前記リクエストに含まれる前記終了フラグが前記一連の処理の最後のリクエストであることを示す場合に前記SQL統合処理を実行し、
前記SQL統合処理には、前記一時保存した前記複数のSQL文のうち、前記リクエストIDの値が同一である前記リクエストに基づいて前記生成された全ての前記SQL文を前記SQL全体文に結合する結合処理が含まれる
ことを特徴とする請求項10に記載のサーバシステム。 - 前記SQL統合処理には、前記SQL文と前記リクエストに含まれる前記パラメータ名との対応関係を判断し、前記判断した結果に基づいて、それぞれの前記SQL文または前記結合した前記SQL全体文を編集する編集処理が含まれる
ことを特徴とする請求項11に記載のサーバシステム。 - 前記SQL処理部は、前記SQL統合処理の前記編集処理において、前記結合処理が行われた後の前記SQL全体文のなかで、特定の処理に関するSQL文の順序を所定の規則に従って整列する
ことを特徴とする請求項12に記載のサーバシステム。 - データベースシステムに対してデータの操作処理を行うサーバシステムによるリクエスト処理方法であって、
前記サーバシステムは、所定の単純なAPIを提供するデータベースサーバ装置と、Webクライアントからの要求に応じて、前記データベースシステムに対するデータの操作処理の実行を前記データベースサーバ装置に依頼するWebサーバ装置と、を有し、
前記Webサーバ装置が、前記データベースサーバ装置が提供する前記単純なAPIを利用したリクエストを作成し、前記データベースサーバ装置に送信するリクエスト作成ステップと、
前記データベースサーバ装置が、前記リクエスト作成ステップで送信された前記リクエストを受信し、前記受信したリクエストに含まれるリクエストデータを解析して処理を振り分けるリクエスト処理ステップと、
前記データベースサーバ装置が、前記リクエスト処理ステップで振り分けられた前記リクエストに基づいて、SQL文を生成するSQL作成ステップと、
前記データベースサーバ装置が、前記SQL作成ステップで生成された前記SQL文に対して所定の処理を行ってSQL全体文を作成し、前記作成したSQL全体文を前記データベースシステムに送信するSQL処理ステップと、
を備え、
前記Webクライアントから一連の処理の実行が要求された場合に、
前記リクエスト作成ステップにおいて、前記一連の処理に対応するリクエストを、前記単純なAPIを用いて複数のリクエストに分割して作成して送信し、
前記SQL処理ステップにおいて、前記分割された複数のリクエストの全てに対して前記SQL作成ステップによる前記SQL文の生成が終了するまで、前記複数のリクエストの各リクエストに基づいて前記SQL作成ステップで生成された前記SQL文を一時保存し、前記分割された複数のリクエストの全てに対して前記SQL作成ステップによる前記SQL文の生成が終了した後に、前記一時保存した複数の前記SQL文を結合及び編集して前記SQL全体文を作成するSQL統合処理を実行する
することを特徴とするリクエスト処理方法。 - 前記リクエスト作成ステップにおいて前記リクエストを作成する際、前記Webサーバ装置は、当該リクエストに含める前記リクエストデータに、前記一連の処理を要求するリクエストごとに同一の値が付与されるリクエストID、パラメータ名、及び前記一連の処理の最後のリクエストであるか否かを示す終了フラグを含め、
前記SQL処理ステップにおいて、前記データベースサーバ装置は、前記SQL作成ステップで生成された前記SQL文に対応する前記リクエストに含まれる前記終了フラグが前記一連の処理の最後のリクエストであることを示す場合に前記SQL統合処理を実行し、
前記SQL統合処理には、前記一時保存した前記複数のSQL文のうち、前記リクエストIDの値が同一である前記リクエストに基づいて前記生成された全ての前記SQL文を前記SQL全体文に結合する結合処理が含まれる
ことを特徴とする請求項14に記載のリクエスト処理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019147655A JP7157716B2 (ja) | 2019-08-09 | 2019-08-09 | データベースサーバ装置、サーバシステム及びリクエスト処理方法 |
EP20163139.7A EP3772691B1 (en) | 2019-08-09 | 2020-03-13 | Database server device, server system and request processing method |
US16/817,827 US11494448B2 (en) | 2019-08-09 | 2020-03-13 | Database server device, server system and request processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019147655A JP7157716B2 (ja) | 2019-08-09 | 2019-08-09 | データベースサーバ装置、サーバシステム及びリクエスト処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021028771A true JP2021028771A (ja) | 2021-02-25 |
JP7157716B2 JP7157716B2 (ja) | 2022-10-20 |
Family
ID=69903009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019147655A Active JP7157716B2 (ja) | 2019-08-09 | 2019-08-09 | データベースサーバ装置、サーバシステム及びリクエスト処理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11494448B2 (ja) |
EP (1) | EP3772691B1 (ja) |
JP (1) | JP7157716B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109558447A (zh) * | 2018-12-14 | 2019-04-02 | 万翼科技有限公司 | 数据管理方法、装置及计算机可读存储介质 |
US11263220B2 (en) | 2019-09-27 | 2022-03-01 | Amazon Technologies, Inc. | On-demand execution of object transformation code in output path of object storage service |
US11550944B2 (en) | 2019-09-27 | 2023-01-10 | Amazon Technologies, Inc. | Code execution environment customization system for object storage service |
US11656892B1 (en) * | 2019-09-27 | 2023-05-23 | Amazon Technologies, Inc. | Sequential execution of user-submitted code and native functions |
CN113961638B (zh) * | 2021-11-12 | 2023-12-01 | 国网山东省电力公司信息通信公司 | 一种基于数据中台的数据可视化方法及系统 |
CN118051495B (zh) * | 2024-04-16 | 2024-07-09 | 深圳市瑞达飞行科技有限公司 | 一种飞行数据的存储与读取方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5721904A (en) * | 1993-12-20 | 1998-02-24 | Hitachi, Ltd. | Database access system and method of controlling access management to a database access system for a plurality of heterogeneous database servers using SQL |
US20060277157A1 (en) * | 2005-06-02 | 2006-12-07 | Robert Seidl | Database query construction and handling |
CN108228597A (zh) * | 2016-12-14 | 2018-06-29 | 深圳市优朋普乐传媒发展有限公司 | 数据库访问方法和装置 |
JP2018163490A (ja) * | 2017-03-24 | 2018-10-18 | 三菱電機インフォメーションネットワーク株式会社 | アクセス制御装置及びアクセス制御プログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6334114B1 (en) | 1997-10-31 | 2001-12-25 | Oracle Corporation | Method and apparatus for performing transactions in a stateless web environment which supports a declarative paradigm |
JP2001527244A (ja) * | 1997-12-22 | 2001-12-25 | リンダ ジー デミシェル | オブジェクト・リレーショナル・マッピングにおけるクエリー実行をクライアントとサーバーとで効率的に分割する方法及び装置 |
-
2019
- 2019-08-09 JP JP2019147655A patent/JP7157716B2/ja active Active
-
2020
- 2020-03-13 EP EP20163139.7A patent/EP3772691B1/en active Active
- 2020-03-13 US US16/817,827 patent/US11494448B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5721904A (en) * | 1993-12-20 | 1998-02-24 | Hitachi, Ltd. | Database access system and method of controlling access management to a database access system for a plurality of heterogeneous database servers using SQL |
US20060277157A1 (en) * | 2005-06-02 | 2006-12-07 | Robert Seidl | Database query construction and handling |
CN108228597A (zh) * | 2016-12-14 | 2018-06-29 | 深圳市优朋普乐传媒发展有限公司 | 数据库访问方法和装置 |
JP2018163490A (ja) * | 2017-03-24 | 2018-10-18 | 三菱電機インフォメーションネットワーク株式会社 | アクセス制御装置及びアクセス制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20210042375A1 (en) | 2021-02-11 |
US11494448B2 (en) | 2022-11-08 |
JP7157716B2 (ja) | 2022-10-20 |
EP3772691A1 (en) | 2021-02-10 |
EP3772691B1 (en) | 2021-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7157716B2 (ja) | データベースサーバ装置、サーバシステム及びリクエスト処理方法 | |
US9177021B2 (en) | Relational query planning for non-relational data sources | |
AU2011323773B2 (en) | Managing data set objects in a dataflow graph that represents a computer program | |
US20170026450A1 (en) | Method and system for data processing in multiple data sources based on http protocol | |
US11226953B2 (en) | Technique for generating a change cache database utilized to inspect changes made to a repository | |
US8832046B2 (en) | Encoded data processing | |
US11514186B2 (en) | Integrated database user privilege management | |
US20090240727A1 (en) | Data manipulation process method and system | |
JP2016040714A (ja) | ソフトウェアアプリケーションを構成するための方法および装置 | |
Reagan et al. | Cosmos db | |
JP6588988B2 (ja) | 業務プログラム生成支援システムおよび業務プログラム生成支援方法 | |
JP2021056570A (ja) | データベースの分割システム、データベースの分割方法、及びデータベースの分割プログラム | |
US20020019824A1 (en) | Method to generically describe and manipulate arbitrary data structures | |
US10936572B2 (en) | Method, apparatus, and computer program product for improved tracking of state data | |
KR102046567B1 (ko) | 표준사전 기반 메타데이터 변경 관리를 위한 실시간 ddl 생성방법 | |
EP3035212A1 (en) | Transparent database table replacement | |
JP6688433B2 (ja) | 計算機システム | |
CN112905601A (zh) | 一种数据库分表的路由方法及装置 | |
JP4815139B2 (ja) | データベースアクセスシステム及びデータベースオブジェクト生成プログラム | |
JP2002032248A (ja) | データベース問合せ処理におけるトランザクションの版の提供システム及び該システムにより提供された版を用いたデータベース問合せ処理システム | |
CN118394794B (zh) | 一种跨多个数据源的联邦查询装置 | |
JP2005258591A (ja) | データベースアクセス制御システム | |
JP2003280977A (ja) | オブジェクト指向データベースによる情報管理 | |
JP2006146385A (ja) | 電子フォーム処理方法、システム及びプログラム | |
RU2751580C1 (ru) | Программа специфицирования, устройство обработки информации и способ специфицирования |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211125 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220921 |
|
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: 20221004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221007 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7157716 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |