こんにちは!インサイトテクノロジーの松尾です。
本投稿では、データ仮想化を活用した論理的なデータ統合、データ管理、データ配信のソリューションである Denodo Platform をサクッと Docker を使って構築する方法を紹介します。
Denodo を触ってみたいけれどインストールが面倒だなと思っていた方!ぜひ Docker を使ってサクッと試してみてください。
Denodo Platform とは
Denodo Platform は、データ仮想化を活用した論理的なデータ統合、データ管理、データ配信のソリューションです。国内でも大手企業を中心に多くの企業で採用されています。
Denodo Platform のコンテナ提供
Denodo では、通常のインストールイメージに加え、コンテナでも提供しています。
インストーラーは GUI ベースのものが提供されており、インストール作業自体は難しくありませんが、コンテナでサクッと試したいというケースもあると思います。
また、Denodo の公式チュートリアルでも、コンテナの利用が「オススメ」となっています。
ということで、今回さっそく、コンテナでの利用を試してみました。
実際にやってみた感想ですが、Denodo を触ってみたいけれどインストールが面倒だなと思っていた方には、とてもおすすめだと思います。
試した環境
Windows 11 の WSL2 環境で試しました。
- Windows 11 24H2
$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
$ docker --version
Docker version 27.4.0, build bde2b89
- Denodo Express (無料版)
コンテナベースの Denodo のインストール
ではさっそく、先ほどのチュートリアルページに従ってコンテナベースの Denodo Express を起動してみましょう。
また、本投稿では、いろんなデータソースが含まれていてテストに利用しやすい、Denodo Community Lab Environment もセットアップします。
Get a key for the Denodo Container Registry: コンテナレジストリを使用するためのキーを取得
まず、コンテナレジストリへアクセスするためのキーが必要となります。Denodo アカウントが必要となるので、なければ作成してください。 https://harbor.open.denodo.com にアクセスできたでしょうか?
続いて、右上のユーザー名から Profile を選択し、CLI secret をコピーします。
認証情報を使ってレジストリにLogin: Configure your CLI secret in Docker
認証情報 ( Username と CLI secret ) を使ってレジストリに Login します。
$ docker login harbor.open.denodo.com
Username: xxxxxxxx@yyyyy.co.jp
Password:
WARNING! Your password will be stored unencrypted in /home/xxxxxxx/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credential-stores
Login Succeeded
Denodo Express のライセンスの入手
以下にアクセスして Denodo Express のライセンス (無料) を入手します。
Denodo Community Lab Environment のダウンロード
Denodo Community Lab Environment をクローンします。
$ git clone https://github.com/denodo/denodocommunity-lab-environment.git
Cloning into 'denodocommunity-lab-environment'...
remote: Enumerating objects: 756, done.
remote: Counting objects: 100% (61/61), done.
remote: Compressing objects: 100% (42/42), done.
remote: Total 756 (delta 25), reused 45 (delta 18), pack-reused 695 (from 1)
Receiving objects: 100% (756/756), 184.10 MiB | 13.11 MiB/s, done.
Resolving deltas: 100% (307/307), done.
Updating files: 100% (238/238), done.
環境ファイルの修正
lab-environment-containers/build/.env
ファイルを自分の環境に合わせて修正します。
- DENODO_VERSION を確認
- DENODO_SA_LIC にライセンスファイルへのパスを設定
また、GUIを日本語化したい場合は、以下の ~_CUSTOM_LANG
を ja
に変更しましょう。※デフォルトは en
になっています。
# Language of the Web Tools
# =============================
DENODO_DS_CUSTOM_LANG_DIR=../res/denodo/files/custom-lang/design-studio
DENODO_DS_CUSTOM_LANG=ja
DENODO_DC_CUSTOM_LANG_DIR=../res/denodo/files/custom-lang/data-catalog
DENODO_DC_CUSTOM_LANG=ja
lab-environment-containers/build/.env
ファイルを修正したら以下のコマンドで起動します。
$ cp .env.template .env
$ vi .env
$ diff .env.template .env
15c15
< DENODO_SA_LIC=../res/denodo/license/
---
> DENODO_SA_LIC=../res/denodo/license/denodo-express-lic-9-202512.lic
62c62
< DENODO_DS_CUSTOM_LANG=en
---
> DENODO_DS_CUSTOM_LANG=ja
64c64
< DENODO_DC_CUSTOM_LANG=en
---
> DENODO_DC_CUSTOM_LANG=ja
$ docker compose --profile denodo --profile ds up
最初は様々なビルドプロセスが走ります。docker ps
コマンドの実行結果は以下のようになります。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
80de561890d8 httpd:2.4.59-alpine "httpd-foreground" 4 minutes ago Up 4 minutes 0.0.0.0:1080->80/tcp, [::]:1080->80/tcp
denodocommunity-lab-environment-httpd
8057aab4d9d1 postgres:12-alpine "docker-entrypoint.s…" 4 minutes ago Up 4 minutes (healthy) 5432/tcp, 0.0.0.0:15432->15432/tcp, :::15432->15432/tcp
denodocommunity-lab-environment-metadata
32c63684901e harbor.open.denodo.com/denodo-express/denodo-platform:latest "/opt/denodo/tools/c…" 4 minutes ago Up 4 minutes (healthy) 7998-8000/tcp, 8998-9000/tcp, 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp, 9097-9099/tcp, 0.0.0.0:9994->9994/tcp, :::9994->9994/tcp, 9995/tcp, 0.0.0.0:9996-9997->9996-9997/tcp, :::9996-9997->9996-9997/tcp, 9998/tcp, 10091/tcp, 0.0.0.0:9999->9999/tcp, :::9999->9999/tcp denodocommunity-lab-environment-vdp
2eb85a948af9 harbor.open.denodo.com/denodo-express/denodo-platform:latest "/opt/denodo/tools/c…" 4 minutes ago Up 4 minutes (healthy) 7998-8000/tcp, 8998-9000/tcp, 9097-9099/tcp, 9995-9999/tcp, 10091/tcp, 0.0.0.0:29090->9090/tcp, [::]:29090->9090/tcp
denodocommunity-lab-environment-dc
41c8162f673a mongo:7.0.8 "docker-entrypoint.s…" 4 minutes ago Up 4 minutes 0.0.0.0:27017->27017/tcp, :::27017->27017/tcp
denodocommunity-lab-environment-mongo
7987e3b7bd22 1000kit/apacheds "/opt/run.sh" 4 minutes ago Up 4 minutes 0.0.0.0:10389->10389/tcp, :::10389->10389/tcp
denodocommunity-lab-environment-apacheds
89a0a8e0519f imega/graphql-playground:0.0.3 "docker-entrypoint.s…" 4 minutes ago Up 4 minutes 0.0.0.0:4000->4000/tcp, :::4000->4000/tcp
denodocommunity-lab-environment-graphql-playground
901610138c29 harbor.open.denodo.com/denodo-express/denodo-platform:latest "/opt/denodo/tools/c…" 4 minutes ago Up 4 minutes (healthy) 7998-8000/tcp, 8998-9000/tcp, 9097-9099/tcp, 9995-9999/tcp, 10091/tcp, 0.0.0.0:19090->9090/tcp, [::]:19090->9090/tcp
denodocommunity-lab-environment-ds
fe5a5afd5f61 tomcat:8.5.82-jdk8-openjdk "catalina.sh run" 4 minutes ago Up 4 minutes 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp
denodocommunity-lab-environment-tomcat
8b1cc914a4a6 mariadb:11.3.2 "docker-entrypoint.s…" 4 minutes ago Up 4 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp
denodocommunity-lab-environment-mariadb
c5a3562d0af5 postgres:12-alpine "docker-entrypoint.s…" 4 minutes ago Up 4 minutes 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp
denodocommunity-lab-environment-postgres
一通りメッセージが出力されたらアクセスしてみましょう。
- URL: http://localhost:19090/denodo-design-studio/
- user: admin
- password: admin
- vdp: //vdp:9999/
ログインできました!
そして、試しに、Denodo Community Lab Environment のデータソースの一つに接続してみます。
データソースの追加で以下の情報を選択/入力してテスト接続してみましょう。
- Select Data Source: JDBCデータソース
- Name: ds_crm (任意の名称)
- Database URL: jdbc:mariadb://mariadb:3306/crm
- User: root
- Password: admin
詳細タブにて以下を入力します。
- Driver class path: select mariadb-2.7
- Driver class: org.mariadb.jdbc.Driver
「コネクションをテスト」を選択すると、接続できることが確認できました。
もちろん Base View の作成とクエリーの実行もできることが確認できました。
その他の Denodo の基本操作については、チュートリアルを参照するとわかりやすいと思います。
Denodo Community Lab Environment (コンテナ)で利用可能なデータソース
Denodo Community Lab Environment (コンテナ)で利用可能なデータソースは、以下を参照ください。
おわりに
Denodo Platform のコンテナベースの起動を行い、Denodo Community Lab Environment のデータソースの一つに接続するところまで確認を行いました。簡単に起動と動作確認を行えることが確認できたと思います。Docker での利用は、利用までの手数を少なくできるのはもちろん、削除も簡単というのもポイントだと思います。ぜひコンテナを利用して Denodo をお試しください。
もう少し詳しく知りたい方へ
弊社インサイトテクノロジーでは Denodo 社のパートナーとして Denodo Platform の紹介、販売、導入などを行っています。Denodo Platform に興味を持たれた方はぜひ弊社または Denodo 社までお問い合わせください。
また、「これからデータ統合基盤を整備していきたい!」「どういった形でデータを統合していったらいいか迷っているので相談したい!」など、これからのデータ基盤整備のお困りごとや、「すでにこういうことをしているんだけどココをなんとかしたい! (例えば Snowflake に SAP からリアルタイムデータを持ってきたい)」などについてもぜひご相談いただければと思います。