TigerGraphをさわってみよう

# TigerGraphとは

TigerGraphはグラフ データベースエンジンを軸としたグラフ テクノロジー プラットフォームです。
以下の特徴を備えています。

**主な特徴**

- 大規模なデータセットに対応するスケーラビリティ
    1000億件以上のノード、1兆件以上のエッジに対応した分散型アーキテクチャを採用しています。システム構築は従来のオンプレミスまたはGoogle Cloud Platform、Amazon Web Service、Microsoft Azureを利用することができるため、企業のシステムポリシーに対応できます。
- トランザクション・分析 ハイブリッド
    OLTP（オンライン トランザクショナル プロセス）とOLAP（オンライン アナリティカル プロセス）両方に対応しています。数十万回／秒のデータ更新や数十億回／日といったトランザクションに対応する一方で、分析に必要な集計関数を兼ね備えています。
    - OLTP: ACIDに準拠
    - OLAP: 分析に必要な集計などの関数を具備
- ディープリンク マルチホップ分析
    10以上の隣接するノードを深掘りしながら複雑な分析を実行する事ができます。
    
- 開発・分析の容易性
    エンジニア、アナリスト、データサイエンティストをサポートするための様々な機能を提供しており日々の分析をサポートします。
    - GraphStudio: ビジュアル化された管理者インターフェース
    - GSQL: チューリング完全なグラフクエリ言語
    - Graph Algorithm Library: オープンソース化され、ユーザによる拡張が可能なアルゴリズム群
    - pyTigerGraph: Pythonから接続するためのライブラリ
    - Data Workbench: 上記のライブラリ群を含むPython環境

![システム構成図](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2843915/d62422f7-7e64-69d4-4f6a-060928b17a98.png)


# TigerGraphを利用する
TigerGraphは本格利用前にトライアルする事ができます。クラウド、オンプレミスそれぞれで利用することができますが本記事ではクラウド版を前提としてセットアップしていきたいと思います。

**トライアルに関するページリンク**
- [TigerGraph Cloud](https://tgcloud.io/)
- [オンプレミス](https://info.tigergraph.com/enterprise-free?__hstc=128819475.6447ec12efc1871d6161ac36cb08b8c9.1664859421224.1664859421224.1664859421224.1&__hssc=128819475.3.1664859421224&__hsfp=3800473003)

### TigerGraph Cloudとは
TigerGraphをクラウドホスティングで利用する場合に利用できるサービスです。Google Cloud、Amazon Web Service、Microsoft Azureから任意のクラウドプロバイダーを選択してインスタンスを構成することができます。無償で利用できるインスタンスも構成できることと、$25 USDのお試しクレジットが利用できるので簡便に試用することができます（記事執筆時点）。

構成は以下の通りです。
- Organization: 各インスタンスを束ねる上位概念として利用します。
- インスタンス: 各データベース環境です。
- ユーザ管理: Organizationまたはインスタンスの権限を管理します。ユーザ追加（招待）もここで実施します。
- 利用状況・請求/支払い: 有償インスタンス利用時の利用状況や請求・支払いに対する管理を機能です。
    
![インスタンス構成](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2843915/9987ffe8-fdb1-b9a7-d483-2384df3b66a9.png)

### TigerGraph Cloud でアカウントを作成する
1. [TigerGraph Cloud](https://tgcloud.io/)にアクセスし、「Sign up」リンクを押下します。
    ※既にユーザ登録済みの場合はLog Inして、手順3にすすみます。
![ログイン画面](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2843915/392d5028-7448-cd2d-dae0-94f3956b89b3.png)
    
2. 各種必要な情報を入力し、「Sign Up」ボタンを押下します。
登録完了のためのメールが送付されるので、入力したメールアドレスの受信ボックスを確認してください。
情報は以下の通りです。
    - Organization Name
    各インスタンスを束ねる上位概念として利用します。企業や部門などの単位で利用します。
    同一のOrganizationを複数のユーザで利用する場合は、管理者ユーザでOrganizationを作成した後にその他のユーザを招待することで利用できます。
    - First name／Last name／Email address
    姓名、Eメールアドレスを入力ください。Eメールアドレスはログイン時に利用します。
    - Password
    最低8文字で、最低1つ以上の英小文字、英大文字、数字、記号を含める必要があります。
    ![サインアップ画面](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2843915/dc21192f-f350-1ff8-6a07-a10b2b5f860e.png)

    
3. 左メニューペインから「Clusters」を選択し、画面に表示された「Create Cluster」ボタンを押下します。
![ログイン後TOP画面](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2843915/5527171e-16f1-bc00-bcc0-0d469584eb44.png)

    
4. 環境セットアップに必要な情報を選択して、「Next」ボタンを押下します。
    - TigerGraph Version
    利用する製品のバージョンを選択します。特別な理由が無い限りは最新バージョンを選択することを推奨します。（記事執筆時点での最新バージョンは3.7.0）
    - Starter Kit
    様々なユースケースに応じて事前定義されたスキーマ（データ構造）とサンプルデータを利用することができます。近しい業務を目的としてトライアルする場合に非常に有効であり、このデータスキーマを拡張して利用することも可能です。ここではBlankを選択して次へすすめます。
![インスタンス作成画面](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2843915/5816c546-8fba-12f4-b7dd-c21c719a2b7e.png)

        
5. システムサイズ構成を選択して、「Next」ボタンを押下します。
    - Platform／Region
    AWS、Azure、GCPから選択します。各クラウドによって提供するデータセンターロケーションが異なります。
    - Endpoint Type
    製品へアクセスする場合のエンドポイントをPublic（公開）にするかPrivate（非公開・Private Link）を利用するか選択します。無償インスタンスの場合はPublicのみ選択可能です。
    - Instance Type
    システムサイズを選択します。各クラウド提供ベンダーによって、提供システムサイズに違いがあります。
    - Disk Size
    データベースサイズを選択します。無償インスタンスは50GBのみ選択可能です。
    - Partition Factor
    並列サーバ台数です。無償インスタンスは1台のみ設定可能です。
    - Replication Factor
    垂直サーバ台数です。無償インスタンスは1台のみ設定可能です。
       ![インスタンス構成画面1](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2843915/9dcaf328-e121-5ff7-e39c-ac7e43888c19.png)
       ![インスタンス構成画面2](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2843915/63765cb4-089d-3fd1-3c7e-7959ea4a85ef.png)
     
   
6. 構成に必要な情報を入力し、「Next」ボタンを押下します。
    - Name Your Solution
    インスタンス名称を設定します。
    - Tag Your Solution
    管理に必要なタグを設定します。
    - Subdomain
    インスタンス利用時のサブドメインです。未設定の場合はランダムに生成されたサブドメインが割り当てられます。
        ![インスタンス構成画面3](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2843915/1e6f14d6-d847-e53d-0e1b-40b8cd48c7eb.png)

        
7. 構成を最終確認し、「Submit」ボタンを押下します。
:::note warn
注意
無償インスタンスを利用する場合、Price Per Hourの金額が$0.00になっていることを確認してください。
:::
![構成確認画面](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2843915/f7a39e7f-8eb6-6f58-1905-336708b866a9.png)

    
8. インスタンス構成 完了を確認します。
およそ10分ほどでインスタンスが構成され利用可能になります。
    
    ![インスタンス一覧画面](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2843915/2b45a92c-e2c1-d491-e9a8-783e396ff056.png)

    

### インスタンスの構成確認

1. インスタンスの構成を確認する場合は、管理コンソール内の左ペインメニュー「Clusters」から作成したインスタンス名（例ではdemo1）を選択します。
    
    ![インスタンスの構成確認](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2843915/adcce998-129c-b819-f4bd-1e3efe93da31.png)

    
2. 構成確認画面で閲覧・実施できる内容は以下の通りです。
    - Details
        - インスタンスの構成情報
        - 利用しているクラウドプロバイダー
        - ネットワーク構成情報
        - 利用バージョン
            
        ![Untitled 12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2843915/2ea5f5fa-10a9-ce6d-4018-296e61655257.png)

            
    - Tools
        - 各種 ツールへのリンク
            
            ![Untitled 13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2843915/61c53735-c2b4-45eb-1272-9e49d76d8347.png)

            
    - Access Management
        - インスタンスへのアクセス権限の付与・剥奪（ユーザ追加）
            
            ![acm.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2843915/afc81e5c-8c0d-ebd5-9cc3-f0f4bd4f7065.png)

            
    - Resizing
        - インスタンス構成サイズの変更
            
            ![Untitled 14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2843915/c994fd4c-74cf-10ae-b6b9-5f82764ba3da.png)

            
    - Cost
        - 構成したインスタンスのコスト概況
            
            ![Untitled 15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2843915/4a0742e8-382d-2fe9-2a29-421e63880b68.png)

            
    - Activities
        - インスタンスに対するシステム操作ログ
            
            ![Untitled 16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2843915/aa7d82d7-f43b-f470-7fae-c5a492c778a8.png)

# おわり
これでインスタンスを利用する準備が完了しました。
次回は実際の環境にアクセスをしてハンズオンをしていきたいとおもいます。