Nosql介绍

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: Nosql介绍

Nosql

什么是Nosql?

不保持ACID,而Nosql数据库遵循BASE原则**(基本可用(Basically Availble)**NoSQL允许分布式系统中某些部分出现故障,那么系统的其余部分依然可用。它不会像ACID那样,在系统出现故障时,进行强制拒绝,允许继续部分访问、**软/柔性事务(Soft-state )**NoSQL在数据处理过程中,允许这个过程,存在数据状态暂时不一致的情况。但经过纠错处理,最终会一致的。**最终一致性(Eventual Consistency)**NoSQL的软状态允许数据处理过程的暂时不一致,但是最终处理结果将是一致的,说明NoSQL对数据处理过程可以有短暂的时间间隔,也允许分更细的步骤一个一个地处理,最好数据达到一致即可。这在互联网上进行分布式应用具有其明显的优势。)

Nosql=Not Only Sql(不仅仅是sql,通过键值对存储),就是非关系型数据库,用于超大规模的存储(比如京东的那么多用户)这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。

为什么使用Nosql?

随着用户的信息,社交,用户生成的数据和日志爆发式的增长,以前的互联网不发达,流量不大,就一个mysql,mysql数据库就不适合,Nosql数据库库却可以很好的处理这些大 数据

web1.0和web2.0的主要区别

web1.0是基于浏览器的,用户通过浏览器获取内容,即用户只能去浏览已经创作好的内容;

web2.0基于1.0,增加了用户与系统的交互,使用者既是网络内容的获取者,也是网络数据的提供者,例如:论坛、博客、微博等相关社交类型的平台;

POI提供API给Java程序对Microsoft Office格式档案读和写的功能。

poi(point of interest 感兴趣的)用java通过poi这个jar包操作Excel表

Nosql优缺点

优点:方便扩展(数据没有关系,好扩展)、大数据量,高性能(Redis1秒可以写8万次,读取11万,Nosql的缓存是一种细粒度的缓存,性能高**)分布式计算、没有复杂关系,架构灵活**(传统关系型数据库都是结构化的表,nosql可以是列式存储、key-value和文档存储;

缺点:没有标准化(什么样的类型都有)

为什么不使用关系型数据库?

慢慢数据量太大,一台机器放不下

数据的索引,数据超过300万就需要建立索引,不建立索引的话就查询相对慢,内存也放不下访问量大,读写混合,一个服务器承受不了,出现这些情况就需要进阶,然后就进去第二个Memecached(高速缓存插件)+mysql+垂直拆分(也就是读写分离,完了之后才是分库分表),为啥不用orcge因为非常贵。

减轻服务器的数据压力可以用缓存处理(缓存主要用来解决读的问题)

分库分表+水平拆分(mysql集群)

比如有一个人去访问这个网站,然后就去看缓存有没有,会去集群,在比如这几个集群里各放3分之一的数据,通过一些集群机制去找到对应的数据在哪

本质:数据库就是读写

数据库引擎:最早MyISAM:表锁(100万数据,要去查张三的密码,他会把整个这个表锁起来,剩下的进程是不是得这个结果查询出来,效率低,在高并发下就会出现严重的问题),转到Innodb:行锁(明显比表锁效率高,只锁这一行)

慢慢的就使用分库分表解决写的压力。

json也可以当数据库传输

Bson也是数据库交换格式二进制的json,和json差不多

Nosql表现Map<String,Object>存万事万物,

不仅仅是数据,没有固定的查询语言,以键值对(其中的一种),列存储,文档存储,图形数据库(社交关系),最终一致性

–CAP定理和BASE理论 (异地多活):在redis事务中讲

了解3V+3高

大数据时代的3v:主要是描述问题的

海量Velume(特别多)

多样Variety(各种各样)

实时 Velocity(现在还是4g,所以看直播还有延时)

大数据时代的3高:主要是对程序的要求

高并发()

高可扩(随时水平拆分,服务器不够了,可以扩展机器来)

高性能 (保证用户体验和性能!)

真正在公司中实践:关系型数据库+非关系型数据库结合使用才最强 —(阿里巴巴的架构演进)

Nosql的四大分类

kv(键值对):

  • 新浪:Redis
  • 美团:Redis+Tair(集群)
  • 阿里、百度:Redis+memecache(是一个开源、高性能、分布式内存对象缓存系统)

文档型数据库(用的多,bson格式和json一样,bson是二进制)

  • MongoDB(一般必须掌握)在Nosql中
  • MongoDB基于分布式文件存储的数据库,c++编写的、redis也是用c编写的(单进程、单线程) 主要就是用来处理大量的文档,主要解决海量数据的访问效率问题。
  • MongoDB是一个介于关系型数据库和非关系型数据库中间的产品!MongoDB是非关系型数据库,功能最丰富、最像关系型数据库的ConthDB:国外的了解一哈[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XaTLKz3p-1599445583054)(D:\Redis\MongoDB.png)]…mysql是行储存数据库(一行代表一个记录)列存储数据库
  1. HBase(是一个分布式的、面向列的开源数据库、大数据中的)
  2. 分布式文件系统
  • 图形关系数据库(不是放图片的、是放关系的|如社交拓扑图、朋友圈社交网络)
    标准的解决方案Noe4j、infoGrid

四者对比:

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
2月前
|
存储 监控 NoSQL
九大核心NoSQL数据库及使用场景详解
【10月更文挑战第6天】在当今大数据与云计算飞速发展的时代,NoSQL数据库以其灵活的数据模型、可扩展性和高性能,成为了众多应用场景下的首选。本文将为您详细介绍九大核心NoSQL数据库及其典型使用场景,帮助您在工作和学习中更好地选择和应用。
94 3
|
3月前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
1月前
|
存储 缓存 NoSQL
常见的 NoSQL 数据库有哪些?
常见的 NoSQL 数据库有哪些?
48 2
|
2月前
|
存储 SQL JSON
介绍一下RDBMS和NoSQL数据库之间的区别
【10月更文挑战第21天】介绍一下RDBMS和NoSQL数据库之间的区别
120 2
|
2月前
|
存储 SQL NoSQL
数据库技术深度探索:从关系型到NoSQL的演变
【10月更文挑战第21天】数据库技术深度探索:从关系型到NoSQL的演变
86 1
|
2月前
|
存储 NoSQL 搜索推荐
nosql
【10月更文挑战第14天】nosql
30 2
|
2月前
|
NoSQL MongoDB 数据库
MongoDB是一个NoSQL数据库,有着多种不同的命令和操作。以下是一些常见的MongoDB命令:
一些常用的MongoDB命令,如数据库和集合的管理、数据的插入、查询、更新、删除以及聚合操作等。
34 1
|
2月前
|
NoSQL 前端开发 MongoDB
前端的全栈之路Meteor篇(三):运行在浏览器端的NoSQL数据库副本-MiniMongo介绍及其前后端数据实时同步示例
MiniMongo 是 Meteor 框架中的客户端数据库组件,模拟了 MongoDB 的核心功能,允许前端开发者使用类似 MongoDB 的 API 进行数据操作。通过 Meteor 的数据同步机制,MiniMongo 与服务器端的 MongoDB 实现实时数据同步,确保数据一致性,支持发布/订阅模型和响应式数据源,适用于实时聊天、项目管理和协作工具等应用场景。
|
3月前
|
存储 NoSQL 关系型数据库
NoSQL 数据库的优缺点?
NoSQL 数据库的优缺点?
158 4
|
3月前
|
存储 SQL NoSQL
NoSQL数据库
NoSQL数据库
82 4