需要帮助!无法解决这个问题,我遇到了硬件限制 - 页 4 1234567891011...21 新评论 --- 2014.08.15 19:22 #31 komposter: 想过了。问了一下意见。与读取文件相比,速度会提高多少,与在内存中工作相比,速度会降低多少?DBMS尽可能地将其表放在内存中。但在你的情况下不是,除非你有32GB的内存。因此,如何将20GB放在4GB中是一个真正的优化挑战。如果你想简化你的任务,在内存中制作传统的RAM驱动器。如果你不能,那就去买一个硬盘。 Vasiliy Aseev 2014.08.16 06:13 #32 1)考虑SSD选项。你可以用大约5卢布甚至更少的钱买一个快速的100G硬盘。2)DB选项https://www.mql5.com/ru/forum/35393/unread3)变体1+变体2,即把你的数据填入数据库,而数据库又被放在一个固态硬盘上。我认为最后一个选项会很适合你。如果没有,把你的操作系统从用户操作系统改为服务器操作系统。 [删除] 2014.08.16 10:48 #33 这里有一篇关于MKL和例如C#之间的数据传输的文章,你可以把所有繁重的操作放在那里,分块读取文件而不占用所有的RAM。数据传输以结构的形式进行,相当方便和快速。 Eugeniy Lugovoy 2014.08.17 08:35 #34 komposter: 与读取文件相比,它的速度会快多少,与在内存中工作相比,它的速度会慢多少?那么,你不只是需要读取文件,你还需要搜索、计算、将文本转换为数字、进行排序等。首先,如果数据不经常更新,你可以为数据搜索中涉及的属性(包括聚合属性)创建任意多的索引。因此,搜索会更快(使用索引),因此计算也会更快。其次,说MySQL、MS SQL、Oracle等数据库在重复查询时采用数据缓存技术,也有一定的处理速度优势。第三,你可以把一个表分成几个部分(分区),比如说,按年份划分。因此,选择一年的数据的查询将不会读取/搜索位于其他分区的数据。第四,由于你的源数据是文本形式的,当把它加载到数据库时,由于自然的类型转换,它的大小应该更小。例如,文本形式的数字124.223456221将占用13个字节,在数据库中取决于类型4-8;日期和时间 "2014-08-17 10:23:35 "将占用19个字节,在数据库中为8字节。第五,如果你在某些时期经常使用汇总的信息,你可以将这些数据汇总一次,然后存储在另一个表中。当然,如果我们只是讨论将数据读入内存,WinApi会做得更快,但之后如何处理数据?想象一下,即使要搜索数据的正确部分,你也必须从磁盘上读取所有的数据。或者你必须编写索引功能,对文件中的数据进行排序,为所有搜索操作创建索引文件,并重写一半的DBMS功能。要处理这样的数据量并希望有合理的性能,这是必要的。我的意见是明确的--在一台专用机器 上的服务器DBMS(文件DBMS如MS Access,SQLite在这里不起作用)。它将具有足够合理的性能,并易于处理数据(SQL查询)。否则,你将浪费大量的时间来编写低级别的 "内部程序 "来处理文件。 Yuriy Zaytsev 2014.08.18 08:44 #35 komposter: 想过了。问了一下意见。与读取文件相比,速度会提高多少,与在内存中工作相比,速度会降低多少?(我对超过3TB的数据库和10-100G的相对较小的数据库有经验) 但在某些硬件方面...比如64gb的内存和更高的内存,以及一个好的磁盘子系统 在这种情况下,与处理一个巨大的文件相比 SQL将大大加快速度,但速度当然取决于SQL的实现。- 正确的数据库设计 - 正确的索引 - 正确的数据库配置这意味着文件分割(elugovoy 写的方式是真的)。一个完整的实施需要一个单独的服务器和一个服务器操作系统--SQL数据库如果MS SQL必须不低于2008(在软件方面也最好不要低于64)。 但在我看来,它的实施将是相当耗费人力和硬件的。(64位是最理想的)--如果你的机器只有16G,而它被用作一个工作站只要把SQL服务器放在上面就不会很好--但总比用一个文本文件要好。但如果你没有任何关于SQL的经验,在实施过程中就需要付出一些努力。 Yuriy Zaytsev 2014.08.18 09:02 #36 barabashkakvn:如果这个文件用存档器压缩,它将变得多大(因为文本应该被压缩得很好)? 每次解压所需的时间会扼杀性能。 Vladimir Karputov 2014.08.18 09:22 #37 YuraZ:每次解压缩所需的时间会影响性能 我并不是说取消存档。如果归档可以大大减少尺寸,那么将信息压缩到索引文件中是有意义的。 Yuriy Zaytsev 2014.08.18 10:27 #38 barabashkakvn: 我并不是说取消存档。如果归档可以大大减少尺寸,那么将信息压缩到索引文件中是有意义的。原本是 barabashkakvn: 如果这个文件是用压缩器压缩的,那么体积是多少(毕竟文本应该压缩得很好)? 因此,对你的帖子的反应!索引文件 - 创建...那是另一个话题编写自己的(类似于SQL的)服务器甚至更酷--但为什么呢? Vladimir Karputov 2014.08.18 10:42 #39 YuraZ:从一开始,它就是 因此,对你的帖子的反应!索引文件 - 创建...那是另一个话题编写你自己的(如SQL)服务器甚至更酷--但为什么呢? 原本有一个问题要问作者--但文件会被压缩到什么程度。你已经把解压缩的事说出来了。 Yuriy Zaytsev 2014.08.18 11:12 #40 barabashkakvn: 最初向作者提出的问题是文件被压缩的程度。....。我可以问为什么吗? 它将被压缩70-80%,这对作者解决他所描述的问题有什么作用? 1234567891011...21 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
想过了。问了一下意见。
与读取文件相比,速度会提高多少,与在内存中工作相比,速度会降低多少?
DBMS尽可能地将其表放在内存中。
但在你的情况下不是,除非你有32GB的内存。
因此,如何将20GB放在4GB中是一个真正的优化挑战。
如果你想简化你的任务,在内存中制作传统的RAM驱动器。
如果你不能,那就去买一个硬盘。
与读取文件相比,它的速度会快多少,与在内存中工作相比,它的速度会慢多少?
那么,你不只是需要读取文件,你还需要搜索、计算、将文本转换为数字、进行排序等。
首先,如果数据不经常更新,你可以为数据搜索中涉及的属性(包括聚合属性)创建任意多的索引。因此,搜索会更快(使用索引),因此计算也会更快。
其次,说MySQL、MS SQL、Oracle等数据库在重复查询时采用数据缓存技术,也有一定的处理速度优势。
第三,你可以把一个表分成几个部分(分区),比如说,按年份划分。因此,选择一年的数据的查询将不会读取/搜索位于其他分区的数据。
第四,由于你的源数据是文本形式的,当把它加载到数据库时,由于自然的类型转换,它的大小应该更小。例如,文本形式的数字124.223456221将占用13个字节,在数据库中取决于类型4-8;日期和时间 "2014-08-17 10:23:35 "将占用19个字节,在数据库中为8字节。
第五,如果你在某些时期经常使用汇总的信息,你可以将这些数据汇总一次,然后存储在另一个表中。
当然,如果我们只是讨论将数据读入内存,WinApi会做得更快,但之后如何处理数据?想象一下,即使要搜索数据的正确部分,你也必须从磁盘上读取所有的数据。或者你必须编写索引功能,对文件中的数据进行排序,为所有搜索操作创建索引文件,并重写一半的DBMS功能。要处理这样的数据量并希望有合理的性能,这是必要的。
我的意见是明确的--在一台专用机器 上的服务器DBMS(文件DBMS如MS Access,SQLite在这里不起作用)。它将具有足够合理的性能,并易于处理数据(SQL查询)。否则,你将浪费大量的时间来编写低级别的 "内部程序 "来处理文件。
想过了。问了一下意见。
与读取文件相比,速度会提高多少,与在内存中工作相比,速度会降低多少?
(我对超过3TB的数据库和10-100G的相对较小的数据库有经验)
但在某些硬件方面...比如64gb的内存和更高的内存,以及一个好的磁盘子系统
在这种情况下,与处理一个巨大的文件相比
SQL将大大加快速度,但速度当然取决于SQL的实现。
- 正确的数据库设计 - 正确的索引 - 正确的数据库配置
这意味着文件分割(elugovoy 写的方式是真的)。
一个完整的实施需要一个单独的服务器和一个服务器操作系统--SQL数据库
如果MS SQL必须不低于2008(在软件方面也最好不要低于64)。
但在我看来,它的实施将是相当耗费人力和硬件的。(64位是最理想的)
--
如果你的机器只有16G,而它被用作一个工作站
只要把SQL服务器放在上面就不会很好--但总比用一个文本文件要好。
但如果你没有任何关于SQL的经验,在实施过程中就需要付出一些努力。
如果这个文件用存档器压缩,它将变得多大(因为文本应该被压缩得很好)?
每次解压所需的时间会扼杀性能。
每次解压缩所需的时间会影响性能
我并不是说取消存档。如果归档可以大大减少尺寸,那么将信息压缩到索引文件中是有意义的。
原本是
如果这个文件是用压缩器压缩的,那么体积是多少(毕竟文本应该压缩得很好)?
因此,对你的帖子的反应!
索引文件 - 创建...那是另一个话题
编写自己的(类似于SQL的)服务器甚至更酷--但为什么呢?
从一开始,它就是
因此,对你的帖子的反应!
索引文件 - 创建...那是另一个话题
编写你自己的(如SQL)服务器甚至更酷--但为什么呢?
最初向作者提出的问题是文件被压缩的程度。....。
我可以问为什么吗?
它将被压缩70-80%,这对作者解决他所描述的问题有什么作用?