小编Ale*_*lex的帖子

大数据的数据库设计

我想存储 1000 个符号的股票交易数据。数据实际上是从文本文件转换而来的,因此不需要插入和更新;只需要只读访问。

数据基本上是这样分组的:每个品种有许多记录:{timestamp, price, quantity},每条记录代表一次交易。

一个符号的数据的近似上限是 5 条记录/秒,每个工作日 8 小时,即每天 5x60x60x8 = 144K。即 1K 个符号每天会生成 144M 条记录。

对数据的大多数操作类似于:

  • 给我一个交易品种在日期 D1、时间 T1 到日期 D2、时间 T2 的所有记录
  • 求 [D1, T1...D2, T2] 期间价格或数量的最小值/最大值/平均值

现在的问题是:在这种情况下,数据库的最佳设计是什么?

  • 我可以将交易品种的所有交易存储在一个表中吗?但是,在这种情况下,表会很快变得太大。
  • 我应该每天/每周/每月创建一个单独的表吗?即 2013-10-25_ABC(ABC - 符号名称)。在这种情况下,我们可能每天/每周/每月获得 1K 个新表。
  • 或者,在这种情况下,纯文本文件可能就足够了?例如,将所有符号数据作为 2013-10-15 文件夹下的文件,导致每个文件夹中有 1K 个文件

数据库可以是 MS SQL 或 MySQL。总时间段 - 长达 5 年。谢谢!

database database-design stocks

6
推荐指数
1
解决办法
2114
查看次数

未解析的外部符号_IID/_CLSID

我使用MSVC 2010创建了一个默认的ATL项目,其中包含一个简单的默认ATL对话框.然后我将第二个项目添加到解决方案中,命名为MyControls,我在Wizard的帮助下创建了ATL DHTML Control.然后我将ATL DHTML Control放到ATL对话框中.

现在我想在ATL对话框的OnInitDialog函数中调用ATL DHTML控件的一些方法.为了能够像这样打电话:

CComPtr<IDHTMLControl> ptr;
HRESULT hr = GetDlgControl(IDC_ACTIVEX_CONTROL_DHTML
    , IID_IDHTMLControl, (void**)&ptr);
Run Code Online (Sandbox Code Playgroud)

我从MyControls项目中包含了DHTMLControl.h文件.但是,我收到以下错误:

  • 错误1错误LNK2001:未解析的外部符号_IID_IDHTMLControl
  • 错误2错误LNK2001:未解析的外部符号_LIBID_MyControlsLib
  • 错误3错误LNK2001:未解析的外部符号_CLSID_DHTMLControl
  • 错误4错误LNK2001:未解析的外部符号_IID_IDHTMLControlUI

注意:我似乎错误地链接了MyControls.lib,但是,我在Linker-> General-> Additional Library Directories中将MyControls.lib添加到Linker-> Input-> Additonal Dependencies&指定../$(Configuration).

有人有想法吗?谢谢!

c++ atl

4
推荐指数
1
解决办法
6827
查看次数

从自定义安装程序直接链接到VC++ 2010 SP1 Redistributable

我有包含vcredist_x86.exe/vcredist_x64.exe的安装程序,因此如果用户计算机没有安装VC++可再发行组件,那么我安装它.

但是,vcredist_x86.exe/vcredist_x64.exe的大小相当大~5MB,这可能是一个小应用程序的问题.

是否有可以使用的Microsoft网站的直接(和永久)链接,而不是将vcredist文件添加到我的安装程序?

或者可能有更好的方法来解决这样的问题?

PS我知道用户机器必须在线 - 这没关系.

redistributable visual-c++

3
推荐指数
1
解决办法
1万
查看次数

如何从本地恢复Git裸存储库

这是最初的情况:

  • 远程服务器上的裸Git存储库
  • 本地计算机上的开发Git存储库

然后远程服务器崩溃.

我一直在将更改提交到我的本地存储库,但在修复服务器之前我无法推送它们.在一天左右的时间内,很明显由于硬件问题导致服务器无法恢复,因此远程存储库丢失.同时,我已经在我的本地存储库中做了几次提交.

现在我正在尝试恢复服务器上的存储库.

  1. 我将文件从我的本地.git文件夹复制到 c:\repositories\myproject
  2. 我跑git --git-dir=myproject config core.bare true命令

它看起来不错,但现在的问题是我在裸存储库中有两个分支,一个是master(崩溃时的服务器分支),另一个是remote/origin(我的本地提交的新分支).

所以基本上我想推动未完成的提交来掌握和删除远程/原始分支,因为在裸存储库中不需要它.

我怎么做?

随意分享一个更好的方法来完成这样的任务.

git restore

3
推荐指数
1
解决办法
4134
查看次数

Type.GetFields为公共字段返回一个空的System.Reflection.FieldInfo数组

我有一个类只包含许多标准类型的公共字段.该调用myObject.GetType().GetFields()返回一个空数组.

问题是什么?

更新:我很抱歉,问题是我使用的是WCF服务公开的类.原始类(比如说A)和暴露(WcfReference.A)是不同的类.A的成员成为WcfReference.A中的私有字段并作为属性公开.

也许这个问题应该删除.

c# reflection

0
推荐指数
1
解决办法
2522
查看次数