我一直在努力将 SQL Server 变成某种东西,坦率地说,它永远不会。我的分析工作需要一个数据库引擎。DB 需要快速,并且不需要典型数据库(SQL Server、Oracle、DB2 等)中的所有日志记录和其他开销
昨天我在 Money:Tech 会议上听了Michael Stonebraker 的演讲,我一直在想,“我并不是真的疯了。有更好的方法!” 他谈到使用列存储而不是面向行的数据库。我访问了列商店的 Wikipedia 页面,看到了一些开源项目(我喜欢)和一些商业/开源项目(我不完全理解)。
我的问题是:在应用分析环境中,基于列的不同数据库有何不同?我应该怎么想他们?有人对基于多列的系统有实际经验吗?我可以利用我对这些数据库的 SQL 经验还是我必须学习一门新语言?
我最终会将数据提取到 R 中进行分析。
编辑:我被要求澄清我到底想要做什么。所以,这是我想做的一个例子:创建一个有 400 万行和 20 列的表(5 个维度,15 个事实)。创建 5 个聚合表,计算每个事实的最大值、最小值和平均值。将这 5 个聚合加入到起始表中。现在计算每行与平均值的百分比偏差、最小值的百分比偏差和最大值的百分比偏差,并将其添加到原始表中。此表数据不会每天都有新行,它会被完全替换并重复该过程。如果必须停止该过程,上天禁止。还有原木……哦,原木!:)