关系型数据库

MySql学习01----数据库简介

我的梦境 提交于 2019-12-30 07:14:26
一. 什么是数据库 简单的说,数据库(英文Dtabase)就是一个存放数据的仓库,这个仓库是按照一定的数据结果(数据结构是指数据的组织形式或数据之间的联系)来组织、存储的、我们可以通过数据库提供的多种方法来管理数据库里的数据更简单的形象理解,数据库和我们生活中存放杂物的仓库性质一样,区别只是存放的东西不同。 二. 数据库的种类 早期比较流行的数据库模型有三种,分别为层次式数据库、网络式数据库和关系型数据库。而在当今的互联网中,最常用的数据库模型主要是两种,即 关系型数据库和非关系型数据库 。 三. 关系型数据库介绍 关系型数据库 最典型的数据结构是表 ,由二维表及其之间的联系所组成的一个数据组织 优点: 1、易于维护:都是使用表结构,格式一致; 2、使用方便:SQL语言通用,可用于复杂查询; 3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。 缺点: 1、读写性能比较差,尤其是海量数据的高效率读写; 2、固定的表结构,灵活度稍欠; 3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。 四. 非关系型数据库介绍 非关系型数据库也被成为NoSQL数据库,NOSQL的本意是“Not Olnly SQL” 指的是非关系型数据库,而不是“No SQL”的意思,因此,NoSQL的产生并不是要彻底地否定非关系型数据库,而是 作为传统关系型数据库的一个有效补充

PYTOHN2.day11

陌路散爱 提交于 2019-12-30 07:14:09
MongoDB 一.基础概念 1.数据:能够输入到计算机中并被识别处理的信息集合 2.数据结构:研究一个数据集合中,数据之间关系的学科 3.数据库:按照数据结构,存储管理数据的仓库,数据仓库是在数据库管理系统管理控制下一定介质中构建的 4.数据库管理系统:数据库管理软件,用于建立维护数据库 5.数据库系统:由数据库和数据库管理系统等构成的开发工具集合 二.关系型数据库 or 非关系型数据库 1.采用关系模型来组织数据结构的数据库(二维表) [1]常见关系型数据库Oracle DB2 SQLServer Mysql sqlite(python标准库支持) [2]优缺点: 优点:1.逻辑清晰,容易理解,结构类似于常见的表格 2.使用sql语句进行数据操作,技术成熟,使用方便 3.数据一致性高,冗余低,完整性好 4.关系型数据库比较成熟,可以使用一些复杂操作 缺点:1.每次操作需要专门sql语句解析,速度较慢 2.关系型数据可内部往往进行加锁处理也影响了处理速度 3.不能很好的处理海量数据高并发的需求,读写能力差 2.非关系型数据库(NoSql --Not only sql) [1]常见非关系型数据库 1.键值型数据库:Redis(键值对) 2.列存储数据库:HBase(存储速度快,每一列为一个存储单元) 3.文档性数据库:MongoDB,CouchDB 4.图形数据库:Graph [2

Python全栈 MongoDB 数据库(概念、安装、创建数据)

浪尽此生 提交于 2019-12-30 07:13:50
什么是关系型数据库? 是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据, 同时也是一个被组织成一组拥有正式描述性的表格(二维表),该形式的表格作用的实 质是装载着 数据项 的特殊收集体,这些表格中的数据能以许多不同的方式被存 取或重新召集而不需要重新组织数据库表格(即表与表之间的联系)。 nosql和关系型数据库比较? 优点: 1)成本:nosql数据库简单易部署,基本都是开源软件, 不需要像使用oracle那样花费大量成本购买使用,相比关系型数据库价格便宜。 2)查询速度:nosql数据库将数据存储于缓存之中, 关系型数据库将数据存储在硬盘中,自然查询速度远不及nosql数据库。 3)存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等, 所以可以存储基础类型以及对象或者是集合等各种 格式,而关系数据库则只支持基础类型。 4)扩展性:关系型数据库有类似join这样的多表查询机制的限制导致扩展很艰难。 缺点: 1)维护的工具和资料有限,因为nosql是属于新的技术,不能和关系型数据库10几年的技术同日而语。 2)不提供对sql语句的支持,如果不支持sql这样的工业标准,将产生一定用户的学习和使用成本。 3)不提供关系型数据库对事物的处理。 MongoDB简介: MongoDB是一个非关系型数据库

MongoDB入门

给你一囗甜甜゛ 提交于 2019-12-30 04:22:33
1.什么是NoSQL Nosql的全称是Not Only Sql 这个概念早起就有人提出,而我们常用的都是关系型数据库。就像我们常用mysql,sqlserver一样,这些数据库一般用来存储重要信息,应对普通的业务是没有问题的。但是,随着互联网的高速发展,传统的关系型数据库在应付超大规模,超大流量以及高并发的时候力不从心。而就在这个时候,Nosql得到的告诉的发展。 2.为什么要使用NoSQL 单机 MySQL 的美好时代 在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付。 在那个时候,更多的都是静态网页,动态交互类型的网站不多 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yHjk2K6A-1577542875039)(D:\youruike\MongoDB\assets\1575617897290.png)] 上述架构下,我们来看看数据存储的瓶颈是什么? DAL : Data Access Layer(数据访问层 – Hibernate,MyBatis) 数据量的总大小一个机器放不下时 数据的索引(B+ Tree)一个机器的内存放不下时 访问量(读写混合)一个实例不能承受 如果满足了上述1 or 3个时,只能对数据库的整体架构进行重构。 Memcached(缓存)+MySQL+垂直拆分 后来,随着访问量的上升

Redis学习一:Nosql入门和概述

一世执手 提交于 2019-12-30 01:38:56
现在Redis越来越火,为了适应技术的发展,开始学习一下Redis,在学习Redis之前先学习一下Nosql。 第一部分:入门概述 1.1 互联网时代背景下大机遇,为什么用nosql 1.1.1 单机Mysql的美好年代(好几年前) 当时的业务很相对简单,就是JSP--->Action---->Service---->DAO----->数据库,数据库也就是一个实例而已,无论是Mysql还是Oracle。把这五层缩减为三层的话便是:应用层------>DAO层------>Mysql实例。 以前一个网站的访问量一般不大,用单个数据库可以轻松应付。但是随着时代的发展,上述数据存储遇到了存储的瓶颈: 1) 数据量的总大小,一个机器放不下时(以Mysql为例,单表存储大概三百多万的数据的时候DBA就该进行预警并优化分割了) 2) 数据的索引(B+Tree),一个机器的内存放不下时(众所周知,为表建立索引也是需要消耗内存的,当我们所建立的索引内存盛不下时) 3) 访问量(读写混合)一个实例不能承受 1.1.2 Memcached(缓存)+MySQL+垂直拆分 后来,随着访问量的上升,几乎大部分使用MySQL架构的网站在数据库上都开始出现了性能问题,web程序不再仅仅专注在功能上,同时也在追求性能。程序员们开始大量的使用缓存技术来缓解数据库的压力,优化数据库的结构和索引

NoSQL你知多少?

喜夏-厌秋 提交于 2019-12-30 01:38:38
1.NoSQL是什么?   NoSQL 是 Not Only SQL 的缩写,意即"不仅仅是SQL"的意思,泛指非关系型的数据库。强调Key-Value Stores和文档数据库的优点,而不是单纯的反对RDBMS。   NoSQL产品是传统关系型数据库的功能阉割版本,通过减少用不到或很少用的功能,来大幅度提高产品性能 2.NoSQL是怎么产生的?   随着web2.0技术的发展,其促使了物联网和移动互联网迅猛发展。传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的 SNS 类型的web2.0纯 动态网 站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。   NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。 3.NoSQL的特点: 模式自由:NoSQL数据库不像传统的关系型数据库需要定义数据库,数据表等结构才可以存取数据,其在增删数据时不需要做数据的完整性检查。数据表中的每一条记录都可能有不同的属性和格式。 逆范式化:为了减少数据冗余,增强数据一致性,在关系型数据库设计时,要遵循 范式 要求,数据表至少要满足第三范式。这样多个表之间建立各种关联关系就不容易数据库的横向扩展;并且这些连接操作也会降低数据库的查询效率。而NoSQL数据库去除约束,放宽事务保障

1.NoSQL入门和概述

陌路散爱 提交于 2019-12-30 01:35:53
入门概述: 1.为什么要用到NoSQL   a) 单机MySQL的美好年代,在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付。在那个时候,更多的都是静态网页,动态交互类型的网站不多。   上述架构下,我们来看看数据存储的瓶颈是什么?   1.数据量的总大小 一个机器放不下时   2.数据的索引(B+ Tree)一个机器的内存放不下时   3.访问量(读写混合)一个实例不能承受    如果满足了上述1 or 3个,进化......   b) Memcached(缓存)+MySQL+垂直拆分,后来,随着访问量的上升,几乎大部分使用MySQL架构的网站在数据库上都开始出现了性能问题,web程序不再仅仅专注在功能上,同时也在追求性能。程序员们开始大量的使用缓存技术来缓解数据库的压力,优化数据库的结构和索引。开始比较流行的是通过文件缓存来缓解数据库压力,但是当访问量继续增大的时候,多台web机器通过文件缓存不能共享,大量的小文件缓存也带了了比较高的IO压力。在这个时候,Memcached就自然的成为一个非常时尚的技术产品。    Memcached作为一个独立的分布式的缓存服务器,为多个web服务器提供了一个共享的高性能缓存服务,在Memcached服务器上,又发展了根据hash算法来进行多台Memcached缓存服务的扩展

高性能内存对象缓存memcached

家住魔仙堡 提交于 2019-12-28 17:42:30
一、memcached简介 1.memcached是基于内存级的缓存服务器,将所有的数据都存在内存中。因为在内存中会统一维护一张巨大的hash表,所以支持任意存储类型的数据 2.memcached是C/S架构,需要安装memcached服务端和memcached API客户端 3.主要作用: memcache主要用于分担数据库的负载压力,是缓存系统,所以严格意义上来说,memcache不是一个nosql的数据库,只是一个提供内存缓存功能的系统。那怎么理解别人说的memcache又是一个nosql数据库? 首选说明一下什么是nosql(泛指非关系型数据库),关系型数据是基于二维表(实体和实体之间的关系就叫做关系型数据库),而非关系型数据库不使用SQL语句作为查询,使用key-value这种数据结构保存数据的数据库,而memcache本身是没有使用SQL语句作为查询的,所以他是nosql库。 二、memcached原理 1.当Web客户端发送请求到Web服务器的应用程序时,应用程序会通过调用Memcached API客户端程序库接口去连接Memcached服务器,进而查询数据。如果此时Web客户端所请求的数据已经在Memcached服务端中缓存,则Memcached服务端会将数据返回给Web客户端;如果数据不存在,则会将Web客户端请求发送至MySQL数据库

三大常用关系型数据库事务详解之二:基本事务命令

*爱你&永不变心* 提交于 2019-12-27 23:44:03
二、事务基本命令介绍 说明:命令中, | (垂直条) 分隔括号或大括号中的语法项。 只能使用其中一项。 [ ](方括号) 可选语法项。 不要键入方括号。 {}(大括号) 必选语法项。 不要键入大括号。 1. SQL SERVER 1) BEGIN { TRAN | TRANSACTION } [ { transaction_name | @ tran_name_variable } [ WITH MARK [ ' description ' ] ] ] [ ; ] 表示显式地开启一个名称为transaction_name或@tran_name_variable的值的本地事务。 2)BEGIN DISTRIBUTED { TRAN | TRANSACTION } [ transaction_name | @ tran_name_variable ] [ ; ] 表示显式地开启一个名称为transaction_name或@tran_name_variable的值的分布式事务 3)COMMIT [ { TRAN | TRANSACTION } [ transaction_name | @ tran_name_variable ] ] [ WITH ( DELAYED_DURABILITY = { OFF | ON } ) ] [ ; ] 表示提交事务并释放事务使用资源

mongoDB专题一

我怕爱的太早我们不能终老 提交于 2019-12-27 18:22:54
MongoDB不同于传统关系型数据库,它属于noSQL数据库。下面我们从为什么,是什么,怎么用,安装等方便讲解MongoDB。 1. 为什么要NoSQL 关系型数据库难以克服的问题: ①高并发读写(数据库事务的一致性需求) ②海量数据的高效率存储与访问(数据库的写实时性和读实时性需求) ③高可扩展和高可用性(对复杂的SQL查询,特别是多表关联查询的需求) 而NoSQL的特点是:①处理超大量的数据;②运行在便宜的PC服务器集群上;③打破性能瓶颈;④操作简单;⑤开源支持 MongoDB是一个介于关系型数据库与非关系型数据库之间的产品,是非关系数据库当中功能最丰富的,最像关系型数据库的。他支持的数据结构非常松散,是类似于JSON的 BSON格式 ,因此可以存储比较复杂的数据类型。MongoDB最大的特点是他 支持的查询语言非常强大 ,其语法有点类似于面向对象的查询语言,几乎可以实现类似于关系数据库单表查询的绝大部分功能,而且还支持对数据 建立索引 。它是一个 面向集合 的, 模式自由 的 文档型 数据库。 2. MongoDB中的基本概念: DB(库)-数据库 Collection(集合)-表 Document(文档)-行 Field(字段)-列 Index(索引)-索引 PrimaryKey(主键)-主键 3. MongoDB的应用场景 ①应用不需要事务及复杂Join支持 ②新应用