证明使用MongoDB是正确的

时间:2017-08-18 09:08:21

标签: mongodb mongoose rdbms nosql

我对全栈开发非常陌生,我需要帮助证明MongoDB用于我的Web应用程序。我还使用mongoose及其基于模式的解决方案来模拟应用程序数据。

我构建了一个简单的网络应用程序(网站),用于显示图库中的艺术项目。在开发过程中,我不断发现我需要在我的模式中添加其他字段。因为MongoDB非常灵活并且允许动态修改模式,所以这非常有用。

我觉得非常有吸引力的另一件事是MonogDB使用人类和机器可读的JavaScript Object Notation(JSON)。

因为我不熟悉关系数据库管理系统和关系数据库,所以现在我没有说明使用MongoDB与其他人相比的好处。

请帮忙。

2 个答案:

答案 0 :(得分:1)

如果您的应用程序需要事务(原子批处理操作全部或全部),并且您不希望跨多个实例扩展数据库,请不要使用Mongodb但使用某些SQL数据库系统。 / p>

Mongodb用作数据的数据库,通常不尊重某些模式,而SQL数据库系统需要模式,并在将数据保存到数据库之前提供验证数据的层。

使用文档(Mongodb row' s版本)时,在应用与其他文档的关联方面有一些技巧,通常不遵循一些规范化规则,并且取决于你需要什么时候你从那份文件中读到 有时,如果集合A中的文档与集合B中的文档有关系,则可以添加引用ID(外键),整个文档或外键以及所需的字段,以避免从其他文档中读取。

Mongodb还有聚合框架,它是bultin功能,用于对大量数据进行计算操作,这些数据存储在驻留在不同主机上的不同节点中。 当您拥有如此多的数据,并且想要在SQL数据库上扩展时,您必须将所有数据存储在单个主机或同一网络上,并且您必须垂直扩展;使用Mongodb,您可以使用许多商品硬件来扩展数据。

说到Mongodb架构,它提供了巨大的可扩展性,Mongodb提供了一个分片系统,使您可以将数据库分割成不同的分片,每个分片都遵循某种规则。高可用性,通过副本集系统实现即时恢复,每当主节点落入只能写入时,辅助节点(仅读取)选择一个节点取代它。

最重要的是要记住要保存的数据类型。如果您的数据没有稳定的架构,并且您有很多交易(至关重要),那么请不要使用mongodb。

不要忘记您可以使用两个数据库系统,每个系统都可以满足您的需求。

答案 1 :(得分:-1)

在MongoDB中,数据不以表格格式存储。它们表示为文件。简单来说,当您需要更新或更改任何信息时,可以节省大量时间。在MySql中,你必须为每个小东西写一个单独的查询。但在这里,您可以在很短的时间内动态修改数据。在MongoDB中,您可以存储任何类型的数据。您也可以轻松访问它们。这是增长最快的数据库。

嗯,MongoDB不支持 join 操作,而是使用多维数据类型。它也不支持事务,也不支持 rollbacks (返回上一个事务的能力)。 当您必须处理大量或大量数据时,最好使用MongoDB。 MySql的缺点是它以表格形式存储数据,这是无效的。 MongoDB克服了这个缺点。