问题标签 [vertica]

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 投票
1 回答
2308 浏览

sql - 用于获取最新行的 sql 查询 - 针对 Vertica DB 进行了优化

我这里有一张表,里面有数百万个条目。该表存储事件,每个事件都有一个时间戳。给定一些 WHERE 子句参数,我想要最近的事件。

这是我们想出的:

目前,这需要很长时间才能返回。有没有办法改变 SQL 以更快地给我我们想要的东西?此外,是否有针对此类事情的预测策略?

谢谢何塞

0 投票
3 回答
4937 浏览

sql - Vertica:重复/主键的数据验证

我正在尝试在加载期间创建一个验证过程,以确保数据不重复。Vertica 本身不支持此功能:

Vertica 在运行查询时检查约束违规,而不是在加载数据时检查。要在加载过程中检测约束违规,请使用带有 NO COMMIT 选项的 COPY(第 667 页)语句。通过加载数据而不提交数据,您可以使用 ANALYZE_CONSTRAINTS 函数对数据进行加载后检查。如果函数发现约束违反,您可以回滚加载,因为您尚未提交它。

问题是我无法弄清楚如何以编程方式执行此操作。我怀疑我需要一个存储过程,但我不熟悉 vertica 的存储过程语法/限制。你能帮我吗?这是我所拥有的:

我的想法是做一些条件逻辑。伪代码如下。你能帮我为 Vertica 做准备吗?

0 投票
2 回答
1713 浏览

oracle - 如何实现 ORACLE 到 VERTICA 的复制?

我正在创建从 Oracle 到 Vertica 的流程!我们正在寻求创建一个可以运行大量报告的 Vertica 数据库。现在一切都很酷 Vertica 快速空间使用非常好,一切都很好,直到我们进入将数据从 Oracle 传输到 Vertica 的主要部分。好的,初始加载没问题,从 Oracle 转储到 csv 到 Vertica,加载时间是个玩笑,到目前为止,每个人的事情都是不好的玩笑,或者发生了一些神奇的事情!好是简单快速。现在坏部分 -> 数据库正在运行 ORACLE/VERTICA - 我在 ORACLE 中更改了数据,因此我需要在 VERTICA 中复制我的数据。现在做什么:根据我的测试以及我对 Vertica 插入的了解,除非每秒最多 20 次,否则不使用更新 - 所以实时复制是不可能的。

因为 VERTICA 中的显式数据更改会导致性能下降。

所以我正在寻找一些关于如何解决这个问题的想法,我知道我不能:

  1. 改变我的 ORACLE 生产结构。
  2. 使用 ORACLE 环境资源过滤数据。
  3. 无法在我的 VERTICA 加载过程中使用插入、更新或删除语句。

我依赖的东西:

  1. 复制命令的使用
  2. 数据一致性
  3. 最多 60 分钟的窗口(每 60 分钟 - 新/更改的数据需要转到 VERTICA)。

我看过Continuent data replication,但现在好像有人想卖他们的产品,我联系不上他们。

0 投票
2 回答
7201 浏览

database - Vertica 中的 JOIN 因“内部分区不适合内存”而失败

我对来自十个连接表的大查询有疑问。我正在将数据从宽事实表 (f1) 迁移到星型模式。我首先从 f1 填充维度表,然后通过连接到维度表来填充新的事实表 (f2) 以获得相应的 ID。

不幸的是,我收到一个错误,“内部分区不适合内存”。从日志中我看到:

但这也不起作用,因为后来我得到:

这种情况持续了一段时间,而 Vertica 显然试图找到一种方法来执行连接,但最终因错误说连接不适合内存而退出。

是否有关于如何最小化执行连接所需的内存或为什么溢出到磁盘不起作用的任何提示?我可以处理性能问题,我只需要能够执行查询。

0 投票
1 回答
973 浏览

vertica - 如何在 Vertica 中重新分割投影?

我在生产中的一些表上运行了 analyze_workload,对一些表的一个建议是重新分割某些预测。输出告诉我重新分割投影的影响很小。

一个小问题。我在有关执行此操作的文档中找不到任何内容。除了创建新投影和删除旧投影之外,还有其他方法吗?这听起来不像是低影响,所以我会这么认为。

感谢您提前提供任何帮助。

0 投票
2 回答
3569 浏览

php - 使用 PHP 连接到 Vertica 数据库

有没有办法使用 PHP 连接到 Vertica 数据库——一个类似于 mysql_connect() 的函数?

我最终试图编写一个脚本,从 Vertica 数据库中提取数据并将其存储在 localhost MySQL 数据库中。

如有必要,我愿意使用 Python 来实现这一点。

0 投票
5 回答
6273 浏览

sql - Vertica 和连接

我正在调整一个网络分析工具以Vertica用作数据库。我遇到了真正的问题optimizing joins。我尝试为我的一些查询创建预连接投影,虽然它确实使查询变得非常快,但它减慢了数据加载到事实表中的速度。

我们用来将数据从临时表加载到事实表的简单INSERT INTO ... SELECT * FROM方法从大约 5 秒到需要 20 多分钟。

因此,我放弃了所有预加入投影并尝试使用数据库设计器来设计查询特定的投影,但这还不够。即使使用这些投影,一个简单的连接也需要约 14 秒,而使用预连接投影则需要约 1 秒。

我的问题是:预加入投影会减慢数据插入速度是否正常,如果不是,那么罪魁祸首可能是什么?如果它是正常的,那么它对我们来说就是一个阻碍,我们可以使用其他技术来加速连接吗?

我们在一个 5 节点集群上运行 Vertica,每个节点都有 2 个四核 CPU 和 32 GB 内存。我的示例查询中的表分别有 188,843,085 和 25,712,878 行。

EXPLAIN 输出如下所示:

0 投票
6 回答
4093 浏览

vertica - 最佳 Vertica 数据加载技术?

大家好!!-我在查看数据如何加载到 Vertica 时遇到一些问题!我需要知道这里是否有任何 Verticas dba!你们是怎么做到的??

我的意思是我有其他 RDBMS 作为前端,而 Vertica 在后面运行所有艰苦的工作等。由于 vertica 的事务性不能很好地工作!(更新速度很差)。

所以请我需要一些帮助!就像一个复制工具,或者如果它是用脚本或 ETL 完成的(哪个工具更好)!谢谢

0 投票
3 回答
1604 浏览

sql - 如何在 SQL 中对重叠数据进行分组

我有以下时尚的数据

现在我希望看到输出为

基本上我希望合并重叠数据。谁能帮我写代码。如果有 OVERLAPS 子句的解决方案,我可以在延迟的地方管理时间。

谢谢里沙布

0 投票
2 回答
5138 浏览

vertica - 在 Linux 上引导期间启动 Vertica 数据库

我在 Ubuntu 虚拟机中安装了 Vertica,我希望在引导期间启动一个特定的数据库,而不是我必须登录、打开 admintools 并从那里开始。

那么,是否有一个命令行可以让我在没有用户交互的情况下启动它?我应该在哪个运行级别添加它?另外,我使用特定用户来运行与 Vertica 相关的所有内容,是否需要在我的引导脚本中考虑到这一点?