`
WindyQin
  • 浏览: 32579 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

vertica建表的一些规则

 
阅读更多

Anatomy of a Projection

TheCREATE PROJECTIONstatement defines the individual elements of a projection, as the following graphic shows.

 

The previous example contains the following significant elements:

Column List and Encoding

Lists every column in the projection and defines the encoding for each column. Unlike traditional database architectures,HP Verticaoperates on encoded data representations. Therefore,HPrecommends that you use data encoding because it results in less disk I/O.

Base Query

Identifies all the columns to incorporate in the projection through column name and table name references. The base query for large table projections can contain PK/FK joins to smaller tables.

Sort Order

The sort order optimizes for a specific query or commonalities in a class of queries based on the query predicate. The best sort orders are determined by the WHERE clauses. For example, if a projection's sort order is(x, y), and the query's WHERE clause specifies(x=1 AND y=2), all of the needed data is found together in the sort order, so the query runs almost instantaneously.

You can also optimize a query by matching the projection's sort order to the query's GROUP BY clause. If you do not specify a sort order,HP Verticauses the order in which columns are specified in the column definition as the projection's sort order.

The ORDER BY clause specifies a projection's sort order, which localizes logically grouped values so that a disk read can pick up many results at once. For maximum performance, do not sort projections on LONG VARBINARY and LONG VARCHAR columns.

Segmentation

The segmentation clause determines whether a projection is segmented across nodes within the database. Segmentation distributes contiguous pieces of projections, calledsegments, for large and medium tables across database nodes. Segmentation maximizes database performance by distributing the load. Use SEGMENTED BY HASH to segment large table projections.

For small tables, use the UNSEGMENTED keyword to directHP Verticato replicate these tables, rather than segment them. Replication creates and stores identical copies of projections for small tables across all nodes in the cluster. Replication ensures high availability and recovery.

For maximum performance, do not segment projections on LONG VARBINARY and LONG VARCHAR columns.

以上来自官网,理解如下:

Projection的解析

Sort Order

在DACP建表时如何选择order by 的列:

1、 order by 后表中插入的数据是有序的,所以order by 的列就源自于你在查询语句时使用的where 字句的内容。例如,如果字句查询中有where x=1 and y=2,那么建立projection时order by (x, y)查询的时候就会迅速定位到符合条件的数据

2、 group by 后面的字段,出现在order by 中也可以优化查询。

3、 order by 不要建立在LONG VARBINARY and LONG VARCHAR的列

 

Segmentation

1、 Segmentation by hash()就是按照某一列,打散数据,把数据均匀的分布在各个节点上,对于大表,要记得使用。所以 hash里的列是主键最好,也就是说该列数据不重复的值越多,越适合做hash.

2、 Segmentation by 的列不要用LONG VARBINARY and LONG VARCHAR columns.

分享到:
评论

相关推荐

    Vertica_9.1.x完整文档

    《Vertica 9.1.x 完整文档》是针对Vertica Analytic Database的一个详尽指南,涵盖了从安装到高级特性的全方位介绍。该文档旨在帮助用户深入理解Vertica的功能和工作原理,以便更好地利用其进行数据分析和管理。 在...

    vertica jdbc 驱动driver

    Vertica JDBC驱动是连接到Vertica数据库的一种重要工具,它允许Java应用程序通过Java Database Connectivity (JDBC) API与Vertica数据库进行交互。Vertica是一个高性能、可扩展的列式数据库系统,广泛应用于大数据...

    vertica jdbc driver 驱动下载

    Vertica JDBC Driver是一款由Vertica公司提供的Java数据库连接器,用于在Java应用程序中与Vertica分析平台进行交互。它遵循Java Database Connectivity (JDBC) API标准,为开发人员提供了访问和操作Vertica数据库的...

    vertica数据库的连接jar包

    Java连接数据vertica数据库 就可以连接数据库 import java.sql.*; import java.util.Properties; Properties myProp = new Properties(); //用于设置数据库的用户名 myProp.put("user", "dbadmin"); //用于...

    HP Vertica Essentials

    《HP Vertica Essentials》是关于HP Vertica列式数据库的详细指南书籍。Vertica作为一款列式数据库系统,被HP公司收购,并在数据分析及挖掘领域展现出巨大潜力。列式数据库相比传统的关系型数据库,在处理列式数据...

    vertica windows客户端

    **标题:“Vertica Windows客户端”** **描述:**Vertica是一种高性能的多处理(MPP)数据库系统,由美国HP公司收购。它以其出色的查询速度、大规模数据处理能力和高可用性而受到赞誉。作为Vertica的客户端,它为用户...

    vertica-jdbc-9.2.1-0.jar

    You can download the Vertica drivers here: https://my.vertica.com/download/vertica/client-drivers/ Once you have the files you want (i.e. vertica-jdbc-9.2.1-0.jar) you should be able to run a ...

    Vertica 分析型数据库完全参考文档

    Vertica Documentation - Vertica Analytic Database Contents Vertica® 9.1.x Documentation 5 Vertica 9.1.x Supported Platforms 11 Vertica 9.1.x New Features and Changes 39 Vertica Concepts 64 ...

    vertica 8.1 完整文档

    - 可能会涉及到一些第三方软件与Vertica的兼容性说明或集成方式。 21. **版权声明**: - 文档中会明确指出版权和商标信息,以及版权声明,强调了HPE产品的使用是受到法律条款约束的。 22. **法律声明和保修信息*...

    Vertica_9.1文档

    在文档中,还能看到一些OCR扫描错误导致的字词识别错误,但整体内容对用户来说应该相对易懂,逻辑清晰,能够作为有效使用Vertica 9.1版本的指导手册。总之,Vertica 9.1的官方文档是一份详尽的资源,为数据库管理员...

    Vertica 7 JAVA SDK

    - **com.vertica.sdk.DFSConstantsClassReference**:这个类定义了一些与分布式文件系统相关的常量。 - **com.vertica.sdk.DFSFileClassReference**:这个类提供了与分布式文件系统交互的功能。 - **Detailed...

    Introduction Vertica Architecture_Overview

    下面是Vertica架构的一些核心知识点: 1. 列式存储架构:Vertica采用了列式存储,这意味着数据是按照列而非行来组织和存储的。在列式存储中,每一列数据都是独立存储在磁盘上的。这种设计的优势在于,当执行查询时...

    HP_Vertica数据库从入门到精通

    惠普公司开发的HP Vertica数据库是一款面向分析的列式数据库管理系统,它支持大规模数据集的存储和高速查询。因其卓越的性能和高可靠性,Vertica数据库在大数据分析领域中备受关注。文档《HP_Vertica数据库从入门到...

    vertica中文手册(7.2)

    HPE Vertica分析型数据库是一款高性能、大规模并行处理的列式数据库管理系统。它设计用于实时分析和管理海量数据集,支持大数据分析应用,适用于数据仓库、商业智能(BI)以及机器学习分析等场景。下面我们将从手册中...

    Vertica 常用操作说明 v1

    ### Vertica 常用操作详解 #### 一、初始化与数据库创建 ##### 创建数据库 在Vertica系统中,可以通过图形界面(GUI)或者命令行工具来创建数据库。使用命令行方式创建数据库的一个典型示例如下: ```sh v001:/...

    vertica文档

    《Vertica文档详解》 Vertica,由Vertica Systems公司开发,现为HP Vertica,是一款高性能、可扩展的企业级列式数据库管理系统,专为大数据分析而设计。它以其高效的数据处理能力、卓越的查询性能以及对大规模数据...

    Vertica_technology

    Vertica是一款高性能的数据库软件,被设计用于处理和分析海量数据。Vertica数据库的基本原理是将数据结构化为表格、字段和记录,从而保证了数据的规范化存储。它可以在普通的硬件设备上运行,如Linux系统。支持的...

    Vertica用户手册9.2

    《Vertica用户手册9.2》提供了关于Vertica Community Edition (CE) 的详细指导,这是一个分析数据库,旨在帮助用户理解如何下载、安装、启动Vertica的社区版虚拟机(VM),以及如何在该虚拟机上创建和管理集群及...

    Vertica实施与运维最佳实践.docx

    ### Vertica实施与运维最佳实践 #### 一、概述 Vertica是一款高性能的企业级数据分析平台,主要用于处理大规模数据集的复杂查询。为了确保系统的高效稳定运行,合理的实施与运维策略至关重要。本文档将从多个方面...

    vertica jdbc驱动

    vertica jdbc驱动

Global site tag (gtag.js) - Google Analytics