このクイックスタートはOceanBase Community Editionのデプロイの例を使用して説明します。このプランは、マシンが1台しかない場合に、使用可能なOceanBaseデータベース環境を迅速に構築するのに適しています。デプロイ済みのOceanBaseデータベース環境はデータベースの基本機能を備えており、OceanBaseデータベースを理解するのに役立ちます。ただし、この環境には分散型能力や高可用性特性が備わっておらず、長期的な使用は推奨されません。
注意
本記事では、OceanBaseを迅速に使用できることを目指しています。さらにAPパフォーマンスを体験する必要がある場合は、APシナリオにおけるパラメータ設定の推奨の中にある推奨設定を使用することをお勧めします。
ステップ1:体験環境を手早く構築する
all-in-oneインストールパッケージをダウンロードしてインストールします。
Community Edition all-in-oneインストールパッケージを OceanBaseソフトウェアダウンロードセンターからダウンロードし、マシンの任意のディレクトリにアップロードします。
インストールパッケージのあるディレクトリで、以下のコマンドを実行してインストールパッケージを解凍し、インストールします。
[admin@test001 ~]$ tar -xzf oceanbase-all-in-one-*.tar.gz [admin@test001 ~]$ cd oceanbase-all-in-one/bin/ [admin@test001 bin]$ ./install.sh [admin@test001 bin]$ source ~/.oceanbase-all-in-one/bin/env.sh以下のコマンドを実行して、OceanBaseデータベースをクイックデプロイできます。
[admin@test001 ~]$ obd demoobd demoコマンドはデフォルトで現在のユーザーディレクトリに最小仕様をデプロイして、OceanBaseデータベースおよび関連コンポーネント(ODP、OBAgent、Grafana、Prometheusを含む)を起動し、デプロイ名はdemoに固定されます。説明
GrafanaまたはPrometheusをインストールする場合は、GrafanaまたはPrometheusのアクセスアドレスが出力されます。Alibaba Cloudなどのクラウド環境では、パブリックIPアドレスを取得することができないため、内部ネットワーク用のIPアドレスが出力される場合があります。このIPアドレスはパブリックアドレスではないため、正しいアドレスを使用する必要があります。
出力された接続コマンドを実行してデータベースに接続します。
obd demoコマンドの実行が成功したら、OBClientを使用してOceanBaseデータベースに接続するコマンドを出力します。以下に例を示します。2881ポートを使用してデータベースに直接接続
[admin@test001 ~]$ obclient -h127.0.0.1 -P2881 -uroot@sys -Doceanbase -AODPを使用してデータベースにプロキシアクセス
[admin@test001 ~]$ obclient -h127.0.0.1 -P2883 -uroot@sys -Doceanbase -A
(オプション)パスワードを設定します。
obd demoコマンドを使用してOceanBaseデータベースをクイックデプロイした後、以下の手順を参考にしてdemoクラスタのパスワードを設定できます。設定ファイルを修正します。
obd cluster edit-config demo上記のコマンドを実行して設定ファイルを開いた後、設定ファイル内のoceanbase-ce (Community Edition) / oceanbase (Enterprise Edition)コンポーネントに
root_password: xxxxを追加します。追加後に保存し終了します。例:oceanbase-ce: servers: - 127.0.0.1 global: home_path: /home/admin/oceanbase-ce ... # 他の構成パラメータは省略 log_disk_size: 13G root_password: ******クラスタを再起動します。
設定ファイルを修正して保存すると、obdは実行を待機する再起動コマンドを出力します。直接コピーして実行できます。例は以下のとおりです。
[admin@test001 ~]$ obd cluster edit-config demo Search param plugin and load ok Search param plugin and load ok Parameter check ok Save deploy "demo" configuration Use `obd cluster reload demo` to make changes take effect. Trace ID: 29dd12fa-3d73-11ee-91bc-00163e01cd7a If you want to view detailed obd logs, please run: obd display-trace 29dd12fa-3d73-11ee-91bc-00163e01cd7a出力から分かるように、設定ファイル中の
root@sysユーザーパスワードを修正した後、obd cluster reload demoコマンドを実行してdemoクラスタを再起動する必要があります。
ステップ2:テーブルを作成する
データベースを作成します。
CREATE DATABASEステートメントを使用してデータベースを作成します。
例:データベースquickstartを作成して、文字セットをutf8mb4に指定し、読み取りプロパティを作成します。
obclient> CREATE DATABASE quickstart DEFAULT CHARACTER SET utf8mb4 READ WRITE; Query OK, 1 row affectedテーブルを作成します。
CREATE TABLEステートメントを使用して、データベースに新しいテーブルを作成します。例:データベース
quickstartにテーブルtestを作成します。obclient> USE quickstart; Database changed obclient> CREATE TABLE test (place VARCHAR(500), latitude VARCHAR(50),longitude VARCHAR(50), country VARCHAR(1000), continent VARCHAR(100), magnitude DECIMAL(3, 1)); Query OK, 0 rows affected
ステップ3:データをインポートする
本記事では Kaggle内のサンプルデータセット(earthquake_dataset.csv)を使用して説明します。
Kaggleからearthquake_dataset.csvファイルをダウンロードします。
earthquake_dataset.csvファイルをOBServerノードが存在するマシンにコピーします。
scp earthquake_dataset.csv admin@10.10.10.1:/home/admin/test_dataOBServerノードが存在するマシンにログインして接続します。
例:
ssh admin@10.10.10.1インポートファイルのパスを設定します。
注意
セキュリティ上の理由から、システム変数 `secure_file_priv` を設定する際には、ローカルUnixソケットを通じてのみデータベースに接続し、このグローバル変数を変更するSQLステートメントを実行できます。詳細については、secure_file_priv を参照してください。
例:
OBServerノードが存在するマシンにログインして接続します。
ssh admin@10.10.10.1以下のコマンドを実行し、ローカルのUnixソケット接続メソッドを使用してテナント
mysql001に接続します。例:
obclient -S /home/admin/oceanbase/run/sql.sock -uroot@mysql001 -p******ファイルを置くディレクトリを
/に設定します。これは制限がなく、任意のバスでアクセスできることを意味します。SET GLOBAL SECURE_FILE_PRIV = "/";
再びデータベースに接続します。
例:
obclient -h127.0.0.1 -P2881 -utest_user001@mysql001 -p****** -ALOAD DATAステートメントを使用してデータをインポートします。例:
以下の
LOAD DATAステートメントを使用して、ファイルからデータベースのテーブルにデータをロードします。そこでは以下を指定します:- ロードするファイルのパスとファイル名を
/home/admin/test_data/earthquake_dataset.csvと指定します。 - ロードするデータのターゲットテーブル名を
testと指定します。 - データファイル内のフィールドをカンマ(,)と指定します。
- データファイル内のフィールド(文字列型)を指定して、二重引用符で囲みます。
- データファイル内の行を指定して、改行文字を終了文字として使用します。
- ロードするデータファイル内の列とターゲットテーブル内の列のマッピング関係を指定します。データファイル内の一列目をターゲットテーブルの
place列にマッピングし、二列目をlatitude列にマッピングし、三列目をlongitude列にマッピングし、それ以降も同じようにします。
obclient [test]> LOAD DATA LOCAL INFILE '/home/admin/test_data/earthquake_dataset.csv' INTO TABLE test FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES (place,latitude,longitude,country,continent,magnitude);- ロードするファイルのパスとファイル名を
ステップ4:データの検索と分析
OBServerノードが存在するマシンにログインして接続します。
ssh admin@10.10.10.1データベースに接続します。
例:
obclient -h127.0.0.1 -P2881 -utest_user001@mysql001 -p****** -A特定の
placeの状況をクエリします。obclient [quickstart]> select * from test where place = 'Santiago'; +----------+----------+-----------+---------+----------------+-----------+ | place | latitude | longitude | country | continent | magnitude | +----------+----------+-----------+---------+----------------+-----------+ | Santiago | -33.4463 | -70.6682 | Chile | South America | 4.8 | | Santiago | -33.4521 | -70.6647 | Chile | South America | 4.5 | | Santiago | -33.4505 | -70.6717 | Chile | South America | 5.2 | | Santiago | -33.4489 | -70.6693 | Chile | South America | 5.6 | | Santiago | -33.4472 | -70.6659 | Chile | South America | 4.1 | +----------+----------+-----------+---------+----------------+-----------+ 5 rows in set各continentの地震回数を統計処理します。
obclient [quickstart]> select continent,count(*) from test group by continent; +----------------+----------+ | continent | count(*) | +----------------+----------+ | South America | 90 | | Africa | 580 | | Antarctica | 70 | | North America | 190 | | Oceania | 45 | | Asia | 155 | | Europe | 135 | +----------------+----------+ 7 rows in set