PostgreSQL Replication之第十二章 与Postgres-XC一起工作(5)
12.5 创建表和发送查询
介绍了Postgres-XC以及其底层的思想之后,是时候创建我们的第一个表,看看集群将如何表现。下面的例子演示了一个简单的表。将使用id列的哈希键来分布它:
test=# CREATE TABLE t_test (id int4)
DISTRIBUTE BY HASH (id);
CREATE TABLE
test=# INSERT INTO t_test
SELECT * FROM generate_series(1, 1000);
INSERT 0 1000
一旦表被创建,我们可以给它添加数据。完成后,我们可以检查是否数据已经被正确地写入到集群中:
test=# SELECT count(*) FROM t_test;
count
-------
1000
(1 row)
不奇怪,我们在我们的表中得到了1000条数据。
这里有趣的事情是查看数据是如何被数据库引擎返回的。让我们来看看我们的查询的执行计划:
test=# explain (VERBOSE TRUE, ANALYZE TRUE,
NODES true, NUM_NODES true)
SELECT count(*) FROM t_test;
QUERY PLAN
-------------------------------------------------------
Aggregate (cost=2.50..2.51 rows=1 width=0)
(actual time=5.967..5.970 rows=1 loops=1)
Output: pg_catalog.count(*)
-> Materialize (cost=0.00..0.00 rows=0 width=0)
(actual time=5.840..5.940 rows=3 loops=1)
Output: (count(*))
->Data Node Scan (primary node count=0,
node count=3) on
"__REMOTE_GROUP_QUERY__"
(cost=0.00..0.00 rows=1000 width=0)
(actual time=5.833..5.915 rows=3 loops=1)
Output: count(*)
Node/s: node2, node3, node4
Remote query: SELECT count(*) FROM
(SELECT id FROM ONLY t_test
WHERE true) group_1
Total runtime: 6.033 ms
(9 rows)
PostgreSQL将执行一个所谓的数据节点扫描。这意味着PostgreSQL将从集群中所有相关的节点收集数据。如果您仔细观察,您可以看到,哪些查询将被推到集群内部的这些节点。重要的是,该计总数已经传送到远程节点。所有这些总数来自我们的四个将被折合成一个单一总数的节点。这种方案比简单的本地查询要复杂的多,但是,随着数据量的增长,它会是非常有益的,因为每个节点将只执行操作的一个子集。事实上,当许多东西并行执行的时候,每个节点执行操作的一个子集特别地有用。
Postgres-XC优化器可以在许多情况下把操作推到数据节点,这是很好的表现。但是,您还是应该密切关注您的执行计划,以确保您有合理的计划。
PostgreSQL Replication之第十二章 与Postgres-XC一起工作(5)的更多相关文章
- PostgreSQL Replication之第十二章 与Postgres-XC一起工作(7)
12.7 处理故障转移和删除节点 在本节中,我们将看看故障切换如何处理.我们还将看看如何使用安全可靠的方法添加节点到Postgres-XC设置以及如何从Postgres-XC设置删除节点. 12.7. ...
- PostgreSQL Replication之第十二章 与Postgres-XC一起工作(4)
12.4 性能优化 Postgres-XC不是一个奇特的PostgreSQL版本,而是一个真正的分布式系统.这意味这,您不能只存储数据,希望事情超出服务器之外的快速,高效.如果您想优化速度,思考数据是 ...
- PostgreSQL Replication之第十二章 与Postgres-XC一起工作(3)
12.3 配置一个简单的集群 在本章中,我们要建立一个由三个数据节点组成的集群.一个协调节点,以及管理集群的全局事务管理节点.对于每个组件,我们必须创建一个目录: hs@vm:~/data$ ls - ...
- PostgreSQL Replication之第十二章 与Postgres-XC一起工作(1)
在本章中,我们希望将我们的注意力集中在写可扩展,多主,同步,对称和PostgreSQL的称为Postgres-XC(PostgreSQL eXtensible Cluster)的透明复制方案.该项目的 ...
- PostgreSQL Replication之第十二章 与Postgres-XC一起工作(2)
12.2安装 Postgres-XC 可以从 http://postgres-xc.sourceforge.net/下载Postgres-XC.对于本书,我们使用1.0.3版本的Postgres-XC ...
- PostgreSQL Replication之第十二章 与Postgres-XC一起工作(6)
12.6 添加节点 Postgres-XC允许您在那个过程中的任何一个时间点添加新的服务器到计划中.所有您需要做的是按照我们之前演示的设置一个节点,并在 控制器上调用CREATE NODE.然后,该系 ...
- PostgreSQL Replication之第十四章 扩展与BDR
在这一章中,将向您介绍一个全新的技术,成为BDR.双向复制(BDR),在PostgreSQL的世界里,它绝对是一颗冉冉升起的新星.在不久的将来,许多新的东西将会被看到,并且人们可以期待一个蓬勃发展的项 ...
- PostgreSQL Replication之第十五章 与Walbouncer 一起工作
与Walbouncer 一起工作 在本书的最后一章,将引导您通向2014年发布的一个工具,称为walbouncer.本书中的大多数技巧说明了如何复制整个数据库实例,如何分片,等等.在最后一章,是关于w ...
- PRML读书会第十二章 Continuous Latent Variables(PCA,Principal Component Analysis,PPCA,核PCA,Autoencoder,非线性流形)
主讲人 戴玮 (新浪微博: @戴玮_CASIA) Wilbur_中博(1954123) 20:00:49 我今天讲PRML的第十二章,连续隐变量.既然有连续隐变量,一定也有离散隐变量,那么离散隐变量是 ...
随机推荐
- convert from base 10 to base 2
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION Hence, we convert fro ...
- Comparable与Comparator
转载 Comparable与Comparator的区别 (转载) Comparable & Comparator 都是用来实现集合中元素的比较.排序的,只是 Comparable 是在集合内部 ...
- 告诉你Hadoop是什么
Hadoop是什么?Hadoop是一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算. Hadoop框架中 ...
- linux OSlab4 添加自定义系统调用
http://blog.csdn.net/ly01kongjian/article/details/8947285 http://www.cnblogs.com/hoys/archive/2011/0 ...
- hadoop与云技术、云计算混肴澄清
本文引用自:http://www.aboutyun.com/blog-61-248.html 一.初学者问题: 请教个问题在实际的生成环境里面,数据源产生的地方部署Hadoop,还是需要程序把数据给迁 ...
- POI简易帮助文档系列--给Excel设置样式
正如Html需要CSS一样,我们的POI生成的Excel同样需要样式才能更完美的表现我们的数据.下面还是从简单的例子出发,学习和了解POI的样式设计. 一.我的位置. package com.myja ...
- springmvc返回值、数据写到页面、表单提交、ajax、重定向
实验是在前一篇文章的项目上做的: 数据写到页面 后台往前台传数据 TestController添加 /** * 方法的返回值采用ModelAndView, new ModelAndView(" ...
- 1011 最大公约数GCD
1011 最大公约数GCD 基准时间限制:1 秒 空间限制:131072 KB 输入2个正整数A,B,求A与B的最大公约数. Input 2个数A,B,中间用空格隔开.(1<= A,B < ...
- SQL Server 视图修改后有错怎么办?
sp_refreshview 视图名:刷新指定视图 spsqlrefreshallviews:刷新全部视图
- android studio 0.8.11 如何导入Library(新手向)
网上下了个ViewPagerIndicator的库,下载下来是个zip包,解压开来,里面有一个library和一个sample文件夹,还有一些其他的配置文件. 其中library就是我们新项目中要引入 ...