我试图弄清楚这些新的数据存储如bigtable,hbase和cassandra到底是什么.
我处理大量的股票市场数据,数十亿行价格/报价数据,每天可以累计达到100千兆字节(尽管这些文本文件通常压缩至少一个数量级).这个数据基本上是一些数字,两个或三个短字符串和一个时间戳(通常是毫秒级).如果我必须为每一行选择一个唯一的标识符,我将不得不选择整行(因为交换可能会在同一毫秒内为同一个符号生成多个值).
我想将这些数据映射到bigtable(我包括它的衍生物)的最简单方法是按符号名称和日期(这可能会返回一个非常大的时间序列,超过百万个数据点并非闻所未闻).通过阅读他们的描述,看起来这些系统可以使用多个密钥.我还假设十进制数不是键的好选择.
其中一些系统(例如Cassandra)声称能够进行范围查询.在给定的一天,上午11:00到下午1:30之间,我是否能够有效地查询MSFT的所有值?
如果我想搜索给定日期的所有符号,并请求价格在10美元到10.25美元之间的所有符号,那么该怎么办?所以我正在搜索这些值,并希望返回键作为结果?
如果我想得到两个系列,从另一个中减去一个,并返回两次系列及其结果,我将在自己的程序中做他的逻辑怎么办?
阅读相关论文似乎表明这些系统不适合大规模时间序列系统.但是,如果谷歌地图等系统基于它们,我认为时间序列也应该有效.例如,将时间视为x轴,将价格视为y轴,将符号视为命名位置 - 突然之间看起来像bigtable应该是时间序列的理想存储(如果整个地球可以存储,检索,放大和注释,股市数据应该是微不足道的).
有些专家可以指出我正确的方向或澄清任何误解.
谢谢
在必须是常见的事件中,我需要在程序集中包含一个空目录.就我而言,它是logs /.
我在程序集描述符中尝试了不同的变体,如:
<fileSet>
<directory>${basedir}/target</directory>
<includes>
<include>doesntexist</include>
</includes>
<outputDirectory>/logs</outputDirectory>
<fileMode>0644</fileMode>
</fileSet>
Run Code Online (Sandbox Code Playgroud)
并且目录刚刚被修剪.
我试图排除,但仍然包括很多东西:
<fileSet>
<directory>${basedir}/target</directory>
<excludes>
<exclude>*</exclude>
</excludes>
<outputDirectory>/logs</outputDirectory>
<fileMode>0644</fileMode>
</fileSet>
Run Code Online (Sandbox Code Playgroud) 我已经使用Maven几个月了,我对它在概念上和实践中如何运作非常满意.
我也非常广泛地研究了Buckminster(但尚未开始运行样品),试图弄清楚它是什么以及它是如何比较的.文档很差.例如,他们使用Build Automate和Deploy等术语,但我还没有看到有关部署的任何信息.分阶段迁移是另一个暗示但尚未讨论的主题.
Maven和Buckminster都可以指定依赖关系,并且通常可以管理构建,测试和可能的部署过程.
它们都具有eclipse集成,并且两者都应该(仅使用Maven)使基于eclipse的项目及其依赖项的设置和共享变得微不足道.
我能看到的主要区别是:
依赖关系:
建立
插件
部署
复杂
文档
从我的角度来看,我想用Buckminster做的大部分事情都可以和Maven一起使用.从版本控制"实现"是一个优点,但组织中的开发人员可以将maven快照发布到存储库以便彼此共享,此外还提供固定版本.
似乎有更多的灵活性和自由来避免Maven生命周期的限制(曾经想要添加另一个阶段,比如后期测试清理?必须等待它们在核心中进行).
我错过了什么?Buckminster中是否有一些重要的功能值得提升复杂性?
上面是否有任何疯狂的真实陈述(鉴于我不是Buckminster用户而只有中低级别的Maven用户)?
bigtable ×1
buckminster ×1
cassandra ×1
finance ×1
hbase ×1
java ×1
maven ×1
maven-2 ×1
time-series ×1