发现了一个简单办法可以大幅提高mongodb mapreduce的速度,以前我在一台机器上只部署了一个mongod的数据库实例,起始如果机器配置可以的话,可以在一台机器上多配几个Mongod数据库实例,把他们用分片的形式加到集群中就可以了。
这样就相当于多进程操作了,避免了js单进程的尴尬。
如果机器的cpu是12核的可以起6-8个mongod,根据测试发现再多个mongod对于速度的影响不升反降。据我分析之前是因为单进程操作,是因为单个cpu达到瓶颈。
改成多进程后,达到磁盘i/o瓶颈后速度就没法提升了。
在mongodb中,文档是对数据的抽象,它被使用在client端和server端的交互中。所有的client端(各种语言的driver)都会使用这种抽象,它的表现形式就是我们常说的bson(binary json )。
bson是一个轻量级的二进制数据格式。
mongodb能够使用bson,并将bson作为数据的存储存放在磁盘中。
当client端要将写入文档,使用查询等等操作时,需要将文档编码为bson格式,然后再发送给server端。同样,server端的返回结果也是编码为bson格式再放回给client端的。
Hadoop|
Apache Pig|
Apache Kafka|
Apache Storm|
Impala|
Zookeeper|
SAS|
TensorFlow|
人工智能基础|
Apache Kylin|
Openstack|
Flink|
MapReduce|
大数据|
云计算|
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....