2012-08-12 52 views
1

我在我的系统中有一个大的分析模块,并计划使用vertica。 有人建议我们在我们的应用程序的其余部分(标准crud应用程序与我们的域中的模型)中使用vertica,以免管理多个数据库。Vertica for non-analytics

vertvertica是否适合这种双重场景?

回答

1

这些日子通常是这样,一个有意义的答案取决于你需要做什么。从一般意义上说,“大数据”解决方案已经从RDBMS系统中的大数据量缺陷发展而来。没有“大数据”解决方案可以与RDBMS系统的核心功能(即复杂分析)竞争,但RDBMS系统是大数据量处理的差(昂贵)解决方案。现在实用的解决方案必须是混合解决方案。一旦数据加载完成,Vertica可能会很好,但我相信(不是专家),它需要数据的非规范化和预加载前的预先排序才能达到最佳效果。对于大数据量,这可能会显着增加所需的资源。使用一个系统满足您的所有需求是一个明显的好处,但保持选项开放也有好处。

我采取的方法是存储和索引新数据,然后根据需要为各种报告/分析引擎提供特定的供稿。这将原始数据的收集和存储与复杂的分析处理分开。如果您有兴趣,我很乐意提供更多细节。这种分离解决了数据库系统中一直存在的核心问题。在过去,您曾经听过'快速存储,慢速报告或缓慢存储,快速报告,但不能同时存在'。在过去的几年中,搜索完整的解决方案产生了许多通常解决“快速存储”任务的NoSQL产品。有些系统还通过将数据存储在内存或缓存中提供令人印象深刻的查询性能,但这需要很多服务器来处理大量数据。我相信NoSQL和SQL解决方案可以并且将会被整合,但这是直到现在。

为了给您提供一些背景知识,我使用了每天至少加载10亿条记录的场景。如果您每天处理1亿条记录(大是相对的),那么您的Vertica方法可能就足够了,否则我认为您需要扩展您的选项。

+0

我想听到更多关于你的方法对需求分离所需(如CRM和等)。你使用不同的数据库吗? – 2012-08-13 11:37:20

+0

我使用从电信工作中发展起来的系统。我们现在把它称为BDsafe(仍然是发布之初的一般用途,它可能会成为开源)。基本上,它以CSV格式存储记录并在指定的字段上创建外部索引。您可以查看[BDsafe](http://www.dt2pte.com)了解一般详情和示例。虽然尚未开源,但没有许可证费用。目的是让人们尝试它。我们认为这是在大数据领域工作的一个很好的起点。 – 2012-08-13 14:12:59

+0

谢谢,看起来很有趣 – 2012-08-13 16:52:52

4

高频率更新可能是Vertica滞后最糟糕的地方。我会避免将它用于这种数据模型。

2

亚历克 - 我想尊重您对Vertica的评论。在加载之前,您不需要对数据进行非规范化或排序。 Vertica还拥有在所有数据库中加载数据速度最快的记录。

您还谈到了Vertica无法执行复杂分析以及RDBMS。 Vertica是一个RDBMS,可以比其他任何RDBMS更快地进行分析,并且它们一遍又一遍地证明它。

就您的数字而言,在我的使用案例中,我每秒向我的Vertica群集中加载大约500万条记录,并拥有数百亿记录。

So Yaron - 我强烈建议您在Vertica基于此信息排除之前查看Vertica。

+0

乔 - 谢谢,你有每一秒载入的所有这些记录是否立即可用于查询或在这种负载中是否有延迟? – 2012-08-25 19:54:20

+0

Yaron - 在Vertica中执行加载时,只要提交完成,记录即可用。所以你必须等待整个文件被加载才能使用。如果您需要更快提供它们,还有其他选项。 – Joe 2012-09-18 12:32:08

1

测试它。每个用例都不相同。假设Vertica是每个用例的解决方案,与使用MongoDB for every use case几乎一样糟糕。

Vertica是一款高性能分析数据库,专门用于分析难以置信的大数据集和水平缩放。它也很昂贵,很难管理,而且文档很少见。在合适的环境中获得回报可能很容易,值得工作,MySQL是一种传统的面向行的RDBMS,旨在建模结构化数据之间的关系,并且在单个节点规模上运行良好(尽管许多公司已对其进行了改进取得巨大成功,模范特惠,Facebook)。它的记录非常好,看起来可以在任何平台,语言或框架上运行,并且可以被任何人使用。

我的猜测是使用Vertica作为员工地址簿数据库,就像是在3000美元的套装中显示蓝领工作。当然,它工程,但它是工作的正确工具?也许如果您已经拥有Vertica许可证,并且您的应用程序已经具备必要的数据适配器/ ORM /等...,请继续并尝试一下。它仍然是一个SQL数据库,所以它应该在这些情况下正常工作。如果您的目标是最小编程而不是最佳性能,那么为什么要使用Vertica?听起来更简单会更理想。 Vertica可能会或可能不会在常规的CRUD应用程序环境中提供更好的性能,因为它没有针对此优化进行优化,但您可以随时测试并查看。

1

Vertiy有很多高并发问题(每分钟很多小事务) 在MPP系统中,数据在整个群集中被分段,每当需要进行群集级锁定时(主要是在提交时间内)提交了许多集群级别的X锁。 高并发性不如DWH和报告中的用例,因此vertica非常适合这种情况。 在大多数情况下OLTP解决方案,为客户提供高并发性已很是不错的选择

感谢