阅读更多

0顶
1踩

数据库
数据模型驱动不仅可以建立有效的应用程序,也可以有效地修改以合并新的特性。他们是“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?

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

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

结论

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

原文链接:Role of NoSQL Databases in Modern Applications
0
1
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • NoSQL数据库概述

    云计算在快速发展的同时也催生了各种类型网络应用的兴起,这些应用同时也对数据库系统相关的架构、存储策略、数据模型、访问接口等关键技术提出了新的需求,我们先来看看随着软件行业的发展,关系型数据库面临了...

  • jsdb:简单的NoSQL,例如用于现代Node.js应用程序的嵌入式JSON数据库

    @ jsweb / jsdb 简单的NoSQL,例如用于现代Node.js应用程序的嵌入式JSON数据库。 Vanilla JSON数据存储香草Javascript API 多个JSON文件(每个商店一个) 异步足够快未经生产中的大型应用程序测试,但建议用于中小型...

  • 大数据技术原理与应用 概念、存储、处理、分析和应用(林子雨)——第五章 NoSQL数据库

    大数据技术原理与应用 概念、存储、处理、分析和应用(林子雨)——第五章 NoSQL数据库

  • 数据库系统之NoSQL数据库系统

    NoSQL数据库系统是在21世纪初开发出来的,以应对日益增长的互联网使用和移动地理定位技术产生的大量数据处理需求. 传统的解决方案要么太昂贵、不容易扩充,要么需要太多时间来处理数据。 现代NoSQL数据库系统“借用...

  • 支持事务的nosql数据库_事务性NoSQL数据库

    支持事务的nosql数据库 Java平台在几乎整个生命周期中都经历了极大的痛苦,以使数据库持久性对开发人员尽可能地无缝。 无论您是在最早的JDBC规范,EJB,Hibernate之类的O / R映射器上还是在最近的JPA规范上,您都...

  • 如何让NoSQL内存数据库适合企业级应用

    如何让内存NoSQL数据库适合企业级应用作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs英文原文:How to Make Your In-memory NoSQL Datastores Enterprise-Ready对于每一个关注用户体验的Web应用或...

  • nosql数据库是什么_什么是NoSQL数据库?

    nosql数据库是什么Most of you have already heard of the term NoSQL Database and when you try to do a Google search of it, it’s not really clear in terms of what exactly this entire concept is....

  • NoSQL数据库在物联网中的应用

    物联网的发展对于现代社会产生了重要影响,它改变了我们的生活方式、工作方式和经济模式。 随着物联网的普及和发展,数据的产生量和规模不断增长。这些数据包括设备的状态数据、传感器数据、用户行为数据等,需要...

  • NoSQL数据库简介

    NoSQL数据库 NoSQL简介 NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。 在现代的计算系统上每天网络上都会产生庞大的数据量。这些数据有很大一部分是由关系数据库管理系统(RDBMS)来处理。 1970年 E...

  • NoSQL数据库在社交网络中的应用

    1.背景介绍 ...因此,NoSQL数据库在社交网络中的应用越来越重要。 NoSQL数据库是一种不使用SQL语言的数据库,它们的特点是高性能、可扩展性和灵活性。NoSQL数据库可以处理大量数据,并在分布式...

  • 深入解读NOSQL

    深入解读NOSQL深入解读NOSQL

  • 分布式nosql数据库_最好的分布式NoSQL数据库

    分布式nosql数据库 NoSQL的现代意义可以追溯到2009年,它指的是不基于关系表构建的数据库,这与SQL数据库不同。 通常, NoSQL数据库比传统SQL 数据库拥有更好的设计灵活性,水平可伸缩性和更高的可用性,有时以牺牲...

  • 4 种不适合使用 NoSQL 数据库的场景

    我们可以用NoSQL来解决哪些问题?同样重要的是,NoSQL在哪些方面不适合使用?不同的方法 (NoSQL 和 NewSQL) 在哪些方面才能显示它们的优势?...不要让我们产生误解,NoSQL数据库对于许多工作负载和应用程序是非常

  • nosql数据库总结

    主要解决的是海量数据的访问效率问题,为WEB应用提供可扩展的高性能数据存储解决方案。当数据量达到50GB以上的时候,MongoDB的数据库访问速度是MySQL的10倍以上。MongoDB的并发读写效率不是特别出色,根据官方提供的...

  • 15个nosql数据库

    主要解决的是海量数据的访问效率问题,为WEB应用提供可扩展的高性能数据存储解决方案。当数据量达到50GB以上的时候,MongoDB的数据库访问速度是MySQL的10倍以上。MongoDB的并发读写效率不是特别出色,根据官方提供的...

  • 【转】为什么使用 NoSQL 数据库

    本文转自:“译:为什么使用 NoSQL 数据库” FortuneL的自习室 2017年7月向数据时代的转变正在推动 NoSQL随着各行各业朝着数据时代转变,商业世界正在经历巨大的变革。这是由互联网以及其他二十一世纪新技术——...

  • 一文读懂非关系型数据库(NoSQL)

    这些数据有很大一部分是由关系型数据库管理系统(RDBMSs)来处理,其严谨成熟的数学理论基础使得数据建模和应用程序编程更加简单。但随着信息化的浪潮和互联网的兴起,传统的RDBMS在一些业务上开始出现问题。首先,...

  • 【java毕业设计】新冠疫情下的校园出入系统源码(ssm+mysql+说明文档+LW).zip

    功能说明: 本系统主要包括以下功能模块:个人中心,通知公告管理,用户管理,工作人员管理,进门登记管理,出门登记管理,出入统计管理,外来登记管理等模块。 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7及以上 数据库工具:Navicat11及以上 开发软件:eclipse/idea Maven包:Maven3.3及以上 服务器:tomcat7及以上

  • param-1.5.1-cp34-cp34m-win_amd64.whl.rar

    PartSegCore_compiled_backend-0.12.0a0-cp36-cp36m-win_amd64.whl.rar

Global site tag (gtag.js) - Google Analytics