码迷,mamicode.com
首页 > 其他好文 > 详细

Cassandra视图

时间:2019-12-02 13:41:44      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:HERE   定义   中心   删除   不同的   from   过程   rop   col   

一.简介

Cassandra作为一个P2P结构的NOSQL数据库,使用与HBase不同的去中心化架构,在国外使用非常广泛,受欢迎程度甚至在Hbase之上。今天这篇文章介绍Cassandra在视图方面设计需要注意的一些点。

二.视图建立

cassandra视图创建的语句如下:

create_materialized_view_statement ::=  CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] view_name AS
                                            select_statement
                                            PRIMARY KEY ( primary_key )
                                            WITH table_options

例子:

CREATE TABLE emp (
    emp_id int PRIMARY KEY,
    emp_city text,
    emp_name text,
    emp_phone varint,
    emp_sal varint
)

create MATERIALIZED VIEW emp_view as 
select * from emp where emp_id is not null 
and emp_name is not null 
primary key(emp_id,emp_name) 
with comment=this is an iew;

基于emp表建立了视图emp_view。在视图创建的过程中主要包含三个部分:select语句,主键定义,视图配置选项。在这三部分中主要需要注意的是前两部分。

select语句:

1.视图中的列必须来自源表,不能在使用select语句时对某列使用任何函数,可以使用*作为选择所有列的快捷方式。

技术图片

2.当源表中拥有static定义的列,则在创建视图时不能使用*,应为使用static声明的列不能包含在物化视图中。

3.它既不能具有排序子句,也不能具有限制,也不能具有ALLOW FILTERING。

主键定义:

1.每个视图必须要有主键,同时它必须包含基表的所有主键列, 这样可以确保视图的每一行都恰好对应于基表的一行。

技术图片

技术图片

2.主键中只能包含一个不是源表中的主键列作为主键

技术图片

3.作为视图中的主键,必须使用not null定义

技术图片

视图配置选项:

在视图创建时,加上一些配置,详情请见

http://cassandra.apache.org/doc/latest/cql/ddl.html#create-table-options

三.删除视图

drop_materialized_view_statement ::=  DROP MATERIALIZED VIEW [ IF EXISTS ] view_name;

技术图片

 

Cassandra视图

标签:HERE   定义   中心   删除   不同的   from   过程   rop   col   

原文地址:https://www.cnblogs.com/tangs1/p/11969723.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!