NoSQL简单介绍

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: nosql是个什么东西?   NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。简单来说就是是一项全新的数据库革命性运动。现在听得比较多的NoSQL

nosql是个什么东西?

   NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。简单来说就是是一项全新的数据库革命性运动。现在听得比较多的NoSQL数据库有Redis、MongoDB、HBase等。

nosql为什么会出现?

  平时大家见到或听到的数据库类型如MySQL、Oracle 都是关系型数据库,那么提出 NoSQL这个非关系型数据库当然就是为了弥补关系型数据库的一些缺点。

那么关系型数据库到底有那些缺点呢?


  ①High performance - 高并发时的性能问题,当数据库处于高负荷运转时,关系型数据库的性能会遇到瓶颈,这个时候的数据库操作会变得更加的费时,虽然可以使用memcached解决,但是也会带来hash不一致等问题.例如:web2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信息,所以基本上无法使用动态页面静态化技术,因此数据库并发负载非常高,往往要达到每秒上万次读写请求。关系数据库应付上万次SQL查询还勉强顶得住,但是应付上万次SQL写数据请求,硬盘IO就已经无法承受了。其实对于普通的BBS网站,往往也存在对高并发写请求的需求。
  ②2、Huge Storage - 对海量数据的高效率存储和访问的需求。对于大型的SNS网站,每天用户产生海量的用户动态,以国外的Friendfeed为例,一个月就达到了2.5亿条用户动态,对于关系数据库来说,在一张2.5亿条记录的表里面进行SQL查询,效率是极其低下乃至不可忍受的。再例如大型web网站的用户登录系统
  ③High Scalability && High Availability- 对数据库的高可扩展性和高可用性的需求。在基于web的架构当中,数据库是最难进行横向扩展的,当一个应用系统的用户量和访问量与日俱增的时候,你的数据库却没有办法像web server和app server那样简单的通过添加更多的硬件和服务节点来扩展性能和负载能力。对于很多需要提供24小时不间断服务的网站来说,对数据库系统进行升级和扩展是非常痛苦的事情,往往需要停机维护和数据迁移.

那么非关系型数据库到底有那些优势呢?

  NoSQL的优势就在于解决以上问题,首先当数据之间解除关系依赖后,NoSQL的数据库可以轻易地部署在分布式系统上,这样通过多台机器可以分担单一机器的高负荷,解决高负荷下的性能瓶颈问题。同时,由于数据之间无关系,所以可以随时增加或删除字段。还有,就是因为结构简单,它的反应能力比关系型数据库快多了。
总的来说,NoSQL有着高扩展性、分布式计算、低成本、架构的灵活性、半结构化数据等特点。比如在存储微博信息这种场景下,就是非常适合使用NoSQL数据库。

NoSQL 没毛病,为什么 MySQL 还是“王”?


  NoSQL 出现时,许多人认为关系型数据库已进入死亡倒计时,MySQL 将退出舞台。然而,在目前的各种数据库榜单中,MySQL 依然保持着领先地位。更令人惊讶的是,虽然甲骨文的受欢迎程度在不断下降,但 MySQL 保持着稳定。 为什么?而且前面看了一些阿里的讲座,阿里的技术大佬说阿里用的就是MySQL数据库。而且相关可靠数据显示目前国内的科技公司几乎都在使用MySQL。
  不过 MongoDB 并没有推翻 MySQL,也没有挤垮 Apache Cassandra 或 Apache Hadoop,它们各自有拿得出手的专属使用案例。部分原因源于当今大多数大数据的性质:本质上仍然是事务性的。
  这恰恰也是 MySQL 受欢迎的核心:它是最适合广泛数据库从业人员技能的数据库。他们甚至可以利用从 Oracle、IBM DB2 和 Microsoft SQL Server 学习到的东西,将其应用到这个无处不在、免费和开源的数据库。
  Morgan所说:“NoSQL负责缩放,像我们的生活一样,有时会大吃一顿,有时却要节食减肥,所以只有严格的纪律和谨慎的管理才能适用。”其次,拥有足够多的用例,开发人员才有动力尝试,社区对于DBA来说也是很大的影响因素。Server Density CEO David Mytton 强调:我们都想要RDS这样的服务,Aurora解决了MySQL的很多痛点。
  这也就是为什么MySQL在面世21年后(1996年MySQL 1.0发布)成为地球上最受欢迎的数据库。它没有像Oracle一样贴上“企业级”的标签,也没有像NoSQL以“定制化”为标签来进行营销,但它就是成为了现代开发者的首选数据库。

“免费”、“强大”、“成熟”

这三点就足以使得MySQL站在数据库领域的顶峰,笑傲江湖。

分布式系统介绍:

  分布式系统的核心理念是让多台服务器协同工作,完成单台服务器无法处理的任务,尤其是高并发或者大数据量的任务。分布式是NoSQL数据库的必要条件。
  分布式系统由独立的服务器通过网络松散耦合组成的。每个服务器都是一台独立的PC机,服务器之间通过内部网络连接,内部网络速度一般比较快。因为分布式集群里的服务器是通过内部网络松散耦合,各节点之间的通讯有一定的网络开销,因此分布式系统在设计上尽可能减少节点间通讯。此外,因为网络传输瓶颈,单个节点的性能高低对分布式系统整体性能影响不大。比如,对分布式应用来说,采用不同编程语言开发带来的单个应用服务的性能差异,跟网络开销比起来都可以忽略不计。
  因此,分布式系统每个节点一般不采用高性能的服务器,而是使用性能相对一般的普通PC服务器。提升分布式系统的整体性能是通过横向扩展(增加更多的服务器),而不是纵向扩展(提升每个节点的服务器性能)实现。
  分布式系统最大的特点是可扩展性,它能够适应需求变化而扩展。企业级应用需求经常随时间而不断变化,这也对企业级应用平台提出了很高的要求。企业级应用平台必须要能适应需求的变化,即具有可扩展性。比如移动互联网2C应用,随着互联网企业的业务规模不断增大,业务变得越来越复杂,并发用户请求越来越多,要处理的数据也越来越多,这个时候企业级应用平台必须能够适应这些变化,支持高并发访问和海量数据处理。分布式系统有良好的可扩展性,可以通过增加服务器数量来增强分布式系统整体的处理能力,以应对企业的业务增长带来的计算需求增加。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
存储 监控 NoSQL
九大核心NoSQL数据库及使用场景详解
【10月更文挑战第6天】在当今大数据与云计算飞速发展的时代,NoSQL数据库以其灵活的数据模型、可扩展性和高性能,成为了众多应用场景下的首选。本文将为您详细介绍九大核心NoSQL数据库及其典型使用场景,帮助您在工作和学习中更好地选择和应用。
68 3
|
3月前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
20天前
|
存储 缓存 NoSQL
常见的 NoSQL 数据库有哪些?
常见的 NoSQL 数据库有哪些?
29 2
|
2月前
|
存储 SQL JSON
介绍一下RDBMS和NoSQL数据库之间的区别
【10月更文挑战第21天】介绍一下RDBMS和NoSQL数据库之间的区别
72 2
|
2月前
|
存储 SQL NoSQL
数据库技术深度探索:从关系型到NoSQL的演变
【10月更文挑战第21天】数据库技术深度探索:从关系型到NoSQL的演变
50 1
|
2月前
|
存储 NoSQL 搜索推荐
nosql
【10月更文挑战第14天】nosql
25 2
|
2月前
|
NoSQL MongoDB 数据库
MongoDB是一个NoSQL数据库,有着多种不同的命令和操作。以下是一些常见的MongoDB命令:
一些常用的MongoDB命令,如数据库和集合的管理、数据的插入、查询、更新、删除以及聚合操作等。
25 1
|
2月前
|
NoSQL 前端开发 MongoDB
前端的全栈之路Meteor篇(三):运行在浏览器端的NoSQL数据库副本-MiniMongo介绍及其前后端数据实时同步示例
MiniMongo 是 Meteor 框架中的客户端数据库组件,模拟了 MongoDB 的核心功能,允许前端开发者使用类似 MongoDB 的 API 进行数据操作。通过 Meteor 的数据同步机制,MiniMongo 与服务器端的 MongoDB 实现实时数据同步,确保数据一致性,支持发布/订阅模型和响应式数据源,适用于实时聊天、项目管理和协作工具等应用场景。
|
2月前
|
存储 SQL 分布式计算
NoSQL 简介
10月更文挑战第10天
36 0
|
3月前
|
存储 NoSQL 关系型数据库
NoSQL 数据库的优缺点?
NoSQL 数据库的优缺点?
110 4