问题标签 [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.
mysql - 高效的 MySQL 模式,对大型数据集进行分区(7.300.000.000 行和大约 80 GB 的数据)
这是对我的问题“有效存储 7.300.000.000 行”(有效存储 7.300.000.000 行)的跟进。
我决定将 MySQL 与分区一起使用,初步架构如下所示:
这给出了:
- 行 = 7.300.000.000 行(根据上一篇文章中所述的要求)
- 大小/行 = 11 字节 (3+2+3+3)
- 总大小 = 7.300.000.000 行 * 11 字节 = 80.300.000.000 字节 = 80.3 GB
- Partitions = 25(3.2 GB/分区,分区大小有些随意)
请注意,我已经从原始设计中删除了主键,因为不会使用“id”列。
现在问我的问题 - 鉴于我之前的帖子中概述的要求和上面的架构,您对可以进行的进一步优化/调整有什么建议吗?或者考虑到我决定使用 MySQL,上述模式是否“最佳”?
更新:我尝试将当前数据集加载到上面的模式中,8.570.532 行占用了 212.000.000 字节的磁盘空间,每行大约 24.7 字节。
更新:请注意,覆盖 entity_id+date_id 的索引也将用于仅针对 entity_id 的查询。
c# - 大型数据集(SQL 到 C#),长加载时间修复
我有一个正在构建的站点,它是一个基于几个用户偏好创建邮件合并(或多或少......)的应用程序。它可以毫无问题地生成笛卡尔连接价值的数据,但是企业需要让生活变得更加困难......
我必须构建应用程序,以便在验证远程员工的邮政编码后,它会根据媒体目标与该员工的距离为媒体目标创建电子邮件。例如,假设员工在他们工作的地方是众所周知的志愿者。企业希望通过电子邮件向这些员工 5 英里半径范围内的媒体发送有关员工正在从事的工作的消息。这就是事情变得混乱的地方......我在这里有几个选择,我将概述尝试和失败:
最大半径为 20 英里。我创建了一个数据库表,其中包含美国每个邮政编码的记录,并连接到该邮政编码 20 英里内的每个邮政编码。数据集看起来像(名称不同,这是为了论证):
[SourceZip] | [城市] | [状态] | [关闭邮编] | [城市] | [状态] | [距离]
失败:例如,纽约州有来自上述数据集的 35 万条记录(其他州更糟!)。该页面的平均加载时间?6分钟...没有发生。我通过设置断点验证了这一点,断开连接发生在 dataadapter.fill() 阶段。(由于后勤问题,这个从未实施过)我为每个员工 zip 与距离为 x 或更短的媒体目标 zip 建立了数据库连接。除了源文件和媒体目标结合起来可以达到 34k 以上的个性化电子邮件。34k 数据库连接?即使我可以设计一种重用邮政编码搜索的方法,我还是在数据库中进行了一些测试检查,发现员工工作的纽约有 500 个不同的邮政编码。500 分贝的连接?我怀疑这会奏效,但我可能会感到惊讶。
我解决这个问题的最新方案是希望 Web 服务器运行一个比 .net 数据集对象更好的游戏,方法是获取一个新数据集,如下所示:
[zip] | [经度] | [纬度]
然后做一个距离公式来确定数据是否有效。这在很大程度上依赖于 Web 服务器上的处理器。这是一次值得的赌博,还是我会在这次尝试中发现相同的加载时间损害?有没有更好的办法?
我感谢任何意见,即使它证实了我对这个项目可能无法工作的担忧。
附加说明:我无法控制服务器,并且正在运行 SQL2k :(。我正在 Visual Studio 2005 框架 2.0 中对站点进行编程。不过,可能会在接下来的几个月内升级到 SQL2005 和 VS2008。
sql - 如果 2^32 还不够怎么办?
如果表中有这么多条目,那么 2^32 不足以满足给定时间段(日、周、月……)内的 auto_increment ID 怎么办?
如果 MySQL 提供的最大数据类型不够用怎么办?
我想知道我应该如何解决这样一种情况:我的表中添加了这么多需要唯一 ID 的条目,但我在一个时期内填写了我的数据类型?
我怎样才能在 MySQL(或任何其他系统)内实现无限数量的唯一 ID 或至少成倍增加?
理想情况下,我希望像
这成倍地增加了条目的数量。
你如何应对这种情况?
请记住 - 要求是任何条目都有唯一的 ID。
sql - 具有数百万行的四个表之间的连接的 Sql 查询
我们有一个事务 sql 语句,它查询 4 个表,每个表有数百万行。
尽管根据 TuningAdvisor 已使用索引和统计数据对其进行了优化,但仍需要几分钟时间。
查询的结构如下:
由于每个事务表包含数百万行,我考虑将其拆分为每个事务表一个查询,使用表变量,如@real
,@budget
和@hours
,然后将它们连接到一个 final 中SELECT
。但在测试中它似乎没有加速。
您将如何处理以加快速度?
perl - 如何使用 Perl 计算大型 CSV 文件中的行数?
我必须在工作中的 Windows 环境中使用 Perl,并且我需要能够找出大型 csv 文件包含的行数(大约 1.4Gb)。知道如何以最少的资源浪费做到这一点吗?
谢谢
PS 这必须在 Perl 脚本中完成,我们不允许在系统上安装任何新模块。
mysql - 优化 MySQL 聚合查询
我在 MySQL 中有一个非常大的表(约 1 亿条记录),其中包含有关文件的信息。其中一条信息是每个文件的修改日期。
我需要编写一个查询来计算适合指定日期范围的文件数。为此,我制作了一个小表,指定了这些范围(均以天为单位),如下所示:
并编写了一个如下所示的查询:
然而,可以预见的是,这个查询需要永远运行。我认为这是因为我要求 MySQL 遍历 HugeFileTable 5 次,每次对每个文件执行 DATEDIFF() 计算。
相反,我想做的是只逐条记录一次 HugeFileTable 记录,并为每个文件增加相应 range_name 运行总数中的计数。我不知道该怎么做......
有人可以帮忙吗?
谢谢。
编辑:MySQL 版本:5.0.45,表是 MyISAM
EDIT2:这是评论中要求的描述
plsql - 使用 PL/SQL,将大量数据发送到客户端代码有哪些好的选择?
使用 PL/SQL,将大量数据发送到客户端代码有哪些好的选择?
详细地说,服务器端 PL/SQL 对请求进行操作并生成包含大量数据的响应,这些数据必须发送到客户端代码。发送大量数据是否有“好的选择”?这里需要考虑哪些类型的 Oracle 优缺点?
database - “大”数据集有多少?
假设无限存储,其中大小/体积/物理(指标、千兆字节/太字节)仅与元素数量及其标签无关,统计模式应该已经出现在 30 个子集上,但您是否同意少于 1000 个子集太少进行测试,至少 10000 个不同的子集/“元素”、“条目”/实体是“一个大型数据集”。还是更大?谢谢
c# - C# Charting - 合理的大数据集和实时性
我正在寻找一个 C# WinForms 图表组件,无论是商业的还是开源的,它可以处理相对较大的数据集,并且在图表呈现和更新方面具有合理的可扩展性。要显示的数据集数量约为 30。每个数据集每秒更新 15 到 20 次。为此将需要折线图组件。
c - 是否可以更改 argv 或者我需要创建它的调整副本?
我的应用程序可能传入了大量的参数,我想避免将参数复制到过滤列表中的命中记忆。我想将它们过滤到位,但我很确定弄乱 argv 数组本身或它指向的任何数据可能是不可取的。有什么建议么?