作者回复: 如果是传统用来做星形schema或者雪花schema,不是太合适。如果是用来做现代数仓,类似于大数据那样做大宽表,mongodb可以作为一个选择。我在我自己的类似数仓的平台产品里就用了mongodb。 有一些比较不错的亮点是:横向扩展能力,多结构化数据支持,检索能力,元数据管理等
作者回复: 很高,如果你考到了,我可以帮你找一个加薪机会跳槽 :)
作者回复: mongodb的官方文档工具升级后就不支持非英语语言的合并,造成翻译的文档难以更新。这个问题我们已经反应给官方,我们还在看有无机会等他们更新工具后重新启动新版翻译。
作者回复: BSON 是MongoDB用来在落盘存储时候或者网络传输时候的底层物理数据模型。如果你是存储引擎开发者或者mongodb驱动程序开发者,你需要从这个层面去了解。如果你是绝大部分的应用开发者或者数据库使用者,你只需要关心JSON。 BSON = Binary JSON, 是基于JSON基础上加了一些类型及元数据描述的格式。
作者回复: MongoDB不是一个专门的IoT,但是可能在70%-80%的IoT场景下它可以是个不错的选择。只有你在考虑有几十亿几百亿的量级,并且要做海量数据分析的时候,Mongo的行级存储特性会使得它不是最优的选择。这个时候要考虑专门的IoT数据库了。 Mongo的优势:1)足够好的扩展能力来支撑大部分的IoT时序数据的存储,特别是使用了分桶设计以后(第2章我会讲) 2)灵活的JSON模型,特别适合各种传感器的不规则数据结构。 国内的某一大厂物联网方案就是基于mongo的。西门子的工业物联网Mindsphere也是用mongo。非常多的使用者。
作者回复: 谢谢鼓励!
作者回复: ELK 除了存储日志之外,有一些另外的插件比如说Logstash 可以用来用工具方式收集一些日志文件,比如说Kibana可以用来做一些日志分析和可视化的工作。另外ELK在日志全文搜索方面也略胜一筹。 你的场景是从Java 里写日志就没有太大区别了,mongo 和ES都可以很好的解决。当然,像我们公司一样因为已经用MongoDB 作为数据库,那我们就不需要额外再去用另一个分布式系统了。架构可以简单很多,这个可能是mongo能够作为一个通用数据库而不只是某些日志或搜索功能的优势了。
作者回复: 谢谢你!
作者回复: 这个你可以小窗我。 微信号:tjtang826
作者回复: MongoDB是动态Schema,不是无schema。你定了一个schema以后,以后新增字段(在springboot)的时候,直接改就可以了,不需要去数据库调整。这就是它的优越性。