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
340
1
Share
Redash から Autonomous Databaseに接続! できるようにしてみました
OCI Autonomous DatabaseにRedashから接続できるように改修をして、プルリクエストを上げて
さらに、Redashのメンテナーになったお話です
snickerjp
April 16, 2024
More Decks by snickerjp
See All by snickerjp
生成AI-区分け
snickerjp
0
35
生成AI-2025年1月-2月リリースまとめ
snickerjp
0
30
生成AI-NotebookLLMPlusの活用
snickerjp
0
130
生成AI-開発フローに対応する生成AIツール(GitHub Copilot Agent-mode)
snickerjp
0
52
AI-衝撃のロボティクス
snickerjp
0
37
VS Code マルウェア注意喚起
snickerjp
0
320
GWに最適?VS Code Day Skills Challenge の ご紹介
snickerjp
0
84
実はとっても便利! VisualStudio Code の Remote SSH機能
snickerjp
0
1.1k
今日から使える! VisualStudio Code の プロファイル機能
snickerjp
0
340
Other Decks in Programming
See All in Programming
How Swift's Type System Guides AI Agents
koher
0
290
事業会社でのセキュリティ長期インターンについて
masachikaura
0
260
tRPCの概要と少しだけパフォーマンス
misoton665
2
220
SREに優しいTerraform構成 modulesとstateの組み方
hiyanger
2
140
UIの境界線をデザインする | React Tokyo #15 メイントーク
sasagar
2
370
AIエージェントで業務改善してみた
taku271
0
540
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
440
mruby on C#: From VM Implementation to Game Scripting (RubyKaigi 2026)
hadashia
2
580
Coding at the Speed of Thought: The New Era of Symfony Docker
dunglas
0
5k
YJITとZJITにはイカなる違いがあるのか?
nakiym
0
220
t *testing.T は どこからやってくるの?
otakakot
1
700
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
280
Featured
See All Featured
Designing for Timeless Needs
cassininazir
0
200
AI: The stuff that nobody shows you
jnunemaker
PRO
6
580
The SEO Collaboration Effect
kristinabergwall1
1
420
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Six Lessons from altMBA
skipperchong
29
4.2k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
310
Typedesign – Prime Four
hannesfritz
42
3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
410
Making Projects Easy
brettharned
120
6.6k
It's Worth the Effort
3n
188
29k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
170
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 で、使える状態なので 使ってみたい方は検証機などで検証して みてください