# 制限事項

これは現在のMyScaleの制限事項の概要です。これらの多くには回避策があり、また制限を増やすための取り組みも行っています。

# ベクトルインデックス

# インデックスの管理

MyScaleは無制限のベクトル次元をサポートしていますが、メモリ制約によりインデックスのサイズが制限される場合があります。

データを挿入した後、クエリで使用できるようになるまでには時間がかかる場合があります。ベクトルインデックスの状態は、システムテーブル system.vector_indices を確認することで監視できます。詳細はベクトルインデックスの状態を確認するを参照してください。

さらに、現在のMyScaleではテーブルごとに1つのベクトルインデックスの追加しか許可されていません。複数のベクトルインデックスを追加すると未定義の動作が発生する可能性があるためです。

# インデックスの種類

MyScaleは現在、MSTG、FLAT、HNSWFLAT、HNSWSQ、IVFFLAT、IVFPQ、IVFSQの7つのインデックスタイプをサポートしています。

より良いサービスオプションを提供するために、このリストを拡張するための取り組みを継続しています。

詳細については、ベクトルインデックスの設定オプションの説明を参照してください。

# オブジェクトの命名規則

オブジェクト 命名規則 制限
データベース名 データベース名は小文字で始まり、文字、数字、アンダースコア(_)で構成される必要があります。ただし、連続したアンダースコアは許可されず、最大長は64文字を超えてはいけません。 "system"は予約語であり、組み込みのデータベースとして予約されているため、データベース名として使用することはできません。
テーブル名 テーブル名は文字またはアンダースコア(_)で始まり、文字、数字、アンダースコア(_)を含めることができます。長さは1から127文字の間である必要があります。 テーブル名には引用符、感嘆符(!)、スペースを含めることはできず、予約されたSQLキーワードであってはなりません。
カラム名 カラム名は文字またはアンダースコア(_)で始まり、文字、数字、アンダースコア(_)を含めることができます。長さは1から127文字の間である必要があります。 カラム名には引用符、感嘆符(!)、スペースを含めることはできず、予約されたSQLキーワードであってはなりません。

# ベクトル検索

# GROUP BY

現在のバージョンのMyScaleでは、クエリ内でdistance()GROUP BYの両方をサポートしていません。以下は正しくない使用例です:

select id, groupArray(distance(vector, [1.0, 1.0, 1.0])) from test_vector group by id;

distance()セクションをサブクエリとして書き直した後、GROUP BY構文を使用することができます。

select id, groupArray(dist) from (select id, distance(vector, [1.0, 1.0, 1.0]) as dist from test_vector order by dist limit 10) group by id;