rabbit-slide-kou-postgresql-conference-japan-2023 2023.11.24.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.rabbit +2 -0
- data/README.rd +40 -0
- data/Rakefile +17 -0
- data/apache-arrow-flight-sql-postgresql.rab +319 -0
- data/config.yaml +25 -0
- data/pdf/postgresql-conference-japan-2023-apache-arrow-flight-sql-postgresql.pdf +0 -0
- metadata +79 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: e429e96e5e854ece58487584d15f14649784ff7b60c3621ba5c6e8495a07edb8
|
4
|
+
data.tar.gz: 34dd70d21add731e051a540beb16b82dc9bb2c1036bbb338c80718817c24aed7
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 7d2179d1724b3fdfce237aa4a6797c5dd22b429ac4971ae2408d264d2f922ee4b2299f04544ef63cf1d6045814d6d8e104deaa03e4c403333d1f2985982d72ee
|
7
|
+
data.tar.gz: 067f0eb55c225d98c014dd9f4af9e5393026172224d7c6136c59541628db8d727bd87c6ead1db42a248db51286d74b6787d895f5e3c10c1968172d2ef73b58c0
|
data/.rabbit
ADDED
data/README.rd
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
= Apache Arrow Flight SQLでPostgreSQLをもっと速く!
|
2
|
+
|
3
|
+
PostgreSQLとの接続には独自プロトコルが使われていますが、やりとりするデータが大きくなるとクエリーの処理ではなくこのプロトコルがボトルネックになることが知られています。Apache ArrowFlight SQLプロトコルはこのボトルネックを解消できるプロトコルです。Apache Arrow Flight SQLの詳細、どのくらい速くなるのか、プロトコルを拡張する仕組みのないPostgreSQLでどのように実装したのかといった実装の詳細を紹介します。
|
4
|
+
|
5
|
+
== ライセンス
|
6
|
+
|
7
|
+
=== スライド
|
8
|
+
|
9
|
+
CC BY-SA 4.0
|
10
|
+
|
11
|
+
原著作者:須藤功平
|
12
|
+
|
13
|
+
==== 株式会社クリアコードのロゴ
|
14
|
+
|
15
|
+
CC BY-SA 4.0
|
16
|
+
|
17
|
+
原著作者:株式会社クリアコード
|
18
|
+
|
19
|
+
ページヘッダーで使っています。
|
20
|
+
|
21
|
+
== 作者向け
|
22
|
+
|
23
|
+
=== 表示
|
24
|
+
|
25
|
+
rake
|
26
|
+
|
27
|
+
=== 公開
|
28
|
+
|
29
|
+
rake publish
|
30
|
+
|
31
|
+
== 閲覧者向け
|
32
|
+
|
33
|
+
=== インストール
|
34
|
+
|
35
|
+
gem install rabbit-slide-kou-postgresql-conference-japan-2023
|
36
|
+
|
37
|
+
=== 表示
|
38
|
+
|
39
|
+
rabbit rabbit-slide-kou-postgresql-conference-japan-2023.gem
|
40
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require "rabbit/task/slide"
|
2
|
+
|
3
|
+
# Edit ./config.yaml to customize meta data
|
4
|
+
|
5
|
+
spec = nil
|
6
|
+
Rabbit::Task::Slide.new do |task|
|
7
|
+
spec = task.spec
|
8
|
+
# spec.files += Dir.glob("doc/**/*.*")
|
9
|
+
# spec.files -= Dir.glob("private/**/*.*")
|
10
|
+
spec.add_runtime_dependency("rabbit-theme-clear-code")
|
11
|
+
end
|
12
|
+
|
13
|
+
desc "Tag #{spec.version}"
|
14
|
+
task :tag do
|
15
|
+
sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
|
16
|
+
sh("git", "push", "--tags")
|
17
|
+
end
|
@@ -0,0 +1,319 @@
|
|
1
|
+
= Apache Arrow Flight SQLでPostgreSQLをもっと速く!
|
2
|
+
|
3
|
+
: author
|
4
|
+
須藤功平
|
5
|
+
: institution
|
6
|
+
株式会社クリアコード
|
7
|
+
: content-source
|
8
|
+
PostgreSQL Conference Japan 2023
|
9
|
+
: date
|
10
|
+
2023-11-24
|
11
|
+
: start-time
|
12
|
+
2023-11-24T14:10:00+09:00
|
13
|
+
: end-time
|
14
|
+
2023-11-24T15:00:00+09:00
|
15
|
+
: theme
|
16
|
+
clear-code
|
17
|
+
|
18
|
+
= 対象ユースケース
|
19
|
+
|
20
|
+
* ETL/ELT (Extract, Transform, Load)
|
21
|
+
* PostgreSQLからの大量データの読み込み
|
22
|
+
* PostgreSQLへの大量データの書き込み
|
23
|
+
* 探索的データ分析
|
24
|
+
* PostgreSQL内のデータを理解
|
25
|
+
* サブセットをローカルにダウンロードし、\n
|
26
|
+
インタラクティブに集計・加工・可視化など
|
27
|
+
|
28
|
+
= 対象ユースケースの特徴
|
29
|
+
|
30
|
+
* 大量ローカルデータ→PostgreSQLデータ
|
31
|
+
* 大量PostgreSQLデータ→ローカルデータ
|
32
|
+
|
33
|
+
= 対象ユースケースの処理
|
34
|
+
|
35
|
+
# mermaid
|
36
|
+
# relative_height = 100
|
37
|
+
sequenceDiagram
|
38
|
+
participant L as ローカル
|
39
|
+
participant P as PostgreSQL
|
40
|
+
alt ロード
|
41
|
+
note left of L: INSERT/COPY用にデータを変換
|
42
|
+
L->>P: データ送信
|
43
|
+
note right of P: データ保存
|
44
|
+
else 抽出
|
45
|
+
P->>L: データ送信
|
46
|
+
note left of L: ローカル用にデータを変換
|
47
|
+
end
|
48
|
+
|
49
|
+
== Slide properties
|
50
|
+
|
51
|
+
: enable-title-on-image
|
52
|
+
false
|
53
|
+
|
54
|
+
= 注目ポイント
|
55
|
+
|
56
|
+
# mermaid
|
57
|
+
# relative_height = 100
|
58
|
+
# draw0 = [rectangle, false, 0.075, 0.25, 0.34, 0.105, {color: "#0041ab", line_width: 3, dash: [[1, 6], 0]}]
|
59
|
+
# draw1 = [rectangle, false, 0.125, 0.69, 0.29, 0.105, {color: "#0041ab", line_width: 3, dash: [[1, 6], 0]}]
|
60
|
+
# draw2 = [text, 遅い, 0.2, 0.5, {color: "#0041ab", size: 50}]
|
61
|
+
# draw3 = [rectangle, false, 0.43, 0.36, 0.49, 0.17, {color: "#458cff", line_width: 3, dash: [[1, 12], 0]}]
|
62
|
+
# draw4 = [rectangle, false, 0.43, 0.63, 0.27, 0.1, {color: "#458cff", line_width: 3, dash: [[1, 12], 0]}]
|
63
|
+
# draw5 = [text, 速い, 0.77, 0.63, {color: "#458cff", size: 50}]
|
64
|
+
|
65
|
+
sequenceDiagram
|
66
|
+
participant L as ローカル
|
67
|
+
participant P as PostgreSQL
|
68
|
+
alt ロード
|
69
|
+
note left of L: INSERT/COPY用にデータを変換
|
70
|
+
L->>P: データ送信
|
71
|
+
note right of P: データ保存
|
72
|
+
else 抽出
|
73
|
+
P->>L: データ送信
|
74
|
+
note left of L: ローカル用にデータを変換
|
75
|
+
end
|
76
|
+
|
77
|
+
== Slide properties
|
78
|
+
|
79
|
+
: enable-title-on-image
|
80
|
+
false
|
81
|
+
|
82
|
+
= なぜ遅いのか
|
83
|
+
|
84
|
+
* ((*データ変換*))が必要だから
|
85
|
+
* ロード:
|
86
|
+
* (({INSERT}))/(({COPY}))用に((*データ変換*))
|
87
|
+
* 抽出:
|
88
|
+
* PostgreSQL独自フォーマットの((*パース*))
|
89
|
+
|
90
|
+
= 高速化アプローチ
|
91
|
+
|
92
|
+
(('tag:center'))
|
93
|
+
(('tag:x-large'))
|
94
|
+
低データ変換コストの\n
|
95
|
+
フォーマットを使う
|
96
|
+
|
97
|
+
(('wait'))
|
98
|
+
(('tag:center'))
|
99
|
+
(('tag:x-large'))
|
100
|
+
↓\n
|
101
|
+
((*Apache Arrow*))
|
102
|
+
|
103
|
+
= 自己紹介
|
104
|
+
|
105
|
+
* 須藤功平/(('font-awesome:github-square'))@kou/(('font-awesome:twitter-square'))@ktou
|
106
|
+
* Apache Arrowのコミット数1位
|
107
|
+
* Apache Arrowの3代目PMC代表\n
|
108
|
+
(('note:PMC:プロジェクト管理委員会'))
|
109
|
+
|
110
|
+
# image
|
111
|
+
# src = http://www.gravatar.com/avatar/ee6ffca720cc428d70247dcd7377dd48.jpeg?s=800
|
112
|
+
# align = right
|
113
|
+
# vertical-align = top
|
114
|
+
# relative-width = 30
|
115
|
+
# relative-margin-right = -10
|
116
|
+
# relative-margin-bottom = 0.5
|
117
|
+
# caption-font-size = 1
|
118
|
+
|
119
|
+
= Apache Arrow
|
120
|
+
|
121
|
+
* 高速データ交換用フォーマット
|
122
|
+
* パースコストほぼ0
|
123
|
+
* データ転送コストのみで交換できる
|
124
|
+
|
125
|
+
= 高速化ポイント
|
126
|
+
|
127
|
+
# mermaid
|
128
|
+
# relative_height = 100
|
129
|
+
# draw0 = [rectangle, false, 0.075, 0.25, 0.34, 0.105, {color: "#458cff", line_width: 3, dash: [[1, 12], 0]}]
|
130
|
+
# draw1 = [rectangle, false, 0.125, 0.69, 0.29, 0.105, {color: "#458cff", line_width: 3, dash: [[1, 12], 0]}]
|
131
|
+
# draw2 = [text, 速くなる!, 0.13, 0.5, {color: "#458cff", size: 50}]
|
132
|
+
|
133
|
+
sequenceDiagram
|
134
|
+
participant L as ローカル
|
135
|
+
participant P as PostgreSQL
|
136
|
+
alt ロード
|
137
|
+
note left of L: INSERT/COPY用にデータを変換
|
138
|
+
L->>P: データ送信
|
139
|
+
note right of P: データ保存
|
140
|
+
else 抽出
|
141
|
+
P->>L: データ送信
|
142
|
+
note left of L: ローカル用にデータを変換
|
143
|
+
end
|
144
|
+
|
145
|
+
== Slide properties
|
146
|
+
|
147
|
+
: enable-title-on-image
|
148
|
+
false
|
149
|
+
|
150
|
+
= 実現方法
|
151
|
+
|
152
|
+
* PostgreSQLプロトコルで\n
|
153
|
+
Apache Arrowを扱えるようにする
|
154
|
+
* (({COPY}))の(({FORMAT}))でApache Arrowサポート
|
155
|
+
* Apache Arrowを扱える\n
|
156
|
+
別のプロトコルを使う
|
157
|
+
|
158
|
+
= (({COPY}))でApache Arrow
|
159
|
+
|
160
|
+
* メリット:
|
161
|
+
* 既存の仕組み・ツールを使える
|
162
|
+
* デメリット:
|
163
|
+
* PostgreSQL開発者は受け入れてくれるのか?
|
164
|
+
|
165
|
+
= Apache Arrow対応の別プロトコル
|
166
|
+
|
167
|
+
* メリット:
|
168
|
+
* PostgreSQLの拡張機能で実現すれば\n
|
169
|
+
PostgreSQLとは独立して開発できる
|
170
|
+
* デメリット:
|
171
|
+
* 既存の仕組み・ツールを使えない
|
172
|
+
|
173
|
+
= 選んだ方法
|
174
|
+
|
175
|
+
(('tag:center'))
|
176
|
+
(('tag:x-large'))
|
177
|
+
Apache Arrow対応の\n
|
178
|
+
別プロトコル
|
179
|
+
|
180
|
+
(('wait'))
|
181
|
+
(('tag:center'))
|
182
|
+
(('tag:x-large'))
|
183
|
+
↓\n
|
184
|
+
((*Apache Arrow\nFlight SQL*))
|
185
|
+
|
186
|
+
= Apache Arrow Flight SQL
|
187
|
+
|
188
|
+
* クエリー言語:SQL
|
189
|
+
* PostgreSQLになじむ
|
190
|
+
* データフォーマット:Apache Arrow
|
191
|
+
* 高速化できる
|
192
|
+
* ベースのプロトコル:gRPC
|
193
|
+
* 既存の仕組みを再利用できる
|
194
|
+
|
195
|
+
(('note:注意:まだexperimentalなプロトコル'))
|
196
|
+
|
197
|
+
= 別プロトコルを選んだ理由
|
198
|
+
|
199
|
+
* Apache Arrowでこの問題を解決できるか\n
|
200
|
+
手早く検証したい
|
201
|
+
* PostgreSQL開発者と相談するには\n
|
202
|
+
Apache Arrowでどのくらい改善するかの\n
|
203
|
+
データが必要
|
204
|
+
* このアプローチでの実績をもって\n
|
205
|
+
PostgreSQL開発者と相談したい
|
206
|
+
|
207
|
+
= 実現方法
|
208
|
+
|
209
|
+
* PostgreSQLの拡張機能として実装
|
210
|
+
* Apache Arrow Flight SQL adapter for PostgreSQL\n
|
211
|
+
(('note:(プロジェクト名が長い!以後AFSと省略)'))
|
212
|
+
* 難しいところ:
|
213
|
+
* PostgreSQLにはプロトコルを拡張する仕組みはない\n
|
214
|
+
(('note:(MySQLにはある)'))
|
215
|
+
* Apache Arrow Flight SQLのライブラリーは\n
|
216
|
+
プロセスベースではなくスレッドベース\n
|
217
|
+
(('note:(PostgreSQLはプロセスベース)'))
|
218
|
+
|
219
|
+
= 新プロトコル対応方法:PostgREST
|
220
|
+
|
221
|
+
# mermaid
|
222
|
+
# relative_height = 100
|
223
|
+
|
224
|
+
sequenceDiagram
|
225
|
+
actor U as ユーザー
|
226
|
+
participant PR as PostgREST
|
227
|
+
participant P as PostgreSQL
|
228
|
+
U->>PR: HTTP
|
229
|
+
PR->>P: PostgreSQLプロトコル
|
230
|
+
P->>PR: PostgreSQLプロトコル
|
231
|
+
PR->>U: HTTP
|
232
|
+
|
233
|
+
== Slide properties
|
234
|
+
|
235
|
+
: enable-title-on-image
|
236
|
+
false
|
237
|
+
|
238
|
+
= 新プロトコル対応方法:AFS
|
239
|
+
|
240
|
+
# mermaid
|
241
|
+
# relative_height = 100
|
242
|
+
|
243
|
+
sequenceDiagram
|
244
|
+
actor U as ユーザー
|
245
|
+
participant P as PostgreSQL
|
246
|
+
participant AFS as AFS
|
247
|
+
P->>AFS: ワーカープロセス起動
|
248
|
+
U->>AFS: Apache Arrow Flight SQL
|
249
|
+
AFS->>U: Apache Arrow Flight SQL
|
250
|
+
|
251
|
+
== Slide properties
|
252
|
+
|
253
|
+
: enable-title-on-image
|
254
|
+
false
|
255
|
+
|
256
|
+
= 並列方法
|
257
|
+
|
258
|
+
* PostgreSQL:プロセスベース
|
259
|
+
* 同時実行は別プロセスとして実行
|
260
|
+
* Apache Arrow Flight SQL:スレッドベース
|
261
|
+
* 同時実行は別スレッドとして実行
|
262
|
+
* マルチプロセス×マルチスレッド
|
263
|
+
* 混ぜるな危険!
|
264
|
+
* 対策:マルチスレッドのプロセスを分離して\n
|
265
|
+
そのプロセスはPostgreSQLのAPIを使わない
|
266
|
+
|
267
|
+
= 並列方法:AFS
|
268
|
+
|
269
|
+
# mermaid
|
270
|
+
# relative_height = 100
|
271
|
+
# draw0 = [text, マルチスレッド, 0.54, 0.15, {color: "#0041ab", size: 30}]
|
272
|
+
# draw1 = [text, PGのAPIを使わない, 0.54, 0.2, {color: "#0041ab", size: 30}]
|
273
|
+
# draw2 = [text, Apache Arrowフォーマット, 0.57, 0.75, {color: "#0041ab", size: 30}]
|
274
|
+
# draw3 = [text, 低コスト!, 0.66, 0.82, {color: "#0041ab", size: 30}]
|
275
|
+
# draw4 = [text, 低コスト!, 0.06, 0.82, {color: "#0041ab", size: 30}]
|
276
|
+
|
277
|
+
sequenceDiagram
|
278
|
+
actor U as ユーザー
|
279
|
+
participant P as PostgreSQL
|
280
|
+
participant AFSm as AFS main
|
281
|
+
participant AFSs as AFS server
|
282
|
+
participant AFSe as AFS executor
|
283
|
+
P->>AFSm: 起動
|
284
|
+
AFSm->>AFSs: 起動
|
285
|
+
U->>AFSs: Apache Arrow Flight SQL
|
286
|
+
AFSs->>AFSm: executor起動依頼
|
287
|
+
AFSm->>AFSe: 起動
|
288
|
+
AFSs->>AFSe: 実行依頼
|
289
|
+
note right of AFSe: 実行
|
290
|
+
AFSe->>AFSs: 結果返却
|
291
|
+
AFSs->>U: Apache Arrow Flight SQL
|
292
|
+
|
293
|
+
== Slide properties
|
294
|
+
|
295
|
+
: enable-title-on-image
|
296
|
+
false
|
297
|
+
|
298
|
+
# = Apache Arrow Flight SQL
|
299
|
+
|
300
|
+
# = 認証
|
301
|
+
|
302
|
+
= まとめ
|
303
|
+
|
304
|
+
* 課題:
|
305
|
+
* 大量データの読み書きが遅い
|
306
|
+
* 解決方法:
|
307
|
+
* Apache Arrowフォーマットの使用
|
308
|
+
* Apache Arrow Flight SQLの使用
|
309
|
+
|
310
|
+
= サポート
|
311
|
+
|
312
|
+
* コミュニティー:
|
313
|
+
* (('note:((<URL:https://github.com/apache/arrow-flight-sql-postgresql/issues>))'))
|
314
|
+
* (('note:((<URL:https://arrow.apache.org/community/#mailing-lists>))'))
|
315
|
+
* クリアコードによる有償サポート:
|
316
|
+
* (('note:((<URL:https://www.clear-code.com/contact/>))'))
|
317
|
+
* PGroongaのサポートも可\n
|
318
|
+
(('note:PGroonga:PostgreSQLに高速日本語全文検索機能を追加'))
|
319
|
+
|
data/config.yaml
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
---
|
2
|
+
id: postgresql-conference-japan-2023
|
3
|
+
base_name: apache-arrow-flight-sql-postgresql
|
4
|
+
tags:
|
5
|
+
- rabbit
|
6
|
+
- arrow
|
7
|
+
- postgresql
|
8
|
+
presentation_date: 2023-11-24
|
9
|
+
version: 2023.11.24.0
|
10
|
+
licenses:
|
11
|
+
- CC-BY-SA-4.0
|
12
|
+
slideshare_id:
|
13
|
+
speaker_deck_id:
|
14
|
+
vimeo_id:
|
15
|
+
youtube_id:
|
16
|
+
width: 1920
|
17
|
+
height: 1080
|
18
|
+
source_code_uri: "https://gitlab.com/ktou/rabbit-slide-kou-postgresql-conference-japan-2023"
|
19
|
+
author:
|
20
|
+
markup_language: :rd
|
21
|
+
name: 須藤功平
|
22
|
+
email: kou@clear-code.com
|
23
|
+
rubygems_user: kou
|
24
|
+
slideshare_user:
|
25
|
+
speaker_deck_user: kou
|
metadata
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rabbit-slide-kou-postgresql-conference-japan-2023
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2023.11.24.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- 須藤功平
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2023-10-31 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rabbit
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.0.2
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.0.2
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rabbit-theme-clear-code
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
description: PostgreSQLとの接続には独自プロトコルが使われていますが、やりとりするデータが大きくなるとクエリーの処理ではなくこのプロトコルがボトルネックになることが知られています。Apache
|
42
|
+
ArrowFlight SQLプロトコルはこのボトルネックを解消できるプロトコルです。Apache Arrow Flight SQLの詳細、どのくらい速くなるのか、プロトコルを拡張する仕組みのないPostgreSQLでどのように実装したのかといった実装の詳細を紹介します。
|
43
|
+
email:
|
44
|
+
- kou@clear-code.com
|
45
|
+
executables: []
|
46
|
+
extensions: []
|
47
|
+
extra_rdoc_files: []
|
48
|
+
files:
|
49
|
+
- ".rabbit"
|
50
|
+
- README.rd
|
51
|
+
- Rakefile
|
52
|
+
- apache-arrow-flight-sql-postgresql.rab
|
53
|
+
- config.yaml
|
54
|
+
- pdf/postgresql-conference-japan-2023-apache-arrow-flight-sql-postgresql.pdf
|
55
|
+
homepage: https://slide.rabbit-shocker.org/authors/kou/postgresql-conference-japan-2023/
|
56
|
+
licenses:
|
57
|
+
- CC-BY-SA-4.0
|
58
|
+
metadata:
|
59
|
+
source_code_uri: https://gitlab.com/ktou/rabbit-slide-kou-postgresql-conference-japan-2023
|
60
|
+
post_install_message:
|
61
|
+
rdoc_options: []
|
62
|
+
require_paths:
|
63
|
+
- lib
|
64
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - ">="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '0'
|
74
|
+
requirements: []
|
75
|
+
rubygems_version: 3.5.0.dev
|
76
|
+
signing_key:
|
77
|
+
specification_version: 4
|
78
|
+
summary: Apache Arrow Flight SQLでPostgreSQLをもっと速く!
|
79
|
+
test_files: []
|