MongoDB 可以象关系数据库那样分区吗?

小灰狼 2017-08-23 03:51:26
以前在这里发帖问过,数据库是用来存放一些设备的运行数据的,每一分钟由数据采集设备采集设备的实时参数(电流、电压、温度、功率等),设备数量初步估计在两年内会达到20000。
原本数据是存储在 MySQL 中的,但是有资料说 MongoDB 比较适合存储这类数据,于是有准备把数据迁移到 MongoDB 的打算。但是目前还有几个问题需要了解清楚。

原来存储在 MySQL 中的数据,是以分区表的方式存储的,即每半年或者一个季度一个分区,这样做的好处:
1、按照时间查询历史数据时,可以指定分区查询,速度会比较快;
2、在扩展分区时,可以指定数据文件的位置,这样当数据服务器的一块硬盘空间满时,可以增加一块硬盘,并且在扩展分区时把新的分区数据文件存放到指定的分区中;
3、当要删除过期的历史数据时,只要删除那个分区即可,MySQL 会把那个分区文件也删除,并且释放磁盘空间。

现在对 MongoDB 都不太熟,我们初步的方案是,业务数据(用户清单、设备清单、权限、区域等数据)依旧放在 mysql 中,设备历史数据存在 MongoDB 中。但是在 MySQL 中可以解决的前面说的三个问题,在 MongoDB 中如何处理?MongoDB 虽然说查询速度比 MySQL 快很多,但是本人测试一个 Collection 在 70亿行数据量的情况下,查询的响应速度就不能满足需要了;在磁盘空间用尽时如何扩展;历史数据如何清除并释放空间。这几个方面有没有现成的方案。
...全文
304 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灰狼 2017-08-24
  • 打赏
  • 举报
回复
引用 1 楼 rucypli 的回复:
mongodb没有分区表 但是有ttl索引 可以自动清理过期数据
可以动态扩展磁盘容量吗
rucypli 2017-08-23
  • 打赏
  • 举报
回复
mongodb没有分区表 但是有ttl索引 可以自动清理过期数据

1,798

社区成员

发帖
与我相关
我的任务
社区描述
MongoDB相关内容讨论区
社区管理员
  • MongoDB社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧