问题标签 [bigdata]
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.
bigdata - 什么数据存储技术/解决方案允许非常快速的插入、查找和“选择”
这是我的问题。
我想摄取大量数据....现在有数百万行,后来有数十亿行。
我一直在使用 MySQL,现在我正在使用 PostgreSQL。
插入很容易,但在我插入之前,我想检查该特定记录是否存在,如果存在我不想插入。随着数据库的增长,这个操作(显然)需要越来越长的时间。
如果我的数据在 Hashmap 中,查找将是 o(1),所以我想我会创建一个 Hash 索引来帮助查找。但后来我意识到,如果我每次都必须再次计算哈希,我会大大减慢这个过程(如果我不计算索引,我就没有 o(1) 查找)。
所以我很困惑,有没有简单的解决方案?还是复杂的?我很高兴尝试其他数据存储,但是我需要能够执行相当复杂的查询,例如类似于带有 WHERE 子句的 SELECT 语句的查询,所以我不确定 no-sql 解决方案是否适用。
我是一个新手,所以如果有一个简单的解决方案,我不会感到惊讶。
mongodb - 如何在 MongoDB 和 CouchDB 中取大数据的平均值?
我在看这个图表...
http://www.mongodb.org/display/DOCS/MongoDB,+CouchDB,+MySQL+Compare+Grid
...它说:
查询方法
CouchDB - 映射/减少 javascript 函数以延迟为每个查询构建索引
MongoDB——动态;基于对象的查询语言
这到底是什么意思?例如,如果我想平均取 1,000,000,000 个值,CouchDB 会自动以 MapReduce 的方式进行吗?
有人可以告诉我如何使用两个系统平均获取 1,000,000,000 个值...这将是一个非常有启发性的示例。
谢谢。
mysql - 针对特定需求的 NoSQL 建议
我正在使用具有以下简单结构的 MySql 表:
ID_A : 整数 8
ID_B:整数 8
主键:ID_A,ID_B 索引:ID_B
这个 MySQL 表包含超过 5 亿行,权重为 20Go。
我需要能够执行这些查询:
/li>我试过 innodb 和 MyIsam,但即使配置服务器很大,mysql 也无法回答 Group By 查询。我什至不能从脚本方面做到这一点,因为它会消耗很多内存。
所有数据都无法放入 RAM(今天是 20Go,但不久的将来会是 60Go)。
我们应该使用 NoSql 数据库吗?MongoDB?映射减少数据库?
谢谢你的帮助
qt - 渲染海量数据
我有一个 3D 浮点矩阵,在最坏的情况下,大小可能是(200000x1000000x100),我想使用 Qt/OpenGL 可视化这个矩阵。
由于元素的数量非常多,我想以一种方式渲染它们,当相机远离矩阵时,我只显示一些有趣的点,这些点给出了矩阵外观的近似值。当相机靠近时,我想获得更多细节,因此计算出更多元素。
我想知道是否有处理这种可视化的技术。
memcached - Pyrocache 与 Memcached
我在一些项目中使用过 PyroCMS,我非常喜欢它。我目前正在基于它开发另一个网站。在我的网站中,我需要在一个大数据库上工作,它不是很大,但足够大,需要缓存模块。我正在犹豫是使用内置的 Pyrocache 库还是第三方缓存 memcached。那么我为什么要使用 memcached 呢?Pyrocache 也可以管理大数据吗?Pyrocache与memcached相比有哪些优势?
在我的网站上,它将显示超过 200.000 个位置的信息,数据长期处于静态。我想使用缓存来缓存所有位置数据,所以当用户请求时,它直接返回结果而不查询数据库。Pyrocache 可以适合我的场景吗?
提前感谢,狮子座
bittorrent - bittorrent 对等点能否处理播种大量空闲种子
我正在考虑将 bittorrent 用于数据源为 PB 级且用户需要高达数 TB 的大型数据传播问题。一些细节
- 数以百万计的种子数量
- 种子大小从 100Mb 到 100Gb
- 世界各地的一组稳定的集群能够充当播种机,每个集群都拥有总种子的很大一部分(平均说 60%)
- 相对少量的同时用户(少于 100 个)希望平均下载几 TB 的数据。
我预计与可用种子总数相比,活动种子的数量会很小,但服务质量很重要,因此每个种子必须有几个播种机或启动新播种机的某种机制。
我的问题是,bittorrent 客户端能否处理大量种子种子,其中大部分是空闲的?我是否需要在集群中的播种机上对种子进行条带化,或者每个节点是否可以播种它可以访问的所有种子?哪个客户会做得最好?有没有管理播种机集群的工具?
我假设跟踪器可以扩展到这个级别。
mysql - 从Mysql切换到MongoDB 2亿行
我们正在尝试从 mysql 迁移到 mongodb。mysql 结构是 id_src int id_dest int 唯一键:id_src,id_dest
它们在mysql中大约有2亿行
数据示例:{id_src,id_dest} {1,2} {1,3} {1,10} {2,3} {2,10} {4,3}
我们需要检索数据:{id_dest,count} {3,3} {10,2} {2,1}
我开始在mongodb中重现mysql的结构。插入性能非常好(非常好):插入 2 亿行大约需要 1 小时。
但我需要使用 map reduce 来获取分组。地图减少大约需要 1 小时。
所以我尝试创建另一个 mongodb 结构:{id_dest,{id_src1,id_src2}}
每个文档可以有十万个 id_src。
这是我的 insert.php 代码
但在那种情况下,性能非常糟糕,每秒只有很少的更新。
难道我做错了什么 ?
r - 测试缓冲区是否已在 R 中刷新
我有一些非常大的文件要使用,我使用几个不同的 I/O 函数来访问它们。最常见的是bigmemory
包。
在写入文件时,我已经学会了刷新输出缓冲区的艰难方法,否则所有关于数据是否已保存的赌注都将失败。但是,这可能会导致一些非常长的等待时间,同时bigmemory
执行它的操作(很多分钟)。我不知道为什么会发生这种情况——它并不总是发生,也不容易复制。
是否有某种方法可以确定 R 中是否已刷新 I/O 缓冲区,尤其是对于bigmemory
?如果操作系统很重要,那么请随意以这种方式限制答案。
如果可以将答案推广到 之外bigmemory
,那就太好了,因为我有时会依赖其他内存映射函数或 I/O 流。
如果没有好的解决方案来检查缓冲区是否已被刷新,是否存在可以假设缓冲区已被刷新的情况?即除了使用flush()
.
更新:我应该澄清这些都是二进制连接。@RichieCotton 指出isIncomplete()
,虽然帮助文档只提到了文本连接。目前尚不清楚这是否可用于二进制连接。
r - 用 R 绘制大数字,但并非所有数字都显示
我正在尝试使用 R 在图表上渲染 739455 数据点,但在 x 轴上我无法查看所有这些数字,有没有办法可以做到这一点?
我是 R 的新手。
谢谢
java - 高级 Java 优化
关于如何使用 for、while 和 do-while 循环以及是否有必要进行低级 Java 优化,有很多问题、答案和意见。
我的问题更多是基于高级别的设计优化。假设我必须执行以下操作:
对于给定的字符串输入,计算字符串中每个字母的出现次数。
当字符串是几个句子时,这不是一个主要问题,但是如果我们想要计算每个单词在 900,000 个单词文件中的出现次数怎么办。建立循环只是浪费时间。
那么可以应用于此类问题的高级设计模式是什么。
我想我的主要观点是我倾向于使用循环来解决很多问题,并且我想摆脱使用循环的习惯。
提前致谢
山姆
ps 如果可能的话,您能否提供一些伪代码来解决 900,000 字的文件问题,我倾向于理解代码而不是理解英语,我认为对于本网站的大多数访问者来说都是一样的