はじめに
Apache Cassandraは、データベースとの通信にCQL(Cassandra Query Language)を使用します。 Cassandraは、データをテーブルに格納し、行と列に編成するという点でSQLに似ています。
Cassandraはデータを変数に格納します。各変数には、格納できる値の型(または範囲)と、エラーを発生させずに実行できる操作を定義するデータ型が割り当てられています。
Cassandraのデータ型とその違いについて学ぶために読んでください。
Cassandraデータ型
Apache Cassandraは、次のような豊富なデータ型のセットをサポートしています。
- 組み込みのデータ型
- コレクションのデータ型
- ユーザー定義のデータ型
注: Apache Cassandraは、ワイドカラムNoSQLデータベースです。これらのタイプのデータベースについて詳しく知りたい場合は、NoSQLデータベースタイプをお読みください。また、NoSQLのコアの概念と機能に興味がある場合は、NoSQLとはを参照してください。
組み込みデータ型
Cassandraには、組み込みのサポートを提供する多くのデータ型があります。これらは、プリミティブデータ型とも呼ばれます。それらは事前定義されており、それらのいずれかを直接参照できます。
データ型 | 定数 | 説明 |
---|---|---|
ascii | 文字列 | ASCIIは、文字列に使用される文字エンコードを含むデータ型です。その中で、数値コードは文字を表します(たとえば、 T 84です )。標準ASCIIは128文字を表すことができますが、拡張バージョンは256文字を組み込んでいます。 |
ブール値 | ブール値 | BOOLEANは、2つの可能な値のいずれかを持つ変数に使用されます。これらの値は16ビットの数値として保存されますが、 Trueのみになります。 またはFalse 。 |
blob | ブロブ | BLOBは「BinaryLargeObject」の略で、バイナリデータの保存に使用されます。任意のバイトを表すため、主に画像、ビデオ、オーディオファイルの保存に使用されます。サイズが大きいため、他のデータ型と比較してより多くのスペースが必要です。 |
10進数 | 整数、フロート | DECIMALデータ型は、提供される精度により、通貨データを格納するのに便利です。精度(桁数: 5.754 )の2つの要素で構成される数値に使用されます。 )スケール(小数点以下の桁数: 5.754 )値5.754を、5(精度)と754(スケール)の2つの別個の単位として格納します。 |
ダブル | 整数 | 通貨値の精度レベルを必要としない10進値を格納する必要がある場合は、DOUBLEデータ型を使用できます。これは64ビット浮動小数点を表し、整数に使用されます。 |
フロート | 整数、フロート | FLOATデータ型は、小数点値を格納します。これは単精度であり、32ビット浮動小数点を表します。 10進数のデータ型表現ほど正確ではないため、高精度が必要なデータには使用しないでください。 |
int | 整数 | INTデータ型は、32ビットの符号付き整数を格納するために使用されます。 |
smallint | 整数 | SMALLINTは16ビットの符号付き整数を格納します。 |
bigint | 整数 | BIGINTは64ビットの符号付き整数を格納します。 |
テキスト | 文字列 | データを格納するには、UTF8でエンコードされた文字列で表されるテキストデータに使用されるTEXTデータ型を使用できます。 |
varchar | 文字列 | 変数または任意の文字にはVARCHARを使用します。最大サイズも決定できるUTF8エンコード文字列に格納されます。 |
inet | 文字列 | 算術演算を必要としない文字列を格納するには、INETデータ型を利用します。数値表現と文字表現の両方をサポートしているため、IPアドレスの保存と管理に使用します。 INETはIPv4およびIPv6ホストアドレスを保存できます。 |
カウンター | 整数 | COUNTERデータ型は64ビットの整数値に使用され、カウンター列に格納されます。このデータ型は、インクリメントとデクリメントの2つの操作をサポートし、ページビューをカウントするために一般的に使用されます。 |
時間 | 整数、文字列 | 時間の値は次の形式で保存できます: hh:mm:ss 時間データ型を使用します。ナノ秒の精度を提供し、整数と文字列のデータをサポートします。 |
日付 | 整数、文字列 | したがって、日付値は次の形式で保存できます: YYYY-MM-DD 。このデータ型は整数と文字列もサポートします。 |
タイムスタンプ | 整数、文字列 | TIMESTAMPデータ型は、前述の2つの組み合わせです。これは、次の形式の時刻と日付の値を含む値に使用されます: YYYY-MM-DD hh:mm:ss |
注: Cassandraの詳細については、CassandraとMongoDBを参照してください。
コレクションデータ型
複数の値を1つのユニットに格納する場合は、コレクションデータ型の1つを使用できます。
Cassandraは、次の3種類のコレクションデータ型をサポートしています。
- マップ 。 Cassandraは、 Map を使用して、キーと値のペアのセットにデータを格納できます。 データ・タイプ。データを保存し、ラベル(キー名)を割り当てて並べ替えを簡単にすることができます。
- セット 。 Set を使用して、複数の一意の値を保存できます データ・タイプ。要素は順番に保存されないことに注意してください。
- リスト 。複数の値を特定の順序で保存する必要がある場合は、リストを使用できます。 データ・タイプ。セットとは異なり、リストには重複する値を格納できます。
ユーザー定義のデータ型
Cassandraデータ型の最後のタイプはユーザー定義です データ型(UDT)。名前が示すように、それはあなた(ユーザー)があなたが必要とする要件に基づいてあなた自身のデータ型を作成することを可能にします。
UDTは、単一の列内の任意のデータ型の複数のデータフィールドで構成されます。ユーザー定義のデータ型を作成したら、その中のフィールドを変更または削除することもできます。