BLOB型

CassandraのBLOBデータ型は、16進数の定数を表します。

CassandraのBLOBデータ型は、0[xX](hex)+で定義される16進数の定数を表します。ここで、hexは16進数[0-9a-fA-F]です。たとえば、0xcafeとなります。BLOBの理論上の最大サイズは2GBです。ただし、BLOBの現実的な制限は1 MB未満で、それよりも小さいことが理想的です。BLOB型は、小さな画像または短い文字列を格納するのに適しています。

BLOB変換関数

これらの関数は、ネイティブの型をバイナリー・データ(BLOB)に変換します。
  • typeAsBlob(type)
  • blobAsType
CQLでサポートされている、BLOB以外のすべてのネイティブの型に対して、typeAsBlob関数はtype型の引数を受け取り、それをBLOBとして返します。これとは逆に、blobAsType関数は、64ビットのBLOB引数を受け取り、それをbigint値に変換します。

この例は、bitintAsBlobの使用方法を示します。

CREATE TABLE bios ( user_name varchar PRIMARY KEY, bio blob ); INSERT INTO bios (user_name, bio) VALUES ('fred', bigintAsBlob(3)); SELECT * FROM bios; user_name | bio -----------+-------------------- fred | 0x0000000000000003

この例は、blobAsBigIntの使用方法を示します。

ALTER TABLE bios ADD id bigint; INSERT INTO bios (user_name, id) VALUES ('fred', blobAsBigint(0x0000000000000003)); SELECT * FROM bios; user_name | bio | id -----------+--------------------+---- fred | 0x0000000000000003 | 3