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
260
Redash から Autonomous Databaseに接続! できるようにしてみました
OCI Autonomous DatabaseにRedashから接続できるように改修をして、プルリクエストを上げて
さらに、Redashのメンテナーになったお話です
snickerjp
April 16, 2024
Tweet
Share
More Decks by snickerjp
See All by snickerjp
生成AI-区分け
snickerjp
0
19
生成AI-2025年1月-2月リリースまとめ
snickerjp
0
13
生成AI-NotebookLLMPlusの活用
snickerjp
0
51
生成AI-開発フローに対応する生成AIツール(GitHub Copilot Agent-mode)
snickerjp
0
21
AI-衝撃のロボティクス
snickerjp
0
23
VS Code マルウェア注意喚起
snickerjp
0
250
GWに最適?VS Code Day Skills Challenge の ご紹介
snickerjp
0
74
実はとっても便利! VisualStudio Code の Remote SSH機能
snickerjp
0
800
今日から使える! VisualStudio Code の プロファイル機能
snickerjp
0
260
Other Decks in Programming
See All in Programming
Is Xcode slowly dying out in 2025?
uetyo
1
270
20250628_非エンジニアがバイブコーディングしてみた
ponponmikankan
0
680
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
390
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
1
150
#QiitaBash MCPのセキュリティ
ryosukedtomita
1
1.3k
Flutterで備える!Accessibility Nutrition Labels完全ガイド
yuukiw00w
0
160
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
770
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
770
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
530
ニーリーにおけるプロダクトエンジニア
nealle
0
830
第9回 情シス転職ミートアップ 株式会社IVRy(アイブリー)の紹介
ivry_presentationmaterials
1
320
iOS 26にアップデートすると実機でのHot Reloadができない?
umigishiaoi
0
130
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
970
Product Roadmaps are Hard
iamctodd
PRO
54
11k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Building an army of robots
kneath
306
45k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
We Have a Design System, Now What?
morganepeng
53
7.7k
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 で、使える状態なので 使ってみたい方は検証機などで検証して みてください