• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >云计算 > Greenplum+Hadoop学习笔记-15-管理数据,hadoop-15-

Greenplum+Hadoop学习笔记-15-管理数据,hadoop-15-

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含Greenplum+Hadoop学习笔记-15-管理数据,hadoop-15-等服务器相关知识,网友希望可以进行参考

Greenplum+Hadoop学习笔记-15-管理数据,hadoop-15-


7.管理数据

7.1.关于GP的并发控制

1)        GP使用多版本控制模型(Mutltiversion Concurrency Control/MVCC)保持数据一致性;

可将MVCC看成行级别锁的一种妥协,它在许多情况下避免了使用锁,同时可以提供更小的开销。根据实现的不同,它可以允许非阻塞式读,在写操作进行时只锁定必要的记录。MVCC会保存某个时间点上的数据快照。这意味着事务可以看到一个一致的数据视图,不管他们需要跑多久。这同时也意味着不同的事务在同一个时间点看到的同一个表的数据可能是不同的。如果你从来没有过种体验的话,可能理解起来比较抽象,但是随着慢慢地熟悉这种理解将会很容易。

2)        MVCC以避免给数据库事务显式锁定的方式,最大化减少锁争用以确保多用户环境下的性能;

3)        GP提供了各种锁机制来控制对表数据的并发访问;

4)        GP为每个事务提供事务隔离;

5)        GP的锁模式:

锁模式

相关SQL命令

冲突的锁

ACCESS SHARE

SELECT

ACCESS EXCLUSIVE

ROW SHARE

SELECT FOR UPDATE, SELECT FOR SHARE

EXCLUSIVE, ACCESS EXCLUSIVE

ROW EXCLUSIVE

INSERT, COPY

SHARE, SHARE ROW EXCLUSIVE, EXCLUSIVE, ACCESS EXCLUSIVE

SHARE UPDATE EXCLUSIVE

VACUUM (without FULL), ANALYZE

SHARE UPDATE EXCLUSIVE, SHARE, SHARE ROW EXCLUSIVE, EXCLUSIVE, ACCESS EXCLUSIVE

SHARE

CREATE INDEX

ROW EXCLUSIVE, SHARE UPDATE EXCLUSIVE, SHARE ROW EXCLUSIVE, EXCLUSIVE, ACCESS EXCLUSIVE

SHARE ROW EXCLUSIVE

ROW EXCLUSIVE, SHARE UPDATE EXCLUSIVE, SHARE, SHARE ROW EXCLUSIVE, EXCLUSIVE, ACCESS EXCLUSIVE

EXCLUSIVE

DELETE, UPDATE

ROW SHARE, ROW EXCLUSIVE, SHARE UPDATE EXCLUSIVE, SHARE, SHARE ROW EXCLUSIVE, EXCLUSIVE, ACCESS EXCLUSIVE

ACCESS EXCLUSIVE

ALTER TABLE, DROP TABLE, TRUNCATE, REINDEX, CLUSTER, VACUUM FULL

ACCESS SHARE, ROW SHARE, ROW EXCLUSIVE, SHARE UPDATE EXCLUSIVE, SHARE, SHARE ROW EXCLUSIVE, EXCLUSIVE, ACCESS EXCLUSIVE

7.2.插入新纪录

1)        需要表名和该表每列的值使用INSERT命令插入数据,GP是自动提交;

2)        显式的指定列名插入数据,当不知道当前表中列名时;

3)        从另一个表中获取并插入到当前表;

4)        使用一个命令插入多条记录,AO表为批量装载做了优化,不建议在AO表上使用单条的INSERT语句。

devdw=# \h insert         查看当前insert命令的帮助

Command:     INSERT

Description: create new rows in a table

Syntax:

INSERT INTO table [ ( column [, ...] ) ]

    { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | query }

    [ RETURNING * | output_expression [ AS output_name ] [, ...] ]

 

devdw=# \d tb_cp_02

      Table "public.tb_cp_02"

 Column |     Type     | Modifiers

--------+--------------+-----------

 id     | integer      |

 rank   | integer      |

 year   | integer      |

 gender | character(1) |

 count  | integer      |

Indexes:

    "bmidx_01" bitmap (count)

Number of child tables: 5 (Use \d+ to list them.)

Distributed by: (id)

 

devdw=# insert into tb_cp_02(id,rank,year,gender,count) values (1,2,3,'M',4);  往tb_cp_02表中逐个字段的添加数据

INSERT 0 1

 

devdw=# select * from tb_cp_02;   查看当前tb_cp_02表中数据

 id | rank | year | gender | count

----+------+------+--------+-------

  1 |    2 |    3 | M      |     4

(1 row)

 

 

devdw=# insert into tb_cp_02(rank,year,gender,count,id) values (3,4,'W',5,2);  往tb_cp_02表中随机字段的添加数据

INSERT 0 1

devdw=# select * from tb_cp_02;

 id | rank | year | gender | count

----+------+------+--------+-------

  1 |    2 |    3 | M      |     4

  2 |    3 |    4 | W      |     5

(2 rows)

devdw=# insert into tb_cp_02  select * from tb_cp_02; 通过查询tb_cp_02表中数据后再往其中插入数据

INSERT 0 2

devdw=# select * from tb_cp_02;

 id | rank | year | gender | count

----+------+------+--------+-------

  1 |    2 |    3 | M      |     4

  1 |    2 |    3 | M      |     4

  2 |    3 |    4 | W      |     5

  2 |    3 |    4 | W      |     5

(4 rows)

 

7.3.更新记录

Command:     UPDATE                                 查看update的帮助

Description: update rows of a table

Syntax:

UPDATE [ ONLY ] table [ [ AS ] alias ]

    SET { column = { expression | DEFAULT } |

          ( column [, ...] ) = ( { expression | DEFAULT } [, ...] ) } [, ...]

    [ FROM fromlist ]

    [ WHERE condition ]

    [ RETURNING * | output_expression [ AS output_name ] [, ...] ]

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Greenplum+Hadoop学习笔记-15-管理数据,hadoop-15-

相关文章

  • RegionServer功能职责,regionserver职责
  • Spark性能优化:shuffle调优
  • Scala 有几种其它的循环结构,scala几种循环结构
  • LXC学习,学习中国app上线
  • MapReduce编程之实现多表关联,mapreduce编程关联
  • Hbase详解—–管理 Splitting,hbase详解splitting
  • Hadoop知识汇总,hadoop汇总
  • 如何配置和使用Pivotal Cloud Foundry里的HAPorxy(下),pivotalhaporxy
  • Redis源码学习-Lua脚本,redis源码-lua
  • Hadoop之——HDFS命令,hadoophdfs

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • linux screen 使用方法,linuxscreen
    • openstack-glance API 镜像管理的部分实现和例子,openstackglance
    • Andrew Ng机器学习课程9-补充,andrew9-
    • Spark RDD API扩展开发(1),sparkrdd
    • 代码review,代码review什么意思
    • JS中split用法和数组中元素的删除,jssplit
    • hadoop2.7配置HA,使用zk和journal,hadoop2.7zk
    • MapReduce编程之WordCount,mapreducewordcount
    • Hbase:namespace异常处理,hbase异常处理
    • 通过 JMX 获取Hadoop/HBase监控数据,jmxhadoop

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有