Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Redash から Autonomous Databaseに接続! できるようにしてみました
Search
snickerjp
April 16, 2024
Programming
1
78
Redash から Autonomous Databaseに接続! できるようにしてみました
OCI Autonomous DatabaseにRedashから接続できるように改修をして、プルリクエストを上げて
さらに、Redashのメンテナーになったお話です
snickerjp
April 16, 2024
Tweet
Share
More Decks by snickerjp
See All by snickerjp
GWに最適?VS Code Day Skills Challenge の ご紹介
snickerjp
0
26
実はとっても便利! VisualStudio Code の Remote SSH機能
snickerjp
0
45
今日から使える! VisualStudio Code の プロファイル機能
snickerjp
0
20
Other Decks in Programming
See All in Programming
Fragment Composition of GraphQL
quramy
14
1.7k
How to improve maintainability and readability of your automated tests? ( #scrumniigata )
teyamagu
PRO
1
130
RubyGems on ruby.wasm
kateinoigakukun
0
110
The Design of Everyday APIs - PyCon 2024
roguelynn
0
180
Introducing Kotlin Multiplatform in an existing mobile app - Workshop Edition | AndroidMakers Paris
prof18
0
180
CREってこういうこと? 体験入社 - 提案資料 - / what-is-cre-trial-employment
shinden
1
620
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
2
74k
CQRS meets modern Java
simas
PRO
2
470
Let's learn code review
riofujimon
2
640
ServerAction で Progressive Enhancement はどこまで頑張れるか? / progressive-enhancement-with-server-action
takefumiyoshii
6
510
Direct Style Effect Systems The Print[A] ExampleA Comprehension Aid
philipschwarz
PRO
0
410
最近コードレビューで指摘したこと
forrep
3
110
Featured
See All Featured
WebSockets: Embracing the real-time Web
robhawkes
59
7k
Fireside Chat
paigeccino
22
2.7k
Code Reviewing Like a Champion
maltzj
515
39k
[RailsConf 2023] Rails as a piece of cake
palkan
28
4.1k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
jQuery: Nuts, Bolts and Bling
dougneiner
60
7.2k
Writing Fast Ruby
sferik
622
60k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
RailsConf 2023
tenderlove
9
580
Happy Clients
brianwarren
92
6.4k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
261
12k
Transcript
Redash から Autonomous Databaseに接続! できるようにしてみました OCIjp #50 2024年4⽉16⽇
• snickerjp(X: @snicker_jp) ◦ 普段はインフラのエンジニア ◦ OCI歴は2019年の東京リージョン 出来てから • 好きなもの
◦ サンリオピューロランド と ◦ 仮面ライダー・戦隊モノ にハマっています • 発表、やるやるって何年も言い続けてやっていなかったので 今回やることにしました 2 自己紹介
3 Autonomous Database (ATP,ADW,JSON) 使ったことある人! 挙手✋ 質問
4 Redash 知ってるよ!て方 挙手✋ 質問
5 知っている⽅も 知らない⽅も ぜひ楽しんで聞いてください (きっと楽しんでもらえるはず)
• オープンソースで公開されている ◦ BIツール ◦ Webベース ◦ 2015,2016年あたりから公開 ◦ 多くのデータソースに対応
◦ Pythonがメイン開発言語 ◦ OracleDB,MySQL,PostgreSQL,BigQuery,Redshit 主要な物は大体対応 • getredash/redash: Make Your Company Data Driven. Connect to any data source, easily visualize, dashboard and share your data. ◦ https://github.com/getredash/redash 6 Redashとは?
• 2020年あたりから落ちていて、2022年あたりからまた戻っている感 じ 7 Redashとは?
• V10くらいまで ◦ Host ◦ Port ◦ DSN Service Name
を使って • Oracle接続文字列を生成 • cx_Oracleの「cx_Oracle.makedsn」 を利用 • cx_Oracleに「カスタム文字列」を 入力するオプションはあるが 使えない 8 RedashのOracle接続設定
9 Autonomous Database • 接続文字列がちょっと独特(だいぶ独特?)
10 このままだと Autonomous Database (ATP,ADW,JSON) に 接続するための設定を入れられない Redash
• 修正してみました ◦ Pythonできないかつ 私はプログラミングほぼできない ◦ 社内に聞いてみた(その5秒後) ◦ すぐChatGPTに聞いてみた ◦
なんか、そしたら動いた 11 Redashの修正
• 特定の文字列を入れると 「カスタム文字列」を有効にする変更 ◦ 「_useservicename」を入力(固定値) ◦ Portは必須なので使わないけど入れる ◦ DSN Service
Nameに Autonomous Databaseの接続文字列 を入力 12 変更点と使い方
13 条件分岐を入れた
14 条件分岐を入れた それだけです!
15 接続できるようになりました!
16 脱線
17 OSSなので修正プルリクエスト出してみました • Do not makedsn for query_runner/oracle.py by snickerjp
· Pull Request #6332 · getredash/redash ◦ https://github.com/getredash/redash/pull/6332 • アップデートで元に戻るのが嫌だった ◦ また、接続できなくなるとか
18 マージしてもらいました!
19 気が付いたら • この後Organization誘われて ◦ メンテナーとなりました🤣
20 OCI->OSS入学
21 他にも機能追加・改善などしました • Add offset for query_runner/oracle.py Error Message. by
snickerjp · Pull Request #6373 · getredash/redash ◦ https://github.com/getredash/redash/pull/6373 ▪ エラー時のオフセットを表示できるようにした • Replace cx_Oracle with python-oracledb by snickerjp · Pull Request #6386 · getredash/redash ◦ https://github.com/getredash/redash/pull/6386 ▪ Pythonのcx_Oracleからpython-oracledbへ移行 • Add redash.query_runner.oracle to default_query_runners by snickerjp · Pull Request #6389 · getredash/redash ◦ https://github.com/getredash/redash/pull/6389 ▪ python-oracledb対応したことにより、Oracle Clientがいらなくなったので、 Default Query Runnerに追加
22 preview で、使える状態なので 使ってみたい方は検証機などで検証して みてください