问题标签 [paraccel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
352 浏览

analytics - ParAccel 的 FastLoad(在 Teradata 中)等价物是什么?

我最近从 Teradata 转移到 ParAccel,并在 SAS 环境中使用我的 BI DBMS。Teradata 具有此实用程序FastLoad,可用于快速、更高效地加载大型数据集。我经常不得不使用这个实用程序将数据集从 SAS 库传输到 Teradata。我想知道 ParAccel 是否也有类似的实用程序/命令/功能。任何帮助将不胜感激。

0 投票
1 回答
4719 浏览

amazon-redshift - 没有函数或存储过程的 Amazon RedShift 中的 Upsert

由于 RedShift 中不支持用户定义的函数或存储过程,我如何UPSERT在使用 ParAccel(PostgreSQL 8.0.2 fork)的 RedShift 中实现机制。

目前,我正在尝试使用 IF...THEN...ELSE... 语句来实现 UPSERT 机制,例如:-

这给了我错误。因为我正在独立编写此代码,而不将其包含在函数或 SP 中。那么,是否有任何解决方案来实现 UPSERT。

谢谢

0 投票
1 回答
1150 浏览

postgresql - postgresql 游标更新缓慢

作为一个简短的前言,我是 postgresql 的新手。此外,我需要建议的 postgresql 版本是 8.1。原因是 postgresql 8.1 是 ParAccel 实现和支持的该语言的最后一个版本。

Postgresql 游标,至少在 8.1 中,对于 DML 操作(例如 UPDATE 或 INSERT)非常慢(尚未测试 DELETE,但假设它是相同的)。这只是一个示例来演示:

用某个表中的一些记录填充它:

tab_cur_DML_test 现在有几千条记录,只有两个字段

运行后:

速度大约为每 30 秒一千条记录。

同样,这只是一个简单的更新,可以作为基于集合的操作来完成。我在这里使用它只是为了模拟游标的逐行处理。在需要逐行处理的类似实际任务情况下,在使用普通 sql 不会做或过于庞大和/或复杂的情况下,使用具有如此低处理速度的游标很简单成为不可行的选择。

我怀疑这是由于数据库引擎中的上下文切换而发生的。我的问题是是否有任何可能的解决方法(或只是某种特定的方式)来显着改善 postgresql 8.1 游标中的逐行逻辑,如果这很重要的话 - 在 ParAccel (v. 4.0) 中?

谢谢!

斯坦尼斯拉夫

0 投票
2 回答
6749 浏览

amazon-web-services - amazon redshift 中的并发查询性能

在 Amazon Redshift 上,并发查询会影响彼此的性能吗?

例如,假设有两个查询:一个在相对较小的表(~5m 行)上检索所有行,另一个在大表(~500m)行上。两个表都有相同的字段,都没有压缩。两个查询都检索各自表中的所有数据以计算其结果。没有连接或过滤器。两个查询都检索大约 2-4 个字段进行计算。

自行运行,小查询在大约 700 毫秒内返回。然而,当大查询正在运行时(这本身需要几分钟),小查询会在 4-6 秒内返回。

这是在具有单个 XL 节点的集群上观察到的行为。

这是预期的行为吗?是否有一个配置设置可以保证小查询的性能一致性,即使大查询正在运行?

0 投票
1 回答
3228 浏览

amazon-web-services - Amazon Redshift Equality 过滤器性能和排序键

Redshift 是否有效地(即二进制搜索)找到在列 A 上排序的表块,用于条件 A= 的查询?

举个例子,假设有一个表 T 有约 500m 行,约 50 个字段,在字段 A 上分布和排序。字段 A 具有高基数 - 所以有约 4.5 m 不同的 A 值,其中的行数完全相同T:每个值约 100 行。
假设一个带有单个 XL 节点的 redshift 集群。
字段 A 未压缩。正如 ANALYZE COMPRESSION 所建议的,所有其他字段都有某种形式的压缩。与未压缩的表相比,给出了 1:20 的比率。

给定一个简单的查询:

在 VACUUM 和 ANALYZE 之后给出以下解释计划:

此查询需要 39 秒才能完成。
主要问题是:这是红移的预期行为吗?

根据 选择最佳排序键的文档:
“如果您对一列进行频繁的范围过滤或相等过滤,请将该列指定为排序键。Redshift 可以跳过读取该列的整个数据块,因为它会跟踪最小值和存储在每个块上的最大列值,并且可以跳过不适用于谓词范围的块。 "

选择排序键中:
“另一个依赖于排序数据的优化是有效处理范围受限的谓词。Amazon Redshift 将列数据存储在 1 MB 磁盘块中。每个块的最小值和最大值作为元数据的一部分存储。如果一个范围受限的列是一个排序键,查询处理器能够使用最小值和最大值在表扫描期间快速跳过大量块。例如,如果一个表存储了按日期排序的 5 年数据,并且一个查询指定一个月的日期范围,最多可以排除98%的磁盘块,如果数据没有排序,则需要扫描更多的磁盘块(可能是全部)。有关这些优化的信息,请参阅选择分发键。 "

次要问题:
上述对排序键的跳过扫描的复杂性是多少?它是线性的( O(n) )还是二进制搜索的某种变体( O(logn) )?
如果对键进行排序 - 是否跳过唯一可用的优化?
这种“跳过”优化在解释计划中会是什么样子?
以上解释是否是此查询的最佳解释?
在这种情况下,预计红移最快的结果是什么?
vanilla ParAccel 在这个用例中是否有不同的行为?

0 投票
4 回答
20260 浏览

amazon-web-services - 如何在 RedShift / ParAccel 中测量磁盘上的表空间

我在 RedShift 中有一张桌子。如何查看它使用了多少磁盘空间?

0 投票
1 回答
163 浏览

c# - ASP.net Paraccel 连接字符串

我想知道是否有人知道如何将 ASP.net 应用程序连接到 paraccel?我对 ASP.net 开发非常陌生,刚刚安装了 Visual Studio。但是,我的任务是创建一个连接到 paraccel 的 Web 服务,以便另一个非 asp.net 应用程序获得它需要的东西。我了解需要在 Web.config 文件中设置连接字符串,但是我找不到任何用于 paraccel 的示例

0 投票
1 回答
126 浏览

amazon-redshift - ParAccel 中存在哪些编码?

任何人都有 ParAccel 文档的链接,我可以在其中找到 ParAccel 具有的所有列编码以及每个列的描述和示例?

谢谢!

0 投票
2 回答
6862 浏览

amazon-redshift - RedShift / ParAccel 中 UNION 选择查询的性能非常差

我有两个红移表:

  • tbl_current_day - 大约 450 万行
  • tbl_previous_day - 大约 450 万行,数据与 tbl_current_day 完全相同

除此之外,我还有一个名为qry_both_days的视图,定义如下:

当我在其中一个单独的表上运行查询时,我得到了预期的非常好的性能。例如,以下查询运行 5 秒:

解释计划:

请注意,宽度应该是 4 个字节,因为我的列是 int 类型。

但是,当我在 qry_both_days 上运行相同的查询时查询的运行速度会慢 20 倍,而我希望它的运行速度只会慢 2 倍,因为它应该多行两倍:

解释计划:

问题:宽度现在是 190,而不是应该的 4 个字节!!!有人知道如何让 RedShift 只选择 UNION SELECT 上的相关列吗?

谢谢!

0 投票
1 回答
2906 浏览

amazon-redshift - 在 RedShift 中第一次执行查询时运行时间长

我注意到我第一次在 RedShift 上运行查询需要 3-10 秒。当我再次运行相同的查询时,即使在 WHERE 条件下使用不同的参数,它也运行得很快(0.2 秒)。查询我说的是在一个约 1M 行的表上运行,在 3 个整数列上。

执行时间的巨大差异是否是由于 RedShift 在第一次运行时编译查询,然后重新使用已编译的代码这一事实造成的?

如果是 - 如何始终保持编译查询的缓存温暖?

还有一个问题:给定 queryA 和 queryB。假设 queryA 首先被编译和执行。queryB 应该与 queryA 有多相似,这样 queryB 的执行将使用为 queryA 编译的代码?