专栏首页CSDN技术头条NoSQL数据库在现代应用程序中的作用

NoSQL数据库在现代应用程序中的作用

数据模型驱动不仅可以建立有效的应用程序,也可以有效地修改以合并新的特性。他们是“real-world”问题的解决和软件世界模仿现实世界的行为之间的桥梁。(是的,软件可以创造奇迹,但如果不是追求更简单生活没有人需要这些软件!)本文论述了NoSQL数据库在现代的应用软件发挥作用。

驱动力

在过去的几年中,有一个巨大的转变则是在应用程序开发平台栈的选择上。传统的WAMP和LAMP被逐步淘汰,而MEAN、CEAN等逐渐发挥出优势。这种转变是有很多原因的。最根本的原因是对现代Web的期望。最近的预期是Web应用程序已经不仅仅是局限于信息的传递。今天我们在Web应用程序的交互中,信息处理和内容分析已成为了非常关键的部分。这也常被称为Web 2.0。未来持续增长的智能设备和传感器连接到互联网,继续利用越来越多的由应用程序用户生成的数据来提供智能化的增值作用(也称为Web 3.0)。

这种Web应用程序转变的范例中需要丰富的数据。同时,使数据可供消费是同样重要的,而且不可用数据怎样阻碍了预期用户体验和应用程序的开发成为了另一个主题!但是,值得一提的是,大多数面向用户的应用程序都需要从多个数据源(数据源)中消费和处理数据。作为一个极端的例子,一个旅游预订网站可能需要依赖于多个航空公司的航班数据和票务,而信用卡处理来自另一个第三方,行程公布又从另一个地方…更不要说,他们还可能会导致用户在社交媒体上分享他们的预订经验,从他们自己的Web应用程序中就像一个用户的端到端体验的一部分。

很好,我依然没有把NoSQL的作用完全呈现给你。你或许仍然想知道NoSQL所有的作用。因此,让我们继续。不管怎样,了解如下的变化是非常重要的。今天引导我们开始利用新的解决方案,这些解决方案在大多数情况被创造或者被开发,因为他们不仅非常依赖今天或者仅仅因为今天是可能的(对比指责以前的计算机革命)。

NoSQL允许复杂的结构

SQL数据库是结构化的。但是,在处理应用程序需求时,由于字段范围、外键关系、规范化技术等,他们会导致某种程度的缺陷。例如,一个客户订单对象往往是分成表头和详细类型的标准化表的结构。NoSQL,另一方面不仅可以处理在一个单一结构中的表头和细节。所以,尽管数据模型的结构可能是复杂的,它支持建立接近一个 “真实世界”的实体。当然,,这种能力的成本是把数据完整性管理推到了程序应用层。

NoSQL与基于REST架构

如果您使用Web服务或API,碰巧你的API默认为JSON响应(如果不是,你应该尝试)。NoSQL数据库,如MongoDB和CouchDB是按JSON格式的存储数据(称为文档)。这使编码API响应比接收数组容易得多。采用更高等级的API导致高度集成的应用程序,NoSQL数据库很适合在存储方面,提供和消费信息。

NoSQL带来可伸缩性

NoSQL数据库设计的思想是拆分为多节点数据库,从而提供了极大的可伸缩性特性。例如,MongoDB目前可以扩展到超过100个节点,这些节点可以分布在不同的数据中心或地方。许多NoSQL数据库也已经开始支持多个节点数据分区,有助于选择规模更大的数据集的计算资源,同时也减少了不必要的复制,从而减少数据重复可伸缩性的成本。

因此,SQL还是NoSQL?

这取决于应用程序和特定场景。不,这是真实的,因为有许多因素,如:

  1. 开发工具和技术可能不支持NoSQL的;
  2. 首选供应商(首选战略伙伴关系等许多原因)在您的公司中可能仍然是一个传统的SQL数据库;
  3. 首选的数据库供应商可能会提供一些在传统的数据库中有NoSQL-like的特性,可以满足当前应用程序的需求;
  4. 数据模型可能是这样的,选择真的没有什么区别;
  5. 你支持开源代码(从一个企业支持的观点);
  6. 你的同事(开发人员、测试人员等)可能还不熟练。

因此,为您的应用程序选择什么样的数据库是一个架构层面的决定。因此,这篇文章绝不是来影响你选择倾向的,但是它能提高了人们对NoSQL被广泛接受的意识和突出NoSQL在现代应用程序中所起的作用。

结论

重要的是要了解如今的网络应用程序,如何适应现代技术的期望。用需求、路线图和来自用户的期望(特别是直接用户交互)来平衡NoSQL的趋势是非常重要的。最后,记住–需要驱动数据模型和数据模型驱动来自于SQL或NoSQL的选择。关于这点,没有错误的答案,每个人都可以尝试去解答!

原文链接:Role of NoSQL Databases in Modern Applications

审校:温国兵,责编:孙思。

CSDN原创文章,禁止转载。

本文分享自微信公众号 - CSDN技术头条(CSDN_Tech)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-03-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • NoSQL再次败北——坚持使用SQL的原因

    【编者按】NoSQL拥有可扩展性和超高吞吐量的能力,然而这却没有发挥实际的优势,同时它不具备关系数据库所有的智能操作,虽然具有无模式存储的优势,却无形中增加了代...

    CSDN技术头条
  • 【BDTC先睹为快】介文清:使用NoSQL技术解决新问题

    2014年12月12-14日,由中国计算机学会(CCF)主办,CCF大数据专家委员会承办,中科院计算所与CSDN共同协办的2014中国大数据技术大会(Big D...

    CSDN技术头条
  • NoSQL— 依然顽强进取的小众

    近日,InfoWorld的一篇报道对于Garnter的数据库市场分析报告做了解读:数据库市场中甲骨文、微软和IBM依然位列市场份额的前三强,而众多NoSQL虽然...

    CSDN技术头条
  • 天天在讲的 NoSQL 数据库到底是个什么鬼?

    NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。

    民工哥
  • 子账号已授权CDN全读写策略,调用V2接口GetHostInfoByHost报错无权限?

    由于新一代的V3接口上线,大多数用户已将业务调用接口迁移至V3,还有一部分用户还在使用V2版本的接口,在对子账号授权时,可能会出现如上疑问。

    任雯霄
  • python列表和元组(第二章)

    python包涵6中内建的序列(列表,元组,字符串,Unicode字符串,buffer对象和xrange对象),本章讲常用的2中类型:列表和元组。

    py3study
  • 如果使用得当,MySQL也可以化身NoSQL

    随着互联网和移动互联网的发展,各个机构都需要支撑远超过以往的数据。而在这个需求的刺激下,IT领域出现了大量数据处理技术,其中之一就是NoSQL。灵活的数据类型,...

    CSDN技术头条
  • NoSQL——非关系型数据库简述

    关系型数据库是以行和列的形式存储数据,并以表的形式组成了数据库,其数据查询是用query来检索的。 NoSQL(Not Only SQL),非关系数据库,顾名...

    lonelydawn
  • 谷歌发布分类模型EfficientNet-EdgeTPU,运行速度比ResNet-50快10倍

    谷歌在3月份推出了Coral Dev Board,采用张量处理器(Edge TPU)AI加速器芯片,以及一个USB加密狗,旨在加速现有Raspberry Pi和...

    AiTechYun
  • 2018 NLPCC Chinese Grammatical Error Correction 论文小结

    这一段时间,笔者一直在研究语音识别后的文本纠错,而就在八月26-30日,CCF的自然语言处理和中文计算会议召开了,笔者也从师兄那里拿到了新鲜出炉的会议论文集,其...

    zenRRan

扫码关注云+社区

领取腾讯云代金券