问题标签 [large-data-volumes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3574 浏览

css - 大型数据集的 jQuery 网格推荐?

我四处寻找 jQuery 网格建议并遇到了这个问题/答案: https ://stackoverflow.com/questions/159025/jquery-grid-recommendations

在浏览许多 jQuery 网格解决方案时,似乎他们都希望在客户端上拥有整个数据集。如果我有一个大型数据集(数千/数百万条记录),这些类型的解决方案显然无法很好地扩展(或根本无法工作)

我的问题:有没有使用 Ajax 一次只选择一个页面的 jQuery 网格解决方案?我希望使用从客户端通过 ajax 传入的参数来处理服务器端的分页、排序等。

提前致谢,

——埃德

更新:我使用 FlexiGrid 取得了巨大的成功——该应用程序的其余部分是 ASP.NET MVC2。唯一的问题是您需要修改 ASP.NET MVC 附带的 Site.css,因为它为所有表格、td 和 th 标记(填充)指定了一种样式,这会弄乱 flexigrid L&F。

更新 2:在 fishysplash 上,如果您计划拥有多个具有不同数据表的网格,则可以很好地实现必要的 javascript 代码的动态生成。 http://fishysplash.com/adding-grids-using-flexigrid

0 投票
1 回答
700 浏览

c# - 如何建立一个单词表

所以现在我想制作爱沙尼亚语单词表~大约 2000 万个小写的唯一单词。要获得词表的输入,可以使用爱沙尼亚语语料库。语料库文件采用文本编码倡议 (TEI) 格式。我尝试使用正则表达式来查找单词。

这就是我所做的:效率低下,mcv 都搞砸了,如果单词的哈希集无法放入内存,它会刹车,它不知道输入编码 - 所以可能像 š 这样的字母会出现问题,它不会显示估计的完成时间,有些控件有默认名称,有些没有,它不使用多任务处理(不确定是否应该),它使用了一些奇怪的修复和大量锁定界面,因此它看起来不会“冻结”。至少它是如此之短,以至于您几乎没有注意到没有评论。

好处是,它几乎可以毫无错误地读取来自 .tei、.txt、.csv、smgl、xhtml 或任何类似格式输入的单词。

现在你知道我想做什么,我是如何尝试做的(有什么问题),我只是想知道如何去做(用最少的体力劳动)。

图片示例:

替代文字

代码示例和Gui

0 投票
7 回答
5252 浏览

sql - 在 SQL Server 数据库中将一列复制到另一列超过十亿行

数据库:SQL Server 2005

问题:将值从一列复制到同一个表中的另一列,其中包含十亿多行。

尝试的事情1:更新查询

填满事务日志并由于事务日志空间不足而回滚。

尝试 2 - 以下几行的程序

上述过程在进行时开始变慢。

尝试 3 - 创建用于更新的游标。

在 SQL Server 文档中通常不鼓励这种方法,并且这种方法一次更新一行,这太耗时了。

是否有一种方法可以加快将值从一列复制到另一列的速度。基本上,我正在寻找一些“神奇”的关键字或逻辑,它们将允许更新查询按顺序一次遍历十亿行。

任何提示,指针将不胜感激。

0 投票
1 回答
1067 浏览

sql - 跨多个数据库的 SQLite 视图。这个可以吗?有没有更好的办法?

使用 SQlite 我有一个大型数据库,分为几年: DB_2006_thru_2007.sq3 DB_2008_thru_2009.sq3 DB_current.sq3 它们都有一个名为 hist_tbl 的表,其中包含两列(键、数据)。

要求是: 1. 能够一次访问所有数据。2. 只插入到当前版本。3.随着时间的推移,数据会不断的分裂。4. 访问是通过具有独占访问权的单个程序。5.程序可以接受一些设置SQL,但访问一个或多个数据库时需要运行相同的SQL。

为了统一查看它们,我执行以下操作(实际上是在程序中,但此处显示的是命令行): sqlite3 DB_current.sq3

将数据库“DB_2006_thru_2007.sq3”附加为 hist1;将数据库“DB_2008_thru_2009.sq3”附加为 hist2;创建临时视图 hist_tbl 作为 select * from hist1.hist_tbl union select * from hist2.hist_tbl union select * from main.hist_tbl;

现在有一个 temp.hist_tbl(视图)和一个 main.hist_tbl(表)。当我在不限定表格的情况下选择时,我通过视图获取数据。这是可取的,因为我可以根据我的设置方式对连接视图或单个数据库使用我的罐装 sql 查询。此外,我总是可以插入 main.hist_tbl。

问题1:有什么缺点?问题2:有没有更好的方法?

提前致谢。

0 投票
4 回答
397 浏览

sql - 向拥有超过 1500 万条记录的 SQL 列添加自动编号

我需要在 SQL 2005 中有大约 1500 万条记录的现有表中添加一个自动编号列。

你觉得需要多少时间?更好的方法是什么?

0 投票
1 回答
1174 浏览

sql-server - Parallel.ForEach 在处理非常大的数据集时抛出异常

我的问题集中在一些过去可以正常工作的 Parallel.ForEach 代码上,现在我们的数据库已经增长到原来的 5 倍,它几乎经常中断。

ComputeTipDown() 方法获取该交易品种的所有每日股票 tic 数据,并遍历每一天,获取昨天的数据并进行一些计算,然后将它们插入每天的数据库中。

当公式更改时,我们很少使用它来重新计算静态数据值。

例外是:

替代文字

我们正在访问的数据库有 16 GB 的 ram,并且是双四核的,在我重新计算时没有人使用该系统。运行应用程序以重新生成代码的机器是一台笔记本电脑,具有 12 gigs 的 ram 和超线程八核。所以没有明显的资源争用。

这是我使用 .NET 4 和并行处理的尝试,所以我想知道我是否缺少某些东西。任何想法都会受到欢迎。

0 投票
1 回答
2310 浏览

java - 使用 Apache CXF 传输大型消息

我正在编写一个 CXF WS 来上传一些大文件 - 最多 1GB。在大多数情况下,它们不会>10-15MB,但问题是加载文件并使用标准绑定将其作为常规字节[] 发送是无效的。出于这个原因,可能需要一个自定义拦截器,但我不确定它是唯一的选择以及如何编写它。

0 投票
3 回答
3001 浏览

web-services - Web 服务中的序列化成本

我的下一个项目涉及在企业框架内创建数据 API。数据将由在不同软件平台上运行的多个应用程序使用。虽然我的同事普遍偏爱 SOAP,但我想使用 RESTful 架构。

大多数应用程序在每次调用时只需要几个对象。然而,其他应用程序有时需要进行多次顺序调用,每次调用都涉及数千条记录。我担心性能。序列化/反序列化和网络使用是我害怕找到瓶颈的地方。如果每个请求都涉及很大的延迟,那么企业的所有应用程序都会变得迟缓。

我的恐惧是现实的吗?将序列化为 XML 或 JSON 等大量格式会成为问题吗?有替代品吗?

过去,为了提高性能,我们不得不使用“更扁平”/更精简的文件格式(例如 CSV)来进行这些大型数据传输。我怎样才能希望使用 Web 服务获得所需的性能?

虽然我更喜欢特定于 REST 的回复,但我也有兴趣了解 SOAP 用户如何处理这个问题。

0 投票
1 回答
209 浏览

hibernate - ORM 使用可能有数十亿条记录

前几天我在想这个,像 Twitter 这样的应用程序需要处理数百万用户。我在想“关注”的功能如何工作,数据库中的最大用户数量可以跟随数据库中的最大用户数量减去一个,(他自己)。

如果这是一个多对多双向映射,它将创建一个包含数十亿条记录的关系表。ORM 如何检索这些记录?例如,如果用户 A 关注 20,000 个用户,ORM 会为该用户加载 20,000 条记录,还是会使用分页方法?我可以使用小型记录集(例如,< 10 条记录)处理 JPA / ORM,但除此之外,我对如何编写软件来支持大型记录集感到震惊。抱歉,这个问题并不具体,但我正在尝试对此进行架构设计。在业余时间,我将对数十亿条记录进行一些测试,但想先从社区获得一些意见。

0 投票
6 回答
343 浏览

performance - 在庞大的数据集上计算令牌计数器

我需要检查大量文本(> 2 Tb,维基百科完整转储)并为每个看到的令牌保留两个计数器(每个计数器根据当前事件递增)。我需要对这些计数器进行的唯一操作是增加。在第二阶段,我应该根据这些计数器计算两个浮点数并存储它们。

它应该执行以下步骤:

  1. 根据当前事件,检查大量文本并为找到的每个单词增加两个计数器。
  2. 遍历所有标记,并根据这些计数器为每个标记计算两个额外的浮点数。
  3. 允许查询(获取任何给定令牌的值)。

要求和其他细节:

  • 它必须扩展到 O(10^8) 令牌。
  • 最终结果需要非常快的查询!
  • 翻阅文本时,只会增加两个计数器。这是一次性处理,因此在处理过程中不会有任何查询。仅值更新。
  • 不需要动态/可更新模式。

我一直在尝试 CouchDB 和 MongoDB,但效果并不好。

您认为解决这个问题的最佳方法是什么?

谢谢!

编辑1:有人建议我尝试Patricia trie并测试所有键是否都适合内存(我怀疑它们不适合)。一个带有额外操作符的自定义 Patricia trie 用于在一个步骤中增加每个键的值可能是一种可能的解决方案。

编辑 2:澄清我所说的“巨大”的意思:> 2 Tb 的文本。更多说明。

编辑 3:唯一令牌估计。正如 Mike Dunlavey 所建议的,我尝试对独特的令牌进行快速估计。在数据集的前 830Mb 中,唯一令牌线性增长到 52134。除非在处理更多数据后唯一令牌的数量增长较慢(这很可能),否则应该有 O(10^8) 个唯一令牌。

编辑 4:首选 Java 和 Python 解决方案,但任何其他语言也可以。

编辑 5:通常令牌将仅包含可打印的 ASCII 字符,但它们可以包含任何可打印的 Unicode 字符。我将尝试相同的过程,同时保持小写和大写不变;并且仅用于小写。