Cassandraのデータタイプ
はじめに
CassandraはNoSQLの代表的なデータベースシステムです。
出典:https://db-engines.com/en/ranking
データタイプ
データタイプは下記の種類があります。メモします。
・native types
・collection types
・user-defined types
・tuple types
・custom types
native types
- ASCII
- BIGINT: 64bit
- BLOB
- BOOLEAN
- COUNTER
- DATE
- DECIMAL
- DOUBLE
- DURATION
- FLOAT
- INET
- INT: 32bit
- SMALLINT: 16bit
- TEXT: UTF8 encoded string
- TIME
- TIMESTAMP
- TIMEUUID
- TINYINT: 8bit
- UUID
- VARCHAR: Textと同じ。UTF8 encoded string
- VARINT: 任意精度の整数
collection types
ネストしたい場合はコレクション型を定義しても便利です。
- Map
サンプル
CREATE TABLE users (
id text PRIMARY KEY,
name text,
read_books map<text, text> // isbn:本名
);
INSERT INTO users (id, name, read_books)
VALUES ('tanaka', '田中 太郎', { '978-4873115290' : 'Cassandra', '978-4873112565' : 'Apacheセキュリティ' });
- Set
定義例: tags set ⇒ 値例: {"20代", "男性"}
更新例1: tags = tags - { '20代', '男性' }
更新例2: tags = tags + { '30代', '女性' }
- List
定義例: scores list ⇒ 値例: [10, 5, 15, 20]。
更新例1: scores = scores - [ 10, 15]
更新例2: scores = scores + [ 12, 18]
更新例3: scores[0] = 16
user-defined types
CREATE TYPE address (
street text,
city text,
zip text,
phones map<text, text>
)
CREATE TABLE user (
name text PRIMARY KEY,
addresses map<text, address>
)
tuple types
CREATE TABLE durations (
event text,
duration tuple<int, text>,
)
INSERT INTO durations (event, duration) VALUES ('event1', (3, 'hours'));
custom types
CREATE TYPE address (
street text,
city text,
zip text,
phones map<text, text>
)
CREATE TABLE user (
name text PRIMARY KEY,
addresses map<text, address>
)
CREATE TABLE durations (
event text,
duration tuple<int, text>,
)
INSERT INTO durations (event, duration) VALUES ('event1', (3, 'hours'));
custom types
推奨されていません
dataypes: http://cassandra.apache.org/doc/latest/cql/types.html
以上
Author And Source
この問題について(Cassandraのデータタイプ), 我々は、より多くの情報をここで見つけました https://qiita.com/chenglin/items/bbb4b0c575e719f9560f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .