UTMを使ってオンプレミスのVantage Expressをデプロイメントする

著者 [Adam Tworkiewicz](adam.tworkiewicz@teradata.com)
最終更新日 2021年4月5日

:::note warn
警告
本記事はTeradata Corporationのサイト[Getting Started](https://quickstarts.teradata.com/index.html#getting-access-to-vantage)に掲載された内容を抄訳したものです。掲載内容の正確性・完全性・信頼性・最新性を保証するものではございません。正確な内容については、原本をご参照下さい。
また、修正が必要な箇所や、ご要望についてはコメントをよろしくお願いします。
:::

# 概要
このクイック・スタートでは、ローカル・マシンでTeradataデータベースを実行し、Teradataデータベースにアクセスする方法を紹介します。Teradataをインストールするには多くの方法があります。このドキュメントでは、クラウドのリソースにお金をかけずに、最初のクエリにかかる時間が最も短くなるように最適化されています。この手順を完了すると、お使いのコンピューターでTeradata Vantage Expressデータベースが動作するようになります。

# 前提条件
①	Macのパソコンです。IntelチップとM1チップの両方をサポートしています。

②	30GBのディスクスペースと、少なくとも1つのコアと4GBのRAMを仮想マシンに割り当てることができる十分なCPUとRAMが必要です。

③	ソフトウェアをインストールし、実行することができる管理者権限。

# インストール
# 必要なソフトウェアをダウンロードする
①	[Vantage Express](https://downloads.teradata.com/download/database/teradata-express-for-vmware-player)の最新バージョンです。Teradata ダウンロードサイトを利用したことがない場合は、登録が必要です。

②	[UTM](https://mac.getutm.app/)の最新バージョン

# UTMインストーラの実行
①	インストーラーを実行し、デフォルト値を受け入れて、UTMをインストールします。

# Vantage Expressを起動する
①	Vantage Expressをダウンロードしたディレクトリに移動し、ダウンロードしたファイルを解凍します。

②	UTMを起動し、**+記号**をクリックして、**Virtualize** (Intel Macの場合) または **Emulate** (M1 Macの場合)を選択します。

③	**Operating System**画面で[**Other**]を選択します。

④	**その他**の画面で「**ISOブートをスキップする**」を選択します。

⑤	**ハードウェア**の画面で、4GB以上のメモリと1個以上のCPUコアを割り当てます。10GBのRAMと2CPUを推奨します。

![画像1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2742714/571cf658-3f8b-63dc-b2ec-b9ddc8bc985b.png)

⑥	**ストレージ**画面で**次へ**をクリックし、デフォルトに同意します。

⑦	**Shared Direct**画面で**Next**をクリックします。

⑧	**Summary**画面で**Open VM Settings**にチェックを入れ、**Save**をクリックします。

⑨	セットアップ・ウィザードを実行します。以下のタブを調整する必要があるだけです。
□　**QEMU** - **UEFIブート**オプションを無効化します。
□　**Network** - ホスト・コンピュータのssh（22）およびVantage（1025）ポートを公開します

![画像2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2742714/1c708f01-0c26-c425-580c-bef775af0636.png)

⑩	マップドライブ
□　デフォルトの**IDEドライブ**を削除します。
□　ダウンロードしたVMのzipファイルからディスクファイルをインポートして、Vantage Expressの3つのドライブをマッピングします。必ず、-**disk1**、-**disk2**、-**disk3** の正しい順序でマッピングしてください。最初のディスクは起動可能なディスクで、データベース本体が格納されています。ディスク2と3はいわゆる**pdisk**と呼ばれるもので、データが入っています。ファイルをインポートすると、UTM が自動的に **vmdk** から **qcow2** 形式に変換します。各ディスクが**IDE**インターフェースで構成されていることを確認してください。

![画像3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2742714/c83c086e-981e-afe6-47e1-05165b98f3af.png)

3つのドライブのマッピングが完了したら、以下のような構成になります。

![画像4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2742714/4b5df05e-dc46-0857-73d2-7fc03c6a779c.png)

⑪	設定を保存し、VM を起動します。

⑫	VM が立ち上がると、デスクトップ環境が表示されます。ユーザー名とパスワードの入力を求められたら、両方とも**root**と入力します。

![画像5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2742714/34f69a4b-9385-1fd9-b272-2626bf5b2338.png)

⑬	データベースは VM と一緒に自動起動するように設定されています。データベースが起動したことを確認するには、仮想デスクトップに移動し、**Gnome Terminal** を起動します。ターミナルで **pdestate** コマンドを実行すると、Vantage がすでに起動しているかどうかが表示されます。

::: note info
メモ！
Gnome Terminalに貼り付けるには、SHIFT+CTRL+Vを押してください。
:::
```:CheckDBState
watch pdestate -a
```

次のメッセージが表示されるまで待ちます。
```:ResulrDBState
PDE state is RUN/STARTED.
DBS state is 5: Logons are enabled - The system is quiescent
```

▶データベースがまだ初期化されていないときにpdestateが返すメッセージの例をご覧ください。
```:ResultDBStateNotSTarted
PDE state is DOWN/HARDSTOP.

PDE state is START/NETCONFIG.

PDE state is START/GDOSYNC.

PDE state is START/TVSASTART.

PDE state is START/READY.
PDE state is RUN/STARTED.

DBS state is 1/1: DBS Startup - Initializing DBS Vprocs
PDE state is RUN/STARTED.

DBS state is 1/5: DBS Startup - Voting for Transaction Recovery
PDE state is RUN/STARTED.

DBS state is 1/4: DBS Startup - Starting PE Partitions
PDE state is RUN/STARTED.
```
⑭	データベースが立ち上がったので、仮想デスクトップに戻り、**Teradata Studio Express**を起動します。最初に起動すると、ツアーが提供されます。ツアーを終了すると、新しい接続を追加するためのウィザードウィンドウが表示されます。**Teradata**を選択します。

![画像6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2742714/5dc47b2b-2971-c50a-b5a1-b9fe061f176c.png)

⑮	次の画面で、ユーザー名とパスワードにdbcを使用して、localhost上のデータベースに接続します。

![画像7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2742714/ad266bff-f7ae-26cb-f64f-0fac9dae12ef.png)

# サンプルクエリの実行
①	では、VMでいくつかのクエリを実行します。ホストとVM間のコピー＆ペーストの問題を回避するために、VMでこのクイックスタートを開きます。仮想デスクトップに移動してFirefoxを起動し、このクイックスタートを表示します。

②	Teradata Studio Expressで、**Query Development**パースペクティブに移動します（トップメニューから、**Window → Query Development**を選択）。

③	**Database Connections → New Teradata**をダブルクリックして、先に作成した接続プロファイルを使用して接続します。

④	**dbc**ユーザーを使用して、**HR**という新しいデータベースを作成します。このクエリをコピー・ペーストし、クエリ実行ボタン（画像8）を押すか、F5キーを押して実行します。
```sql:CreateDataBase.sql
CREATE DATABASE HR
AS PERMANENT = 60e6, -- 60MB
    SPOOL = 120e6; -- 120MB
```
⑤	サンプルテーブルを作成し、データを挿入してクエリを実行してみましょう。まず、社員情報を保持するテーブルを作成します。
```sql:CreateTable.sql
CREATE SET TABLE HR.Employees (
   GlobalID INTEGER,
   FirstName VARCHAR(30),
   LastName VARCHAR(30),
   DateOfBirth DATE FORMAT 'YYYY-MM-DD',
   JoinedDate DATE FORMAT 'YYYY-MM-DD',
   DepartmentCode BYTEINT
)
UNIQUE PRIMARY INDEX ( GlobalID );
```

⑥	では、レコードを挿入してみましょう。
```sql:Insrt.sql
INSERT INTO HR.Employees (
   GlobalID,
   FirstName,
   LastName,
   DateOfBirth,
   JoinedDate,
   DepartmentCode
)
VALUES (
   101,
   'Adam',
   'Tworkowski',
   '1980-01-05',
   '2004-08-01',
   01
);
```

⑦	最後に、データを取り出せるかどうか見てみましょう。
```sql:Select.sql
SELECT * FROM HR.Employees;
```

以下のような結果が得られるはずです。

|GlobalID|FirstName|LastName|DateOfBirth|JoinedDate|DepartmentCode|
|--------:|:---------|:----------|:-----------|:----------|--------------:|
|101|Adam|Tworkowski|1980-01-05|2004-08-01|1|

# まとめ
このガイドでは、動作するTeradata環境を素早く作成する方法を説明しました。VMware上で動作するVMでTeradata Vantage Expressを使用しました。同じVMでTeradata Studio Expressを実行し、クエリーを発行しました。すべてのソフトウェアをローカルにインストールするためクラウドのリソースを購入する必要はありません。

# 次のステップ
・[Query data stored in object storage](https://quickstarts.teradata.com/nos.html)

# さらに詳しく

・[Teradata® Vantage™ Express Installation and Configuration Guide (must be logged in to downloads.teradata.com)](https://downloads.teradata.com/download/files/7671/201588/3/B035-5948-051K-VantageExpress-17.10_SLES12.pdf?license=898/218656)

・[Teradata® Studio™ and Studio™ Express Installation Guide](https://docs.teradata.com/r/KEoAHNnh~EbZLtVJNRo0Sg/root)

#### Teradata Vantageへのお問合せ
[Teradata Vantage へのお問合せ](https://www.teradata.jp/About-Us/Contact)