2016-09-18 46 views
0

首先我的道歉,如果这种情况&询问读取为模糊或一般;我将设法是尽可能具体,审议的目前阶段:为高频率(流媒体)数据创建新数据库的成本结构

  • 桌面应用程序被设计成用于相互作用(通过流式传输的TCP/IP套接字连接)与远程服务器(与C++ API )提供高频(某些情况下为亚秒)数据,每个时间戳具有八个参数/值。四个'产品'的数据将从09:00-17:00ET MF连续订购,另外26种其他产品的数据格式将在非高峰时段(20:00-21 :00)。
  • 在任何情况下,收到的数据都将保存到运行此桌面应用程序的PC上的一个MySQL表中。数据将在稍后被几个基本 R和Python脚本查询分析,为了便于考虑,这里仅仅意味着安装启用连接的软件包(pymysql等),除此之外没有什么比这更进一步。

  • 随着时间的推移,每个产品的数据量可能会增长到5-6百万行(每行包含8个参数的值),因此总计有150-180百万行。

的问题是:哪些方面建设/实施这样一个数据库将是最耗时的一个程序员(复杂性,纯粹的,最终的容量职位月薪)?我从最终用户的角度提出这个问题,他们希望雇用一名程序员,并且收到的报价远高于1万美元。它在与程序员的讨论中建立,我将主持和维护数据库,因此成本问题仅限于设计&版本。

+0

我会专注于批量数据采集,其中批次不是最初插入的,而是放置在可重新创建的段中。我还将重点放在最低限度的概念验证上,以便您选择合适的解决方案提供商 – Drew

+0

10k美元包含哪些内容?正如你所描述的那样,对于有多年经验的人来说,这听起来很直接。对于实现这个功能的程序员来说,最密集的方面将是@Drew所指的排队系统。你有很多小的查询。为了让MySQL工作得更快,你需要一次编写大量的数据。要做到这一点,你排队几个查询,并将它们立即“刷新”到磁盘。您也可以购买快速SSD,并忽略队列系统,希望磁盘可以应付。这是关于我可以对这个问题做出什么贡献的。祝你好运! –

+0

我的口头禅:“不要排队,就去做吧。”每秒30个直接插入不成问题。通过队列喂食他们会是一个问题。 –

回答

0

我的猜测是程序员期望在流设置和一些性能优化期间进行一些额外的通信。

我的估计是:

  • 流分析(通信的PoC) - 3MD
  • 数据分析 - 1MD
  • 项目设置 - 1MD
  • 初始数据库设置 - 为2Md
  • 编码 - 3MD
  • 单元/集成测试 - 2MD
  • 演示运行代码 - 1MD
  • 性能优化 - 4MD
  • 性能测试 - 为2Md
  • 工作的代码演示 - 1MD

所以20MD + 30%=储备27MD。以美国每天400美元的薪水,你最终会得到10.8万美元。在欧洲,您可以获得每天250美元的报价,所以大约在6.5万美元或7万美元左右。