php与nosql_NoSQL不仅仅与BigData有关

php与nosql

关于SQL与NoSQL的话题有很多争论,这也许是我们理解和学习什么是存储数据的最佳方法的自然方法。 在MongoDB聚合框架上发布了小型实验之后,JOOQ团队向我提出了挑战 ,要求我将结果与Oracle相匹配。 将MongoDB与Oracle匹敌是对Mongo的荣幸,因为Oracle可能是最好SQL DB引擎。 作为一个简单的实验,得出任何结论都是很危险的,因为我只测试了开箱即用的Mongo性能,而没有利用任何优化。 我将把优化部分留作以后的主题,并在这篇文章中专门说明为什么NoSQL是Architect的工具箱中的一个很棒的工具。

我真的很喜欢JOOQ如何保护SQL,并且我不断从他们的博客JOOQ文档中学到很多东西。 SQL是对数据建模的最佳方法之一,我的大多数项目需求都要求使用关系数据模型。 我总是会推荐Oracle与任何其他免费的RDBMS,因为使用最好的可用工具会更安全,但是并不是我们所有的客户都希望将钱花在Oracle许可证上,因此,我们必须在MySQL或MySQL之上构建他们的产品。 PostgreSQL(到目前为止不是大问题)。

但是,即使对于SmallData,我们也已经成功使用NoSQL。 我相信多语种持久性是可行且具有成本效益的。 因此,在以下一些用例中,MongoDB是适合正确工作的正确工具:

1. Web资源监控

我们的项目之一需要处理来自各种提供商的媒体资源,并且由于我们必须下载它们,因此我们想知道其中哪些资源提供商正在减慢我们的工作流程。 因此,我们考虑将定时事件记录在仅100000个文档的上限集合中,并且由于它具有固定的大小,因此我们不必担心磁盘空间用完或实现删除机制。 计时事件是异步处理的,并且借助MongoDB聚合框架,我们可以计算最新的平均主机时间响应,并将结果通过JMX导出到我们的集中式管理应用程序。 设计和实现它是如此容易,并且它就像一种魅力。

2.永久缓存

一些媒体资源会经过复杂的处理流程,我们总是可以从以前计算的数据的缓存结果中受益。 从Java对象到MongoDB文档,不涉及ORM,这简化了此缓存解决方案的设计/实现。

3.时间序列图

这是我最喜欢的例子之一。 在这个相当简单的项目中,我们必须在一个非常用户友好的UI图形中显示一些时间序列,然后我们Swift用JavaScript实现了所有内容。 MongoDB存储了时间事件,并且一些异步批处理任务正在预先计算时间序列。 中间件是在Node.js上实现的,而客户端与服务器之间的通信是在socket.io上使用WebSockets的。 从数据库到UI图,无需进行任何转换,因为所有内容均基于JSON。

现在,引用前面提到的JOOQ帖子:

50M不是大数据

欧洲核子研究组织拥有大数据。 谷歌呢。 Facebook的。 你不知道 50M不是“大数据”。 这只是您的平均数据库表。

CERN确实有BigData和大型基金,并得到了欧洲共同体的支持,因此他们可以负担他们想要选择的任何解决方案。 谷歌拥有BigData,它启发了Hadoop,使诸如Hunk之类的产品成为可能,甚至可以使拥有大量日志(待分析)的小型公司从中受益。 Facebook确实有BigData,并且仍然使用MySQL,这是SQL可以扩展的有力证明。

由您决定您的产品数据是否适合关系数据模型或文档/图形/宽列存储范例。

参考: NoSQL不仅与我们的JCG合作伙伴 Vlad Mihalcea的Vlad Mihalcea博客博客中的BigData有关

翻译自: https://www.javacodegeeks.com/2014/01/nosql-is-not-just-about-bigdata.html

php与nosql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值