インターネットの急速な発展とデータ量の爆発的な増加に伴い、データ分析は企業の意思決定に徐々に不可欠な部分になってきました。このプロセスでは、データベースの選択が特に重要です。従来のリレーショナル データベース (MySQL、Oracle など) と比較して、ClickHouse はリアルタイム分析シナリオでのパフォーマンスが高く、構築コストが比較的低くなります。この記事では、読者がこのテクノロジーを習得できるように、PHP を使用してオープン ソースの ClickHouse リアルタイム分析データベースを実装する方法を紹介します。
ClickHouse は、Yandex (ロシアの検索エンジン会社) によって開発されたオープンソースの列型データベースで、大規模なデータのリアルタイム分析に特に適しています。スケールデータ。以下の特徴があります。
(1) 高速応答: カラムナ型ストレージ構造を採用しており、読み書き効率が高く、大量のデータのクエリ要求に数秒で応答できます。
(2) スケーラビリティ: 分散展開をサポートし、大規模なデータ分析シナリオのニーズを満たすために ClickHouse クラスターを簡単に拡張できます。
(3) 高いパフォーマンス: バッチ クエリやベクトル化計算などの最適化機能を備えており、クエリ速度が大幅に向上します。
PHP を使用して ClickHouse を動作させる前に、次の準備を行う必要があります。
(1) ClickHouse のインストールと起動データベース サービス;
(2) ClickHouse で必要なデータベースとテーブルを作成します。 ClickHouse の Web インターフェイスまたはコマンド ライン ツールを使用して作成できます。
(3) PHP関連ドライバをインストールします。 PHP は、Composer を通じてインストールできる ClickHouse ドライバーを公式に提供しています。
(1) データベースへの接続
PHP では、ClickHouse が提供する公式ドライバーを使用してデータベースに接続できます。データベース。以下はデータベースに接続するコード例です:
<?php require_once 'vendor/autoload.php'; use ClickHouseDBClient; $client = new Client([ 'host' => 'localhost', 'port' => '8123', 'username' => 'default', 'password' => '', ]); //测试连接是否成功 $client->select('SELECT 1'); ?>
このうち $client は ClickHouse に接続するクライアントオブジェクトで、IP アドレス、接続ポート、ユーザー名、パスワードなどを指定する必要がありますClickHouseサーバーの。接続成功後、SELECT 1 文を実行することで接続が正常かどうかを確認できます。
(2) データの挿入
ClickHouse にデータを挿入するには、INSERT INTO ステートメントを使用する必要があります。以下は、データを挿入するコード例です。
<?php require_once 'vendor/autoload.php'; use ClickHouseDBClient; $client = new Client([ 'host' => 'localhost', 'port' => '8123', 'username' => 'default', 'password' => '', ]); $data = [ ['2019-01-01', 'user1', 100], ['2019-01-01', 'user2', 200], ['2019-01-02', 'user3', 300], ]; $client->insert('mydb.mytable', $data, ['date', 'name', 'value']); ?>
上記のコードは、mydb.mytable テーブルにデータを挿入し、データのフィールド名 (日付、名前、および値) を指定します。
(3) データのクエリ
ClickHouse でデータをクエリするには、SELECT ステートメントを使用する必要があります。以下は、データのクエリのコード例です。
<?php require_once 'vendor/autoload.php'; use ClickHouseDBClient; $client = new Client([ 'host' => 'localhost', 'port' => '8123', 'username' => 'default', 'password' => '', ]); $response = $client->select('SELECT * FROM mydb.mytable WHERE date >= '2019-01-01' AND date <= '2019-01-02''); print_r($response->rows()); ?>
上記のコードは、 mydb.mytable テーブルをクエリします。2019 年 1 月 1 日から 2 日までのデータを選択し、クエリ結果を出力します。
この記事では、PHP を使用してオープン ソースの ClickHouse リアルタイム分析データベースを実装する方法を紹介します。これには、データベースへの接続、データの挿入、データのクエリを実行します。 ClickHouse は、高速応答、スケーラブル、高性能のカラム型データベースとして、ビッグ データ分析シナリオでの優れたアプリケーションの可能性を秘めています。読者がこのテクノロジーを習得し、実際の開発にうまく適用できることを願っています。
以上がPHP はオープンソース ClickHouse リアルタイム分析データベースを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。