ビットマップ関数は、OceanBaseデータベースシステムが提供する、効率的に圧縮されたビットマップデータを処理するための専用関数群です。これらの関数により、ユーザーはデータベースレベルで複雑なビットマップクエリや分析を実行できるため、ユーザー行動分析、ユーザープロファイリング、セグメンテーションなどのアプリケーションがビットマップデータを効率的に格納、クエリ、操作できるようになります。
以下は、OceanBaseのビットマップ関数の種類とその用途の概要です:
ビットマップ関数の種類
ビットマップ関数の種類 |
説明 |
|---|---|
| ビットマップ構築関数 | 新しいビットマップデータ型を構築するために使用される関数。 |
| ビットマップ基数計算関数 | ビットマップデータの基数を計算するために使用される関数。 |
| ビットマップ演算関数 | ビットマップデータ間の基本的な演算を提供する関数。例:共通部分、和集合、排他的論理和、非など。 |
| ビットマップ判断関数 | 入力されたビットマップデータに対して判断を行い、ブール値を返す関数。 |
| ビットマップ出力関数 | ビットマップデータの出力形式を選択するために使用される関数。例:文字列形式でビットマップデータの各要素を順次出力し、カンマで区切る。 |
| ビットマップ集約関数 | 数値型をビットマップ型、すなわちビットマップデータ間の集約演算に集約する関数を提供する。 |
ビットマップ関数一覧
OceanBaseデータベースが現在サポートしているすべてのビットマップ関数は以下のとおりです:
関数タイプ |
関数名 |
説明 |
|---|---|---|
| ビットマップ構築関数 | rb_build_empty | 空のビットマップデータを構築するために使用される。 |
| ビットマップ構築関数 | rb_build_empty | 空のビットマップデータを構築するために使用される。 |
| ビットマップ構築関数 | rb_build_varbinary | varbinaryを使用してビットマップデータを構築する。 |
| ビットマップ構築関数 | rb_from_string | 特定の形式の文字列を使用してビットマップデータを構築する。 |
| ビットマップ構築関数 | rb_select | 指定された条件に基づいて、ビットマップデータ値から局所範囲を選択し、新しいビットマップデータとして保存してその値を返す。 |
| ビットマップ基数計算関数 | rb_cardinality | ビットマップデータの基数を計算するために使用される。 |
| ビットマップ基数計算関数 | rb_and_cardinality および rb_and_null2empty_cardinality | 2つのビットマップデータの論理積を計算した後の新しいビットマップデータの基数を返す。 |
| ビットマップ基数計算関数 | rb_or_cardinality および rb_or_null2empty_cardinality | 2つのビットマップデータの論理和を計算した後の新しいビットマップデータの基数を返す。 |
| ビットマップ基数計算関数 | rb_xor_cardinality | 2つのビットマップデータの排他的論理和を計算した後の新しいビットマップデータの基数を返す。 |
| ビットマップ基数計算関数 | rb_andnot_cardinality および rb_andnot_null2empty_cardinality | 2つのビットマップデータの非を計算した後の新しいビットマップデータの基数を返す。 |
| ビットマップ基数計算関数 | rb_or_cardinality_agg | ビットマップ列の和集合の基数を計算する。 |
| ビットマップ基数計算関数 | rb_and_cardinality_agg | ビットマップ列の共通部分の基数を計算する。 |
| ビットマップ演算関数 | rb_and および rb_and_null2empty | 2つのビットマップデータの共通部分を計算する。 |
| ビットマップ演算関数 | rb_or および rb_or_null2empty | 2つのビットマップデータの和集合を計算する。 |
| ビットマップ演算関数 | rb_xor | 2つのビットマップデータの排他的論理和を提供する。 |
| ビットマップ演算関数 | rb_andnot および rb_andnot_null2empty | 2つのビットマップデータの非を提供する。 |
| ビットマップ判断関数 | rb_is_empty | 入力されたビットマップデータが空かどうかを判断する。 |
| ビットマップ判断関数 | rb_contains | 2つの用法:
|
| ビットマップ出力関数 | rb_to_varbinary | ビットマップデータをvarbinary形式で出力します。 |
| ビットマップ出力関数 | rb_to_string | ビットマップデータの各要素を文字列として順次出力し、カンマで区切ります。 |
| ビットマップ出力関数 | rb_to_array | ビットマップデータを配列形式で出力します。 |
| ビットマップ集約関数 | rb_build_agg | 数値列をビットマップデータに集約します。 |
| ビットマップ集約関数 | rb_or_agg | ビットマップ列の複数行データにOR演算を行い、ビットマップデータに集約します。 |
| ビットマップ集約関数 | rb_and_agg | ビットマップ列の複数行データにAND演算を行い、ビットマップデータに集約します。 |