把 mongo 当作主数据库的疑问

2017-09-20 23:08:22 +08:00
 xing393939
新公司主数据库基本是 mongo,用了一段时间感觉有这个问题(对比 mysql ):

不能清晰知道表结构,mysql 则一目了然,mysql 相当于有了表定义的文档。而 mongo 数据机构可以是多维、多数据类型,每条记录字段可多可缺,这样感觉维护性很差,非得靠强硬的团队规范来保证数据结构的一致。

不知道大家对这个有什么看法呢
5183 次点击
所在节点    MongoDB
10 条回复
a87150
2017-09-20 23:10:22 +08:00
期待 yinwang 拯救世界。
xiaxiaokang
2017-09-20 23:30:21 +08:00
作为一个不是后端开发的说下看法,关系型数据和非关系型数据的使用具体看场景,例如资讯型平台 mongo 绝对是最佳选择,而电商则不太适合,而且对于 mysql 新增字段必须修改表结构而 mongo 则不需要。现在互联网需求变更及其快,使用关系型就会对表结构不断的修改挺麻烦,当然关系型和非关系型是相互依存关系,而并非二选其一的情况,从性能角度来讲,多表操作和单结构体操作性能可想而知,不要排斥到底使用那个作为数据库,而多考虑业务场景选择那种数据库! 作为前端理解只能到这里,有不对可以指正
a342191555
2017-09-20 23:51:43 +08:00
1、mongo 本身是为了非结构化数据而准备的,如果需要范式化的数据,我感觉用关系型数据库会更好。

2、mongo 有[Document Validation]( https://docs.mongodb.com/manual/core/document-validation/)实现了一定程度上字段的固定功能,在某些方面(例如字符串的约束等)比 MySQL 做得更多。

3、在一些可视化工具中,如[MongoDB Compass]( https://www.mongodb.com/products/compass)和[Studio 3T]( https://studio3t.com),可以以 Table 形式组织和显示数据。
a342191555
2017-09-20 23:55:21 +08:00
回复中不能用 markdown 么?😳

格式错乱😂
willhunger
2017-09-21 08:07:32 +08:00
@a342191555 不可以
nullcc
2017-09-21 09:23:37 +08:00
原来一个长期的项目我们团队也是用 mongodb 做主力开发,不过后来还是觉得关系型数据库做主力,NoSQL 类的做辅助,放一些诸如 log 的简单数据比较好。
EricFuture
2017-09-21 09:47:59 +08:00
你的转变成 nosql 的思维,刚开始从 mysql 转 mongo 也是各种不适应,现在感觉 mysql 反而用得不顺手了。两种数据库各有各的长处,主要看需求吧
Immortal
2017-09-21 09:52:53 +08:00
同意 6L
非关系数据库有些需求的数据查起来简直不要不要的
还是不太建议 mongo 当主库 把一些数据量大,查询简单,有归档性质的放 mongo 里比较不错

目前我负责的项目主库还是 mysql
hantsy
2017-09-21 11:20:27 +08:00
拿 Mongo 与 RDBMS 比就没办法了。

NOSQL 越来越流行,特别在互联网应用中。使用 NOSQL,首先要转换 RDBMD 的关系思维,如果什么都是以关联关系去想,NOSQL 根本就用不起来。

三年前一个程序中就开始用 Mongo 用作主要数据库,另外配合 ElasticSearch 作产品搜索,Hazecast 作缓存共享之内的。

现在的项目开发中,基本都用到多种数据库混合,Redis,Neo4j, Mongo,ElasticSearch,Cassandra,RDBMS ( MSQL,PostgreSQL ) 等,根据场景需要选择合适数据库,但不得不说,用 RDBMS 的情况越来越少。
gosky
2017-09-21 11:21:58 +08:00
这有什么
不是一个结构的,不放一个集合不就行了
难道你还想把它当 sql 数据库用?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/392397

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX