MongoDB 探索二三事

作者: 18c3ad7caf58 | 来源:发表于2018-04-01 23:04 被阅读51次

这篇文章涉及如下工具:
1、mongodb
2、datax
3、superset
4、redash
5、metabase

最近一直在探索着数据相关的事情。

比如什么开源BI工具啊。像superset、redash和metabase啦,每个工具都有优劣,我会在后续文章继续更新。

最近的项目呢,又用到了mongodb,那么顺其自然的呢,这些BI工具调研的时候呢,自然的数据源,就优先选择了mongodb。

那么万事俱备,只欠东风了。我的数据哪里找呢?为了探索这些BI工具的优劣,我么的数据集一定要大,对不对。当然你可以造假数据,但是呢,我也是比较“傲娇”吧,就是不愿意自己造数据。

那怎么办呢,我就百(gu)度(ge)了一下“开放数据平台”这样的字眼,找到了很多结果,选定了滴滴的“盖亚计划”,获取了一个月的轨迹数据+订单数据。滴滴也是够“大方”,我试着用datax导入了一下,三天的轨迹数据,竟然已经达到了9kw的数据量级。那相关探索工作,就做起来吧!

9kw数据!

先大概讲讲BI工具

我只想说,superset、redash和metabase只是做了工具到数据库的连接,其他的任何性能上的优化,都没有做。
工具做的优化,主要是让不太懂sql语句的人可以快速上手,制作数据报告。

MongoDB查询优化

实验环境

- centos6
- CPU 2Core 4G
- 存储空间 500G
- MongoDB 3.4.11

我是用三台这样的机器,组成了一个Replica Set。

索引初步探索

我先做了一个简单的查询,查询的结果,大跌我的眼镜。。。


100s的查询,吓尿了

看来replica set也不能拯救单纯的但数据存储啊。那怎么办呢?

上索引!!

// 查询索引
db.collection.getIndexes();
// 增加索引
db.collection.createIndex({
    "你要加索引的字段": 1/-1
});
// 1代表正序、-1代表倒序
// 当然,mongodb的索引有很多种。比如单索引、组合索引、"text"、"Geospatial Index"等等。
// 我最开始使用了"text",但是没有优化查询速度,这个我后续会继续探索原因。

replica set添加索引的方法有些特殊。

1、在备用机器上添加索引

1.shutdown mongo

>> use admin
>> db.shutdownServer()

2.非replica set方式启动mongo。
3.createIndex

2、在备用机器上添加索引

1.mongo 退级

>> rs.stepDown()

2.shutdown mongo

>> use admin
>> db.shutdownServer()

3.非replica set方式启动mongo。
4.createIndex

添加好了索引以后,给了我极大的惊喜。


这才是大数据应该有的速度
这才是大数据应该有的速度

group by 呢?

很遗憾的是,添加索引,并没有优化group by的表现。(我猜是因为 group by必须要全表查询吧)


group by 挺慢的

那么,下一步能做的是什么呢?

后续更新预告

  1. replica set搭建
  2. sharding cluster搭建
  3. superset+redash+metabase
赞赏是第一生产力

My Press.one Signature:
https://press.one/file/v?s=860edfdd2013c73300da7ae84f904bc23f03faf4d24821ab52443cca449d3e496918469b3f643ab944b0e15011942e9ec93aea9685dc5634c5c1f0bf372da5751&h=3ebac8793b0184ef90feb58c9eedef8fd19261ad98cddf4a72376f02e4a461e3&a=866597c04655a093a3e1f31a317c7addd0df9123&f=P1&v=2

相关文章

  • MongoDB 探索二三事

    这篇文章涉及如下工具:1、mongodb2、datax3、superset4、redash5、metabase 最...

  • Mongodb索引探索(一)

    索引是数据库中的一个重要对象,主要用于支持高效查询操作。如果没有索引,数据库就只能进行全表扫描,效率将极为低下。m...

  • 《暖心二三事》目录

    【记录生活中的点滴暖心事】 第一篇:暖心二三事① 第二篇:暖心二三事② 第三篇:暖心二三事③ 第四篇:暖心二三事④...

  • 二三事二三字

    1. 寄居黑夜的微光暗暗生长 2.绿色的诺言铺天盖地林子里的冰雪再无旧人重温 3.春水的哀愁撩不倒胡杨林永恒的站姿...

  • 二三人,二三事

    人生在世,不同的时期和环境里,我们总会遇到不同的人。志趣相投,能与之无话不谈,是以为友,因为朋友这一角色的存在,使...

  • 教学二三事

    教学二三事

  • 二三事

    日子过了太久,故事的轮廓就开始模糊。每个人都有故事,倾泻在酒后不明的夜里,或者在浓妆艳抹的女郎身旁,或者在空廖的一...

  • 二三事

    今天,我们一家三口一起参加徒步活动。徒步的固定集合时间是早上9点,过时不候。 由于这次的徒步集合地点离家有点远,大...

  • 二三事

    不记得哪一年的儿童节了,印象中这是唯一一次三兄妹一起没有和父母一同进城的经历。可能是父母的叮嘱,一定要照张合照,如...

  • 二三事

    两年的时间匆匆忙忙从一个女孩变成一个妈妈,生活中的琐事总是不期而遇的向你扑头盖面砸过来,压的喘不过气。 慢...

网友评论

    本文标题:MongoDB 探索二三事

    本文链接:https://www.haomeiwen.com/subject/twoacftx.html