アドベントカレンダー企画3日目の投稿です。
こんにちは、y.takahashiです。
入社して約半年ですが、社内ドキュメントが整備されており日々助かるなと実感しています。
しかし、整備されているが故の困りごと(?)もあり、それに対しての自分の姿勢についてお話します。
OracleDBへの接続設定
AlteryxでOracleのDBに接続する必要があり、社内ドキュメントを調べて以下の作業を実施しました。
(上記のようにInputツールを使ってOracleDBへの接続をしたい!)
①ドライバのインストール
②tnsnames.oraというファイルの作成
(本当はもっと細かく作業がありますが説明のため表記をまとめています。)
これで無事にOracleDBに接続ができるようになりました。
特にトラブルもなく設定できたのは、過去にドキュメントを整備してくれた方のおかげですね。
データは無事に取得でき、Alteryxの必要な処理も作成でき業務上は問題ありませんでした。
しかし
作業は問題なくできましたが、私自身は上記の作業がなぜ必要だったのか、どういう設定だったのかは理解できていませんでした。
作業する上では、未経験の人間が1から10まで毎回調べるということは効率面では良くないことはわかりますが
自分自身がの理解があいまいなままにしておくことにちょっと不安を感じていました。
その場では作業するために指示に従って設定をすれば問題ないですが
トラブル時や1から環境を構築する際に困ってしまうんじゃないかと思ったのです。
調べてみた
そこで作業が終わり時間があるときに、やはりちゃんと理解しようと思い上記の内容について調べることにしました。
まずは、前職の上司の口癖でもあった「公式ドキュメントを見ろ」という言葉に従いAlteryx公式ドキュメントを調べることにしました。
すると、以下のページが見つかりました。
残念ながらこのページの説明のみでは、今の私の経験値では理解できない箇所が多々あります。
例えば以下のような説明でも
ODBC ドライバで設定されたデータ ソース名 (DSN) 接続は一覧に表示されません。ODBC および OLEDB 接続を設定するには、ODBC および OLEDB データベース接続を参照してください。
「ODBCドライバー」??「DSN」??など意味不明の言葉が邪魔をして、文章が全く理解できません。
単語で調べてみた
そこで、文章が理解できないならまずは単語だ!と思い
わからない単語レベルで調べていくことにしました。
ODBCドライバーって何なんだと思いながら調べていくと
まず、ODBCとは【Open Database Connectivity】の略称であることがわかりました。
さらに調べると、以下のような記述がありました。
ODBCとは、アプリケーションソフトがデータベース管理システム(DBMS)などに接続し、データの取得や書き込み、操作などを行う方法の標準を定めたもの。~中略~
アプリケーションソフトなどからDBMSの基本的な機能を利用するための手順を定めたもので、データベースの作成や削除、SQLクエリなどによるデータの検索や取得、書き込みなど、データベースに対する基本的な操作を行なうことができる。ODBCはDBMS毎の違いを吸収し、同一のコードでデータベースにアクセスできるようにする。
ODBCを介してデータベースを操作するには、そのDBMSをODBCによるアクセスに対応させるソフトウェア(ODBCドライバ)が必要で、著名なDBMS開発元・販売元は標準でODBCドライバを添付したり配布したりしている。
DBMSやSQL、アプリケーションソフトなどの言葉ならわかると喜んだ私は上記の説明は何とか理解できました。
今回の場合、「アプリケーションソフト」とはAlteryxのことであり「DBMS」とはOracleDBということですね。
つまり、
ODBCドライバとはAlteryxのInputツールでOracleDBに接続しデータを取得する際に、
Oracle固有のSQLクエリなどを意識せずにデータの取得などができるようにするもの
ということが理解できました。
当然そのために、Alteryxを利用するPC自身にODBCドライバーをインストールして
OracleDBの情報を記載した「tnsnames.ora」ファイル(この単語については説明省きますので気になる方はぜひ調べてみてください)の設定が必要だったことが理解できました。
ただ手順通りに作業していてはわからない部分についての理解を深められ、
今後の業務にも生かせそうだなと実感しました。
結論
今回私が調べた内容は、Googleで「Alteryx Oracle 接続」などのワードで検索できる簡単なものです。
ですが、ちょっと調べるだけで自分の理解を深めることができました。
わからないことはちゃんと調べよう。
全くわからない部分は、単語レベルでも良いから調べてみよう。
こういう小さな積み重ねは大事だと思うので、今後も続けていきたいと思います。
以上、アドベントカレンダー3日目は終わりです!
(早速投稿が遅れ気味になってしまって申し訳ありません。)
4日目はt.hiraiさんの記事の予定です。
お楽しみに!