我正在为我们的网站构建一些报告内容(一个体面的网站,每天可以获得数百万的综合浏览量),我想知道是否有任何好的免费/开源数据仓库系统。
具体来说,我只寻找存储数据的东西 - 我计划为它构建一个自定义前端/ UI,以便显示我们关心的信息。但是,我不想为此构建一个自定义数据库,虽然我很确定SQL数据库在这里不起作用,但我不确定要使用什么。任何有用文章的指针也将受到赞赏。
编辑:我应该提一下 - 我简要介绍过的一个数据库是MongoDB。看起来它可能有用,但他们的“用例”特别提到数据仓库为“不太适合”:http://www.mongodb.org/display/DOCS/Use+Cases。此外,它似乎并不专门针对数据仓库。
答案 0 :(得分:5)
http://www.hypertable.org/可能正是您正在寻找的(我将通过上面的描述)来存储大量已记录的数据并进行规范化。即访客日志。
Hypertable基于谷歌的bigTable项目。 请参阅http://code.google.com/p/hypertable/wiki/PerformanceTestAOLQueryLog了解基准
你失去了基于SQL的dbs的关系功能,但你在性能上获得了很多。你可以轻松地使用超强每小时存储数百万行(可承受硬盘空间)。
希望有所帮助
答案 1 :(得分:3)
我可能无法正确理解问题 - 但是,如果您有时间(重新)访问Kimball的“数据仓库工具包”,您会发现基本DW所需的只是普通的SQL数据库换句话说,你可以使用MyISAM为存储引擎构建一个体面的DW。问题只在于所需的信息粒度 - 您想要保留的内容和持续时间。如果您的报告主要是定期的,并且您实施报告存储或缓存,则不需要存储预先计算的聚合(不需要多维数据集)。换句话说,具有缓存报告的Kimball明星在许多情况下可以提供不错的表现。 您还可以查看社区版“Pentaho BI Suite”(开源),以便快速了解ETL,分析和报告 - 并在深入定制开发之前进行一些实验以评估性能。 虽然这可能不是您所期望的,但值得考虑。
答案 2 :(得分:3)
答案 3 :(得分:2)
除了Mike的高效答案,你可能想看看Apache的Hadoop项目:
它们提供了许多可能对您的应用程序有用的工具,包括HBase,BigTable概念的另一个实现。我想,对于报告,您可能会发现他们的mapreduce实现也很有用。
答案 4 :(得分:2)
这一切都取决于数据以及您打算如何访问它。 MonetDB是一个面向列的数据库引擎,来自最具革命性的数据库技术团队。他们just got VLDB's 10-year best paper award。数据库是开源的,有plenty of reviews online赞美它们。
也许您应该看一下TPC,看看哪些测试问题数据集最符合您的情况并从那里开始工作。
同时考虑并发的需要,它为任何类型的方法增加了很大的开销,有时并不是真正需要的。例如,您可以预先消化一些摘要或索引数据,并且只保留高并发性的数据。分析数据查询是以下步骤。
关于SQL,我也不喜欢它,但我不认为只是因为前端语言才能排除引擎。
答案 5 :(得分:0)
我看到一个类似的问题,并考虑使用普通的MyISAM和http://www.jitterbit.com/作为数据访问层。 Jitterbit(或其他类似的免费工具)似乎非常适合这种转换。
希望这有点帮助。
答案 6 :(得分:0)
很多人只使用Mysql或Postgres:)