关系型数据库

数据库学习笔记

梦想的初衷 提交于 2020-02-03 05:51:10
20200202 | 数据库SQL学习整理 (一)数据库介绍 (1)基本介绍 (2)sql和mysql介绍 (3)服务端和客户端 (二)Mysql安装中的一些注意事项 (三)navicat操作 (四)数据类型与主键约束 (五)备份与恢复 (一)数据库介绍 (1)基本介绍 数据库 是指长期存储在计算机内、有组织的数据集合。简而言之,数据库就是一个存储数据的地方。表是数据库的基本存储数据的单位,数据按照分类存储到不同的表中,能够非常高效地查询其中的数据。 数据库的作用就是: 把数据以表的形式存储起来,方便查询 关系型数据库 的主要产品: Oracle:在以前的大型项目中使用,银行、电信等公司基本都用 mysql:web时代使用最广泛的关系型数据库 ms sql serber:在微软的项目中使用 sqlite:轻量级数据库,主要应用于移动平台 关系型数据库的核心元素 核心是: 以二维表存储数据 数据行(一条记录,一个事物的信息) 数据列(字段,一个事物的某个属性) 数据表(数据行的集合) 数据库(数据表的集合,一个数据库中能有n多个数据表) (2)sql和mysql介绍 SQL结构化查询语句 在数据库中进行操作的语言,称为sql语言,结构化查询语句。 当前关系型数据库都支持使用sql语言进行操作,也就是可以通过sql操作所有关系型数据库 对于测试工程师来说,重点是数据的查询

mysql_关系型数据库

佐手、 提交于 2020-02-02 09:57:41
01数据库简介 • 为什么需要数据库? 1、数据量越来越大,对于数据的记录和准确查找, 2、数据库系统解决的问题:持久化存储,优化读写,保证数据的有效性。 • 关系型数据库与非关系型数据库 数据库的分类: 1、关系型数据库 指采用了关系模型来组织数据的数据库。关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。主流的关系型数据库有:Oracle、Microsoft SQL Server、MySQL、PostgreSQL,SQLite、MariaDB(MySQL的一个分支)Microsoft Access、SAP。 2、非关系型数据库 指非关系型的,分布式的,以键值对存储且结构不固定,可以减少一些时间和空间的开销。非关系型数据库都是针对某些特定的应用需求,主要分为以下几类: 1). 面向海量数据访问的面向文档数据库:MongoDB、Amazon、DynamoDB、Couchbase等。 2). 面向高性能并发读写的key-value数据库: Redis、 Memcached等。 3). 面向搜索数据内容的搜索引擎:Elasticsearch,Splunk,Solr,MarkLogic和Sphinx等。 4). 面向可扩展性的分布式数据库:Cassandra,HBase等。 02 关系型数据库 1、E—R模型 当前物理的数据库都是按照E

图数据库学习

和自甴很熟 提交于 2020-02-01 16:34:33
一、常见的关系型数据库和非关系型数据库 1.1 关系型数据库 关系型数据库最典型的数据机构是表,由二维表及其之间的联系所组成的一个数据组织 优点: 1、易于维护:都是使用表结构,格式一致; 2、使用方便:SQL语言通用,可用于复杂查询; 3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。 缺点: 1、读写性能比较差,尤其是海量数据的高效率读写; 2、固定的表结构,灵活度稍欠; 3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。 1.2 非关系型数据库 优点: 1、格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。 2、速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘; 3、高扩展性; 4、成本低:nosql数据库部署简单,基本都是开源软件。 缺点: 1、不提供sql支持,学习和使用成本较高; 2、无事务处理; 3、数据结构相对复杂,复杂查询方面稍欠。 二、非关系型数据库NoSql 三、知识图谱数据库 3.1 简介Neo4j与Cayley 图数据库分为两大类:本地的和非本地的。 Neo4j属于前者,即本地的。所以它不支持分片,所有的数据只能存在一台机器的硬盘里。 dgraph属于后者,即非本地的

「大数据干货」基于Hadoop的大数据平台实施——整体架构设计

女生的网名这么多〃 提交于 2020-01-31 15:40:31
大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星。我们暂不去讨论大数据到底是否适用于您的公司或组织,至少在互联网上已经被吹嘘成无所不能的超级战舰。好像一夜之间我们就从互联网时代跳跃进了大数据时代!关于到底什么是大数据,说真的,到目前为止就和云计算一样,让我总觉得像是在看电影《云图》——云里雾里的感觉。或许那些正在向你推销大数据产品的公司会对您描绘一幅乌托邦似的美丽画面,但是您至少要保持清醒的头脑,认真仔细的慎问一下自己,我们公司真的需要大数据吗? 做为一家第三方支付公司,数据的确是公司最最重要的核心资产。由于公司成立不久,随着业务的迅速发展,交易数据呈几何级增加,随之而来的是系统的不堪重负。业务部门、领导、甚至是集团老总整天嚷嚷的要报表、要分析、要提升竞争力。而研发部门能做的唯一事情就是执行一条一条复杂到自己都难以想象的SQL语句,紧接着系统开始罢工,内存溢出,宕机........简直就是噩梦。OMG!please release me!!! 其实数据部门的压力可以说是常人难以想象的,为了把所有离散的数据汇总成有价值的报告,可能会需要几个星期的时间或是更长。这显然和业务部门要求的快速响应理念是格格不入的。俗话说,工欲善其事,必先利其器。我们也该鸟枪换炮了......。 网上有一大堆文章描述着大数据的种种好处,也有一大群人不厌其烦的说着自己对大数据的种种体验

NoSQL简介

偶尔善良 提交于 2020-01-31 06:08:34
1.什么是NoSql:   NoSql(Not Only SQL),意即“不仅仅是SQL”,指的是非关系型数据库。随着互联网Web2.0网站的兴起,传统的关系型数据库在应付Web2.0网站,特别是超大规模和高并发的SNS类型的Web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型数据库则由于其本身的特点得到了非常迅速的发展。非关系型数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题,包括超大规模数据的存储。例如谷歌或Facebook每天为他们的用户收集万亿比特的数据。 这些类型的数据存储不需要固定的模式 ,无需多余操作就可以横向扩展。 NoSql的好处:  易扩展:   NoSql数据库种类繁多,但是有一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩 展。也无形之间,在架构的层面上带来了可扩展的能力。  高性能:   NoSQL数据库都具有非常高的读写性能,尤其在大数据量下,同样表现优秀。这得益于它的无关系性,数据库的结构简单。 一般MySQL使用Query Cache, 每次表的更新Cache就失效,是一种大粒度的Cache ,在针对Web2.0的交互频繁的应用,Cache性能 不高。 而NoSQL的Cache是记录级的,是一种细粒度的Cache ,所以NoSql在这个层面上来说就要性能高很多了。

关系型数据库MySql-模糊搜索优化(like %abc%):全文搜索引擎技术选型

℡╲_俬逩灬. 提交于 2020-01-30 23:50:23
1.阿里云OpenSearch 阿里云开放搜索OpenSearch是一款阿里巴巴自主研发的大规模分布式搜索引擎平台,该平台承载了淘宝、天猫、1688、神马搜索、口碑、菜鸟等搜索业务,通过OpenSearch云服务的方式,将阿里巴巴成熟的搜索技术共享给广大开发者。 https://help.aliyun.com/document_detail/29119.html 2.Lucene Lucene 是一个 JAVA 搜索类库,它本身并不是一个完整的解决方案,需要额外的开发工作。 优点:成熟的解决方案,有很多的成功案例。apache 顶级项目,正在持续快速的进步。庞大而活跃的开发社区,大量的开发人员。它只是一个类库,有足够的定制和优化空间:经过简单定制,就可以满足绝大部分常见的需求;经过优化,可以支持 10亿+ 量级的搜索。 缺点:需要额外的开发工作。所有的扩展,分布式,可靠性等都需要自己实现;非实时,从建索引到可以搜索中间有一个时间延迟,而当前的“近实时”(Lucene Near Real Time search)搜索方案的可扩展性有待进一步完善 3.IndexTank 基于 Lucene 的一系列解决方案,包括 准实时搜索 zoie ,facet 搜索实现 bobo ,机器学习算法 decomposer ,摘要存储库 krati ,数据库模式包装 sensei 等等 优点

NoSQL数据库浅析

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-29 16:55:15
兴起原因 Not only SQL 传统的关系性数据库 关系代数理论基础 RDBMS只能纵向扩展:通过一台服务器增加性能终究难以满足数据量增长。 严格的数据库模式 索引机制,查询优化引擎:适当量级查询效率高 事务一致性:ACID 数据完整性:主键、约束 标准化:sql标准 技术支持:商业数据库 可维护:管理员维护 关系型数据库主从模式 面对日益增长的数据量,多台服务器的写主读从,分离单台服务器压力,但效果有限,且: 集群部署配置复杂 主库压力带来延迟 扩容重新分区复杂 web2.0的需求 关系型数据库事务机制需要额外的开销,但是在Web2.0通常不要求严格的数据库事务 不需要严格的读写实时性 不包含复杂的sql查询:连接操作牺牲性能节约空间 扩充关系型数据库无法实现的特点 1.灵活的可扩展性 2.灵活的数据模型 3.与云计算紧密结合:根据负载动态伸缩集群节点 NoSQL数据库优势 1.海量数据管理需求 2.高并发需求:动态数据实时生成性能需求 3.可扩展、高可用:突发事务访问量急剧增大 NoSQL数据库劣势 缺乏底层理论基础 事务强一致性:不适用关键业务 数据模型 不同场景下需要不同的数据模型 四大类型 键值数据库 如Redis存储键值对, 适合内容缓存 简单的数据模型 频繁读写 非结构化信息同时也有一些缺点,在一些场景下是不适合的:条件查询效率低、键与键之间没有办法反应联系关系

关系型数据库三个范式

风流意气都作罢 提交于 2020-01-28 12:17:51
关系型数据库三个范式 相关概念 候选关键字 : ​ 二维表中,能够惟一确定记录的一个字段或几个字段的组合被称为“超关键字”。“超关键字”虽然能唯一确定记录,但是它所包含的字段可能是有多余的。 如果一个超关键字去掉其中任何一个字段后不再能唯一地确定记录,则称它为 候选关键字。候选关键字既能唯一地确定记录,它包含的字段又是最精炼的。也就是说候选关键字是最简单的超关键字。 主关键字(primary key) : ​ 是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。 比如在一张成绩表中,有字段:学号,科目,成绩,任课老师。 学号+科目+任何其他字段就是超关键字,但是如果去掉学号或者科目中的一个就无法确定成绩,所以学号和科目是两个候选关键字。 只有知道了学号和科目你才能确定一条记录,所以学号和科目两个字段组成了主关键字 部分函数依赖 ​ 设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。 ​ 举个例子:学生基本信息表R中(学号,身份证号,姓名)当然学号属性取值是唯一的,在R关系中,(学号,身份证号)->(姓名),(学号)->(姓名),(身份证号)->(姓名);所以姓名部分函数依赖与(学号,身份证号); 完全函数依赖 ​ 设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y

NoSQL简单介绍

☆樱花仙子☆ 提交于 2020-01-27 05:26:18
这里介绍一下如今经常使用的NoSQL以及各自的特点。 NoSQL是2009年突然发展起来的。如今趋于稳定的状态,市场上也有了一些比較成熟的产品。 传统的关系型数据库为了保证通用性的设计而带来了功能复杂、性能开销大、价格昂贵等问题,在NoSQL中都或多或少的得到了解决。NoSQL避免了一些不须要的复杂性,有更高的吞吐量。具有高并发的特点。也具备在商用硬件上的水平拓展能力。 不仅如此,NoSQL也实现了大表的自己主动切割功能,能够更好的支持分布式处理,在性能和可靠性之间折中,这是满足如今云计算中提到的从中心模式到分布模式的需求的。这也是NoSQL这几年特别火热的原因。 以下介绍一下如今流行的NoSQL各自的特点: memcached 第一个NoSQL数据库,其本质是一个存储键值对的hashmap,是一个高性能的分布式内存缓存server,用于动态web应用以减轻数据库负载。 client通过memcached协议与守护进程通信。可是缺乏认证以及安全管制,是一个内存存储方式的不互相通信的分布式数据库。 redis 也是一个键值对存储的数据库,和memcached类型,可是相比memcached而言,redis的数据是也是存储在内存中的,也有硬盘存储支持的内存数据库。也就是说,不会因为server重新启动而丢失数据。其value数据类型丰富,查询速度也非常快。并且同意用户实现消息机制。

Redis入门

心已入冬 提交于 2020-01-26 00:56:38
Redis介绍 什么是Redis? Redis 是用 C语言 开发的一个 开源 的高性能 键值对 (key-value) 内存数据库 。 它提供 五种数据类型 来存储值:字符串类型、散列类型、列表类型、集合类型、有序集合类型 它是一种 NoSQL 数据库。 什么是NoSQL? NoSQL,即Not-Only SQL(不仅仅是SQL),泛指 非关系型的数据库 。 什么是 关系型 数据库?      数据结构是一种有行有列的数据库 NoSQL数据库是为了解决 高并发、高可用、高可扩展、大数据存储 问题而产生的数据库解决方案。 NoSQL可以作为关系型数据库的良好补充,但是 不能替代关系型数据库. NoSQL数据库分类 n 键值(Key-Value)存储数据库   相关产品: Tokyo Cabinet/Tyrant、 Redis 、Voldemort、Berkeley DB   典型应用: 内容缓存,主要用于处理大量数据的高访问负载。   数据模型: 一系列键值对   优势: 快速查询   劣势: 存储的数据缺少结构化 n 列存储数据库   相关产品:Cassandra, HBase , Riak   典型应用:分布式的文件系统   数据模型:以列簇式存储,将同一列数据存在一起   优势:查找速度快,可扩展性强,更容易进行分布式扩展   劣势:功能相对局限 n 文档型数据库