关系型数据库

Redis

大兔子大兔子 提交于 2020-01-16 01:56:46
一、NOSQL redis是一款高性能的NOSQL系列的非关系型数据库 缓存: 缓存的目的,主要是解决低速IO和高速缓存(CPU高速缓存)之间的差异 使用缓存的原则:二八原则:20%的热点数据放入缓存中,80%的数据放入mysql数据中 1.1 什么是NOSQL NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。 随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。 NOSQL和关系型数据库比较 优点 1)成本:nosql数据库简单易部署,基本都是开源软件,不需要像使用oracle那样花费大量成本购买使用,相比 关系型数据库价格便宜。 2)查询速度:nosql数据库将数据存储于缓存之中,关系型数据库将数据存储在硬盘中,自然查询速度远不及 nosql数据库。 3)存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等,所以可以存储基础类型以及对象或者是集合等各种格式,而数据库则只支持基础类型。 4)扩展性

从关系型数据库到非关系型数据库

倖福魔咒の 提交于 2020-01-15 23:07:10
来源:http://blog.csdn.net/robinjwong/article/details/18502195 1. 关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库。 关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐成为主流数据库结构的主流模型。 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。 关系模型中常用的概念: 关系:可以理解为一张二维表,每个关系都具有一个关系名,就是通常说的表名 元组:可以理解为二维表中的一行,在数据库中经常被称为记录 属性:可以理解为二维表中的一列,在数据库中经常被称为字段 域:属性的取值范围,也就是数据库中某一列的取值限制 关键字:一组可以唯一标识元组的属性,数据库中常称为主键,由一个或多个列组成 关系模式:指对关系的描述。其格式为:关系名(属性1,属性2, ... ... ,属性N),在数据库中成为表结构 关系型数据库的优点: 容易理解:二维表结构是非常贴近逻辑世界的一个概念,关系模型相对网状、层次等其他模型来说更容易理解 使用方便:通用的SQL语言使得操作关系型数据库非常方便 易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率 2.

Redis01

偶尔善良 提交于 2020-01-15 23:06:42
Redis概述 1.什么是NoSql 1.1 概念 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,它泛指非关系型的数据库。随着互联网2003年之后web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的交友类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。 Mysql/oracle 关系型数据库:以关系(由行和列组成的二维表)模型为核心数据库. 有表的储存系统 RDBMS (关系型数据库): MySql(现在都喜欢使用开源免费),oracle(有钱 政府 金融),SQLserver,postgrep db2 ,access…等 1.2 分类 2.Redis是什么 (1)Redis 是一个高性能的 开源的、C语言写的Nosql(非关系型数据库),数据保存可以存储在内存中或者磁盘中。 (2)Redis 是以key-value形式存储,和传统的关系型数据库不一样。不一定遵循传统数据库的一些基本要求,比如说,不遵循sql标准,事务,表结构等等,redis严格上不是一种数据库,应该是一种数据结构化存储方法的集合。–数组 list set map … 数据结构:数组,list,set,map等 redis提供了一下操作方法

关系型数据库基础之:简单的数据查询

人盡茶涼 提交于 2020-01-15 07:40:41
5、简单的数据查询: 查询的基本结构: select,from,where,orber by和distinct都是sql查询关键字。 数据库的查询操作分为3种:投影操作、选择操作、排序操作。 投影操作: select 列名列表 from 表; 表名前缀: select t_student.f_name from t_student; 如果从多张表中获取数据就用表名前缀。 列别名: 单表:select 列A as A,列B as B from 表名 as T; 多表:select T.列A as A,T.列B as B from 表名 as T; 计算列: 可以用于计算加、减、乘、除。 排除重复数据: select distinct 列A from 表; distinct的作用是把该列的重复值去掉,每一个值只保留一个。 返回限定行数的查询: select 列A,列B from t_student limit 开始序号; select 列A,列B from t_student limit 开始序号,结束序号; 一个参数:从第一行开始返回指定行数的结果。 两个参数:从指定行开始返回指定行数的结果。 limit后面加数字5代表从1开始显示5行结果;(m,n)代表从(m+1)开始显示n条记录。 limit的序号是从0开始,limit只能用于My SQL中。 limit写在所有语句后

从关系型数据库到非关系型数据库

只谈情不闲聊 提交于 2020-01-15 04:42:28
我今天在网上无意中看到一篇关于‘关系型数据库’与‘非关系型数据库’的阐述,在这里分享给各位爱好者学习 1. 关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库。 关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐成为主流数据库结构的主流模型。 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。 关系模型中常用的概念: 关系:可以理解为一张二维表,每个关系都具有一个关系名,就是通常说的表名 元组:可以理解为二维表中的一行,在数据库中经常被称为记录 属性:可以理解为二维表中的一列,在数据库中经常被称为字段 域:属性的取值范围,也就是数据库中某一列的取值限制 关键字:一组可以唯一标识元组的属性,数据库中常称为主键,由一个或多个列组成 关系模式:指对关系的描述。其格式为:关系名(属性1,属性2, ... ... ,属性N),在数据库中成为表结构 关系型数据库的优点: 容易理解:二维表结构是非常贴近逻辑世界的一个概念,关系模型相对网状、层次等其他模型来说更容易理解 使用方便:通用的SQL语言使得操作关系型数据库非常方便 易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率 2. 关系型数据库瓶颈

Redis—从入门到入土

落花浮王杯 提交于 2020-01-15 04:18:44
传统DB的缺点 像Mysql、和Oracle 这种关系型数据库,虽然有着数据稳定和服务稳定、数据一致性的特点,但也存在一个致命的缺陷: 高并发下DB不稳定 在高并发的情况下,DB的不稳定性,在大量用户访问时DB出奇的慢,因为对磁盘操作需要使用IO流,一个字节一个字节存取操作。要将所有数据读取到内存中后才可以操作。所以在高并发下DB的 高可用 便成了问题。这时NoSQL便应运而生。 什么是NOSQl NoSQL是对不同于传统的关系数据库的数据库管理系统的统称。即非关系型数据库 NOSQL:因为是内存操作数据,非常快,解决了三高问题(高并发、高海量、高可用) 非关系型数据库与非关系型数据库的区别 关系型数据库 非关系型数据库 以文件方式保存 存储在内存中,服务器关闭数据可能会丢失 数据可以永久保存 不能持久化保存,可能导致数据丢失 查询速度慢 存取速度快 常见的NOSQL数据库 Redis 简单翻译下 Redis是一个开源(BSD许可)的内存数据结构存储,用作数据库、缓存和消息代理。它支持诸如字符串、散列、列表、集、带范围查询的排序集、位图、hyperloglogs、带半径查询和流的地理空间索引等数据结构。Redis具有内置的复制、Lua脚本、LRU清除、事务和不同级别的磁盘持久性,并通过Redis Sentinel和带有Redis集群的自动分区提供高可用性

[分布式数据库]数据分片

◇◆丶佛笑我妖孽 提交于 2020-01-14 19:42:51
学生阶段,但凡要做个“系统”,总绕不开的就是数据库。项目中的一些关键数据,通过持久化到数据库,保障系统的可靠性。我们接触最多的就是类似于Oracle、Mysql等数据库。 其实上了班,依旧还是没能绕过数据库,只不过不再单一的将数据存储在关系型数据库,更多的通过其他形式,例如NoSQL,以减少数据库的访问,但是NoSQL依旧无法对关系型数据库致命一击以完全替代关系型数据库,关键的数据持久化依旧还是要存放在数据库。随着国家号召自主可控,Oracle也需要渐渐从主流中剔除(成本和历史的必然)。但是这里还是要说一句,Oracle依旧是关系型数据库中的大佬,别的数据库都只能通过调优的形式去接近Oracle的处理能力却难以超越它。 文章目录 背景介绍 数据分片 垂直分片 水平分片 存在的问题 背景介绍 传统的将数据集中存储至单一数据节点的解决方案,在 性能 、 可用性 和 运维成本 这三方面已经难于满足互联网的海量数据场景。 性能 方面,由于关系型数据库大多采用B+树模型,导致数据量超过阈值的情况下,索引深度的增加导致磁盘IO访问次数增加,导致查询性能下降;同时高并发的访问请求也使得集中式数据库成为系统最大的瓶颈。 可用性 方面,服务化的无状态能达到较小成本的随意扩容,但是导致所有压力都落在数据库,单一架构甚至简单的主从模式已经无力支撑。 运维成本 方面考虑,当数据库达到单一数据库的阈值

mysql数据库总结

眉间皱痕 提交于 2020-01-14 18:41:18
1 、 MySQL 数据库的特点: 持久化存储 读写速度极高 保证数据的有效性 对程序支持性非常好,容易扩展。 MySQL 是一个关系型数据库,核心元素是 数据行(记录) 数据列(字段) 数据表(数据行的集合) 数据库(数据表的集合) RDBMS 主要有两种类型的数据库: 关系型数据库、非关系型数据库 2 、 SQL SQL 是结构化查询语言,是一种用来操作 RDBMS 的数据库语言,不区分大小写。 SQL 语句主要分为: DQL :数据查询语言,用于对数据进行查询。 DML :数据操作语言,对数据进行增加、修改、删除 TPL :事务处理语言,对事务进行处理 DCL :数据控制语言,进行授权与权限回收 DDL :数据定义语言,进行数据库、表的管理 CCL :指针控制语言,通过控制指针完成表的操作 3 、 MySQL MySQL 是一个关系型数据库管理系统。 数据类型 使用数据类型的原则是:够用就行,尽量使用取值范围小的,而不用大的,这样可以更多的节省存储空间。 常用数据型有: 整数: int 、 bit 小数: decimal 字符串: varchar 、 charr 日期时间: date , time , datetime 枚举类型 enum decimal 表示浮点数,如 decimal(5,2) 表示共存 5 位数,小数占 2 位 char 表示固定长度的字符串,如 char

NoSQL之MongoDB开篇

只谈情不闲聊 提交于 2020-01-14 08:59:19
在“NoSQL”一词,实际上是一个Racker创造的,当约翰埃文斯埃里克要组织一次活动来讨论开源的分布式数据库。这个名称和概念都由此而来。 NoSQL的未来一片光明,社交新闻网站Digg近日决定放弃MySQL,并从LAMP(Linux、 Apache、MySQL和Perl/PHP/Python)架构迁移到基于Cassandra的NoSQL架构。不久之前,Twitter也做出了相同的举措。 NoSQL系统在运行时一般会把数据存放在内存中,或者是并行地从许多磁盘上读取数据。其中就有一个问题,“传统”的关系数据库不提供这种模式,因此也没法提供同样的性能。在过去那种数据库中,如果只有几个GB数据,这一问题还不是很明显,但是许多云计算的数据库已经超过了1TB,还会有更多的大规模数据库会被用来支撑不断发展的云计算系统。在关系型数据库上对大规模数据进行操作是兵家大忌,因为在处理数据时SQL请求会占用大量的CPU周期,并且会导致大量的磁盘读写。 非分布式NoSQL数据库包括CouchDB,MongoDB,Neo4j,Redis,和Tokyo Cabinet。这些可以作为分布式系统持久层; MongoDB提供有限的共享支持,做了单独的休息室为CouchDB项目,和Tokyo Cabinet可作为Voldemort存储引擎使用。 数据和查询模型 在NoSQL里有很多不同的数据模型和数据库的查询API。

关系型数据库(SQL)相关练习题目

巧了我就是萌 提交于 2020-01-13 19:18:11
一、简答题。 1. MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)的区别(至少5点)? 答:首先呢,我们要知道,引擎(Engine)是电子平台上开发程序或系统的核心组件。利用引擎,开发者可迅速建立、铺设程序所需的功能,或利用其辅助程序的运转。一般而言,引擎是一个程序或一套系统的支持部分。常见的程序引擎有游戏引擎,搜索引擎,杀毒引擎等。简单来说,存储引擎就是指 表的类型以及表在计算机上的存储方式 。 存储引擎的概念是MySQL的特点,Oracle中没有专门的存储引擎的概念,Oracle有OLTP和OLAP模式的区分。不同的存储引擎决定了MySQL数据库中的表可以用不同的方式来存储。我们可以根据数据的特点来选择不同的存储引擎。 在MySQL中的存储引擎有很多种,我们可以可以通过“SHOW ENGINES”语句来查看。关于InnoDB、MyISAM、MEMORY这三种存储引擎的区别如下: 1).InnoDB存储引擎 InnoDB给MySQL的表提供了 事务处理 、 回滚 、 崩溃修复能力 和 多版本并发控制 的事务安全。在MySQL从3.23.34a开始包含InnnoDB。它是MySQL上第一个提供外键约束的表引擎。而且InnoDB对事务处理的能力,也是其他存储引擎不能比拟的。靠后版本的MySQL的默认存储引擎就是InnoDB。 InnoDB存储引擎总支持