返回顶部
首页 > 资讯 > 后端开发 > Python >chapter 3
  • 804
分享到

chapter 3

chapter 2023-01-31 03:01:13 804人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

 本节提供了Greenplum数据库的一个高层次的系统要求和功能概述。它包含以下主题: Greenplum的sql标准的一致性 Greenplum和postgresql的兼容性   Greenplum SQL Standard ConfOR

 本节提供了Greenplum数据库的一个高层次的系统要求和功能概述。它包含以下主题:

Greenplum的sql标准的一致性
Greenplum和postgresql的兼容性
 
Greenplum SQL Standard ConfORMance
SQL语言是首次正式在1986年由美国国家标准学会(ANSI)1986年作为SQL的标准化。
由ANSI SQL标准的后续版本已经发布,并作为国际标准化组织(ISO)标准组织:
SQL2003 SQL 1989,SQL 1992,SQL 1999,SQL 2003,SQL 2006,终于SQL2008年,这是当前的SQL标准。
该标准的正式名称是ISO/ IEC9075-14:2008。在一般情况下,每个新版本增加了更多的功能,虽然偶尔的功能已被弃用或删除。
 
重要的是要注意-没有商业数据库系统,是完全符合SQL标准。
Greenplum数据库是几乎完全符合SQL1992标准,大部分SQL1999功能。SQL2003的几个特点,也已实施(最显着的SQL OLAP功能)。
 
本节讨论的Greenplum数据的重要一致性问题,因为它们涉及到SQL标准。
Greenplum的最新的SQL标准的支持为功能功能列表,请参见附录K“SQL2008可选功能符合”。
 
Core SQL Conformance 
 
在建立并行,无共享数据库系统和查询优化器的过程中,一些常见的SQL结构目前尚未在Greenplum数据库上实现。下面的SQL不支持:
1. 对于关联子查询,greenplumn并行优化器不会在内部重写成无关联的joins形式.大部分简单的子查询能够工作,而不必手动地改写成外连接.
2. 有一小部分多行子查询, greenplumn并行优化器不会在内部重写成equijoins
3. 一些返回子查询(用EXISTS或者NOT EXISTS子句), greenplumn并行优化器不会在内部重写成join
4. 在子查询中用 UNION ALL关联表(UNioN ALL of joined tables with subqueries)
5. 返回值函数(set-returning)在子查询的from子句中
6. 向后类型的游标
7. 在create table 语句(在hash分布的表):UNIQUE或PRIMARY KEY语句必须包含所有的分布建的列.由于由此限制,只允许在create table语句中UNIQUE或PRIAMY KEY只允许出现一个, UNIQUE和PRIMARY KEY子句不允许出现在随机分布表里(random-distributed table)
8. CREATE UNIQUE INDEX语句不能包括所有的分布建, CREATE UNIQUE INDEX语句不能出现在随机分布表里(random-distributed table)
9. VOLATILE或者STABLE函数不能在子节点上执行,所以通常限制传入的文字值作为参数.( VOLATILE or STABLE functions cannot execute on the segments, and so are generally limited to being passed literal values as the arguments to their parameters)
10. 触发器不支持由于他们可以使用VOLATILE函数
11. Gp数据库不强制外键,用户可以定义外键,他们会保持在系统表中
12. 序列操作函数CURRVAL 和LASTVAL
13. DELETE WHERE CURRENT OF 和UPDATE WHERE CURRENT OF 
 
gp不支持的sql 1992语法如下:
 
1. NCHAR和NVARCHAR,在gp中只是作为CHAR和VARCHAR的同义词
2. CREATE ASSERTION语句
3. Gp支持INTERVAL,但是和标准的不一样
4. GET DIAGNOSTICS 语句
5. 对应字段GRANT INSERT或者UPDATE 的权利,在gp中只能对表授权
6. GLOBAL TEMPORARY TABLE 或LOCAL TEMPORARY TABLE.gp的TEMPORARY TBALE不是标准的sql定义,不过许多商业数据库系统用同一种方法实现TEMPORARY TABLE.gp数据库的临时表跟TERADATA的VOLITILE TABLE一样
7. UNIQUE 谓词
8. MATCH PARTIAL 完整性检查(MATCH PARTIAL for referential integrity checks)
 
gp不支持的sql 1999语法如下:
 
1. 大对象数据类型:BLOB,NCLOB,CLOB,gp中TEXT和BYTEA列可以代替他们
2. 递归WITH和WITH RECURSIVE语句,非递归的WITH字句可以很简单的用表的表达式来表示
3. MODULE(SQL 客户端模块)
4. CREATE PROCEDURE 可以在gp中用返回void的function函数来建立,调用该函数时,使用select myfunc(args)
5. postgresql和gp的函数定义语法pl/plsql是orcalce的pl/plsql的子集,不兼容sql/psm函数定义语法,gp支持函数使用python,perl,r语言来定义
6. BIT和BIT VARYING数据类型,这些在SQL 2003中被弃用,在SQL 2008中被重新启用
7. gp支持63位字符长度的标识符,标准SQL支持128位
8. prepared transactions(replace transaction,commit,prepared,rollback,prepared),这意味着gp不支持XA transaction
9. 在定义char() varchar()列中使用character set选项
10. 在char()或varchar()列中指定长度,例如:varchar(15 characters)
11. current_schema函数
12. create distinct type语句.在gp中可以使用create domain这个临时办法
13. explict table construct
 
gp不支持的sql 2003语法如下:
 
1. XML数据类型
2. IDENTITY列和关联的GENERATED ALWAYS/GENERATED BY DEFAULT子句.SERIAL或者BIGSERIAL数据类型跟INT或者BIGINT GENRATED BY DEFAULT AS IDENTITY很类似
3. MULTISET modifiers on data types
4. ROW 数据类型
5. gp数据库的序列语法是非标准的,比如gp中使用nextval(‘seq’)替代标准的NEXT VALUE FOR SEQ
6. CREATE ALWAYS AS 列,在gp中可以使用视图这个临时方法
7. SELECT语句中的样本子句(TABLESAMPLE),在gp中可以使用random()函数从表中获取随机的样本的临时方法
8. 在select语句和子句中使用NULL FIRST/NULL LAST(在gp中NULL总是出现在最后)
9. partitioned join tables结构(PARTITION BY  in a join)
10. 给字段GRANT SELECT 权限(在gp中权限只能给表),可以使用视图这个临时解决方案
11. 至于 FOR TABLE x(LIKE y)语法,gp不支持[INCLUDING|EXCLUDING] [DEFALUTS|CONSTRAINTS|INDEXS]语句
12. gp的数组类型跟大部分的标准SQL一样,除了少数情况,一般不建议使用
13. MERGE结构
 
gp不支持的sql 2008语法如下:
 
1. BINARY和VARBINARY数据类型.在gp中BYTEA用来代替VARBINARY
2. 在SELECT中的FTECH FIRST和FETCH NEXT子句,比如select id ,name from tabl1 order by id offset 20 rows fetch next 10 rows only;Gp使用limit和limit offset子句来替代
3. 在视图跟子查询中order by 语句会被忽略,除非使用limit子句.这是故意的.gp优化器为了避免排序带来的不确定的影响,作为临时解决方案,可以使用一个很大的limit(select * from mytable order by 1 limit 99999999)
4. row subquery语句不支持
5. truncate table不接受continue identity和restart identity子句
 
Greenplum and PostgreSQL Compatibility 
Greenplum数据库是基于对PostgreSQL8.2,从8.3版本增加了一些功能。为支持Greenplum数据系统分布式的性质和典型的工作负载,一些SQL命令已增加或修改,还有一些PostgreSQL的功能不支持。Greenplum的还增加了在PostgreSQL没有的功能,如物理数据分布,并行查询优化,外部表,工作负载管理和增强的表分区的资源队列。为完整的SQL语法和参考,请参阅第243页上的“SQL命令参考”。
 

--结束END--

本文标题: chapter 3

本文链接: https://lsjlt.com/news/187308.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • chapter 3
     本节提供了Greenplum数据库的一个高层次的系统要求和功能概述。它包含以下主题: Greenplum的SQL标准的一致性 Greenplum和PostgreSQL的兼容性   Greenplum SQL Standard Confor...
    99+
    2023-01-31
    chapter
  • Chapter 3. Introduci
    上一章是以介绍没有资源库支持的Ajax开始的,然后研究Prototype如何辅助实现,最后结束于Rails的helper体验。在这章,以及后面的第四、第五章,我们来研究一下Prototype以及他的辅助器,从最简单的link开始到绚丽多姿的...
    99+
    2023-01-31
    Chapter Introduci
  • Chapter 3 OpenStack认
    Chapter 3 OpenStack认证服务(Identity service)3.1 认证服务的概念OpenStack认证服务主要提供以下两种功能:跟踪用户及其权限通过API端点(endpoint)提供一组可用的服务在安装认证服务后,需...
    99+
    2023-01-31
    Chapter OpenStack
  • Chapter 2 安装 和升级 MySQL
    2.1 通用安装向导2.1.1 决定安装那个版本 的mysql 2.1.2 如何获取 MySQL2.1.3 安装布局 Layouts(布局)2.1.4 编译指定特性Compiler-Specific Bui...
    99+
    2024-04-02
  • Chapter 2.PHP8.1 新特性fiber及原理浅析
    欢迎来到「我是真的狗杂谈世界」,关注不迷路 前言 很早就听说PHP8.1出了Fiber(又称纤程),但一直也没时间捣鼓它, 正好前段时间在整理PHP的新特性/功能,想看看有没有什么可以给日常开发带来便...
    99+
    2023-09-01
    php 开发语言
  • Chapter 15: Object-Oriented Programming | Python for Everybody 讲义笔记_En
    文章目录 Python for Everybody课程简介Object-oriented programmingManaging larger programsGetting startedU...
    99+
    2023-09-30
    python 笔记 前端 学习
  • 2008-3-3
    发现eva老是出现问题,版本过时。。现在用了webim就是舒服多了[url]http://www-c2.meebo.com.cn/index.html[/url]注册一下,可以绑定msn和qq,不需要再安装其他软件啦。哈哈ubuntu下安装...
    99+
    2023-01-31
  • [图文直播]微软Windows 10“The Next Chapter”发布会现场直播
    微软今年最受关注的项目当属Windows 10,在上一轮的发布会上,微软出人意料地公布了这一名字,在数个技术预览版的发布和更新之后,微软的Windows开发版本号已经提升到了5位数,新系统到底在易用性上改变了多少,对于急...
    99+
    2023-06-10
    微软发布会 Win10发布会 windows10发布会 Windows 10 The Next Chapter 微软 发布会 直播
  • 马哥3-3
    命令别名:        alias在shell中定义的别名只在当前shell生命周期有效,别名的有效范围为当前shell进程        unalias  撤销 命令替换        $,  反引号文件名通配:*:任意长度的任意字符?...
    99+
    2023-01-31
    马哥
  • 3.redis集群部署3主3从
    redis集群部署 一:安装redis (使用redis3.0.6版本),同《1.redis安装》1.下载源码$ tar xzf redis-3.0.6.tar.gz$ cd redis-3.0.6$ make   2、编译完成后,在Src...
    99+
    2023-01-31
    集群 redis
  • 2017.12.27 3周3次课
    三周第三次课(12月27日)3.7 su命令3.8 sudo命令3.9 限制root远程登录3.7 su命令su命令就是切换用户的工具,通过su可以在用户之间切换,如果超级权限用户root向普通用户切换不需要密码,而普通用户切换到其它任何用...
    99+
    2023-01-31
  • 3-3 SQL Server 2005数
    3-3 SQL Server 2005数据库优化 u      了解数据库引擎优化顾问基本内容 u      掌握数据库引擎优化顾问的使用 u      掌握通过命令行的方式进行索引的优化——DTA     一个数据库系统的性能依赖于组成...
    99+
    2023-01-31
    SQL Server
  • ×××3
       ...
    99+
    2023-01-31
  • 树莓派3(Raspberry Pi 3)
    ·树莓派3(Raspberry Pi 3)安装Win10 IOT1、格式化SD卡(用SDFormatter工具) 2、下载noobs lite即可(https://www.raspberrypi.org/downloads/noobs/),...
    99+
    2023-01-31
    树莓派 Raspberry Pi
  • python学习整理--3/3
    今天又重新学起了python这门语言,带着新的目的和又涨一岁的自己,其实早在去年的暑期曾学过一段时间,但是最后无疾而终,这次我真心希望可以掌握一门实用的语言来充实自己,之前的学的不论是c还是java,自我感觉除了做题以外一点都用不上,但感觉...
    99+
    2023-01-31
    python
  • ⒉设置 Bash 选项[3-3]
    <!-- @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimS...
    99+
    2023-01-31
    选项 Bash
  • Python -- 操作字符串[3/3]
     1,splitlines() yuan@ThinkPad-SL510:~$ ipython -nobanner  In [1]: multiline_string = """This    ...: is    ...: a multi...
    99+
    2023-01-31
    字符串 操作 Python
  • 2007-3-3第一天CCNA课
    主要知识点总结: 1.CISCO类产品常用标识:路由器,二层交换机,三层交换机,局域网,广域网,internet,.Frame-Relay各种画法表示: 2.网络设计模型: 接入层:用户接口; 分发层(会话层):公司出口 核心层:ISP  ...
    99+
    2023-01-31
    CCNA
  • java 3
    基本类型类型转换1.自动,小-大,byte,short,char---”x++ += *=- /=”强制 大-小   short-char, 三元运算符、整数强转 --> 从高位截断2.  进制整数---4种二进制--以 0b 0B开...
    99+
    2023-01-31
    java
  • stp 3
    一、STP概述   STP(生成树协议)是一个二层管理协议。在一个扩展的局域网中参与STP的所有交换机之间通过交换桥协议数据单元bpdu(bridge protocol data unit)来实现;为稳定的生成树拓扑结构选择一个根桥;为每个...
    99+
    2023-01-31
    stp
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作