本記事では、OceanBaseデータベースのオブジェクト命名に関する一般的な規範を紹介します。
データベース開発を行う際には、データベースオブジェクトに対して統一された命名ルールを設ける必要があります。また、その命名ルールは標準化されているべきであり、コードの可読性を高め、他者が読みやすく、理解しやすく、継承しやすいようにする必要があります。本記事は、開発者に一定の命名規範の提案を行うことを目的としています。
一般規範
データベース内のオブジェクト命名には、いくつかの一般的な規範と注意点があります。具体的には以下のとおりです。
各アプリケーションのデータベースとテーブルの文字セットは統一されている必要があり、すべてのテーブルの文字セットも統一することを推奨します。utf8mb4を使用することを推奨し、テーブルレベルでカスタム文字エンコーディングを使用することは推奨されません。
統一された命名規範を使用し、命名を標準化することを推奨します。
英語の完全な名詞を使用することを推奨します。
標準的な一般的な略称を使用することを推奨します。
中国語の識別子を使用することは推奨されません。
ピンインと英語を混在させることは推奨されません。
数字、実際の意味を持たない文字、アンダースコア、または特殊文字のみで構成される実際の意味を持たない文字列を使用することは推奨されません。
オブジェクト名の文字間にスペースを残すことは推奨されません。
システム予約語やキーワードの使用は推奨されません。
データベースシステムや一般的なアクセス方法との競合を避けることを推奨します。
ピンインのみを使用することは推奨されません。
識別子長制限
MySQLモード。
データ項目 最大長 クラスタ名 128バイト。 テナント名 64バイト。 ユーザー名 64バイト。 データベース名 128バイト。 テーブル名 64文字。 列名 128バイト。 インデックス名 64バイト。 ビュー名 64バイト。 別名 255バイト。 パーティション名 64文字。 Oracleモード。
タイプ 最大長 クラスタ名 128バイト。 テナント名 64バイト。 ユーザー名 64バイト。 テーブル名 128バイト。 列名 128バイト。 インデックス名 128バイト。 ビュー名 128バイト。 エイリアス 255バイト。 オブジェクト名 128バイト。 パーティション名 64文字。
ODP最大接続数制限
| タイプ | 最大制限 |
|---|---|
| 単一ODPの接続数 | ODPのclient_max_connectionsパラメータによって制御され、デフォルトは8192です。
説明 |
パーティションレプリカ数制限
| タイプ | 最大制限 |
|---|---|
| 各OBServerノードのパーティションレプリカ数 | 厳密な制限はありません。
説明 |
単一テーブルの制限
| タイプ | 最大制限 |
|---|---|
| 行長 | 1.5MB。 |
| 列数 | 4096列。 |
| インデックス数 | 128個。 |
| インデックスの合計列数 | 512列。 |
| インデックス長 | 1.5MB。 |
| 主キーの合計列数 | 64列。 |
| 主キー長 | 16KB。 |
| パーティション数 |
|
単一列の制限
| タイプ | 最大制限 |
|---|---|
| インデックス単一列長 | 262143バイト。 |
文字列型の制限
MySQLモード。
タイプ 最大長 CHAR256バイト。 VARCHAR1048576バイト。 BINARY256バイト。 VARBINARY1048576バイト。 BLOB536870911バイト。 TEXT536870911バイト。 Oracleモード。
タイプ 最大長 CHAR2000バイト。 VARCHAR32767バイト。 VARCHAR232767バイト。 NCHAR2000バイト。 NVARCHAR232767バイト。