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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
snickerjp
April 16, 2024
Programming
360
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Redash から Autonomous Databaseに接続! できるようにしてみました
OCI Autonomous DatabaseにRedashから接続できるように改修をして、プルリクエストを上げて
さらに、Redashのメンテナーになったお話です
snickerjp
April 16, 2024
More Decks by snickerjp
See All by snickerjp
生成AI-区分け
snickerjp
0
41
生成AI-2025年1月-2月リリースまとめ
snickerjp
0
36
生成AI-NotebookLLMPlusの活用
snickerjp
0
140
生成AI-開発フローに対応する生成AIツール(GitHub Copilot Agent-mode)
snickerjp
0
58
AI-衝撃のロボティクス
snickerjp
0
42
VS Code マルウェア注意喚起
snickerjp
0
330
GWに最適?VS Code Day Skills Challenge の ご紹介
snickerjp
0
87
実はとっても便利! VisualStudio Code の Remote SSH機能
snickerjp
0
1.2k
今日から使える! VisualStudio Code の プロファイル機能
snickerjp
0
350
Other Decks in Programming
See All in Programming
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
130
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
5.6k
OSもどきOS
arkw
0
560
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.1k
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
110
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
2k
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
190
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
200
Oxlintのカスタムルールの現況
syumai
6
1.1k
ふつうのFeature Flag実践入門
irof
7
3.8k
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5k
JavaDoc 再入門
nagise
0
330
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
10k
Scaling GitHub
holman
464
140k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Skip the Path - Find Your Career Trail
mkilby
1
150
30 Presentation Tips
portentint
PRO
1
320
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
440
Mind Mapping
helmedeiros
PRO
1
250
Building the Perfect Custom Keyboard
takai
2
790
WCS-LA-2024
lcolladotor
0
630
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
The Invisible Side of Design
smashingmag
302
52k
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 で、使える状態なので 使ってみたい方は検証機などで検証して みてください