关系型数据库

mySQL数据库

故事扮演 提交于 2019-12-14 11:57:57
1. 数据库的基本概念 1.1 什么是数据库 1. 数据库的英文单词: DataBase 简称 : DB DB:数据库 DBS(System):数据库系统 DBMS: 数据库管理系统 RDBMS:关系型数据库管理系统 2. 什么数据库? * 用于存储和管理数据的仓库。 1.2 数据库的特点 1. 持久化存储数据的。其实数据库就是一个文件系统 2. 方便存储和管理数据 3. 使用了统一的方式操作数据库 -- SQL 1.3 常见的数据库 关系型数据库 描述 MySQL 开源免费的数据库,小型的数据库,已经被 Oracle 收购了。MySQL6.x 版本也开始收费。 Oracle 收费的大型数据库,Oracle 公司的产品 DB2 IBM 公司的数据库产品,收费的。常应用在银行系统中。 SQL Server MicroSoft 公司收费的中型的数据库。C#、.net 等语言常使用。 SQLite 嵌入式的小型数据库,应用在手机端,如:Android。 非关系型数据库 (NoSQL) Readis 基于内存的键值型数据库通过 Key-Value 键值的方式来存储数据 MongoDB MongoDB最流行的文档型数据库 2. MySQL数据库软件 2.1 MySQL数据库安装与卸载 2.1.1 MySQL数据库安装 参见《MySQL基础.pdf》 注意事项: 1. 安装路径不要有中文

java分布式(第四章)——Redis

假如想象 提交于 2019-12-14 10:59:49
老套路 1、什么是Redis 2、为什么要用Redis 3、怎么用Redis 4、使用Redis过程中遇到的问题 1、什么是Redis   介绍Redis之前先了解一下Nosql(非关系型数据库)   我们都知道MySql是一种关系型数据库,那什么是非关系型数据库呢?它又是做什么呢?   为了解决高并发、高可用、高可扩展,大数据存储等一系列问题而产生的数据库解决方案,就是NoSql。它不能替代关系型数据库,只能作为关系型数据库的一个良好补充。   Redis是使用c语言开发的一个高性能 键值数据库 。Redis通过 键值类型 存储数据。    Redis使用场景 :缓存(数据查询、短连接、新闻内容、商品内容等等)   (最多使用) 分布式集群架构中的session分离   聊天室的在线好友列表   任务队列   (秒杀、抢购、12306等等) 应用排行榜   网站访问统计   数据过期处理(可以精确到毫秒) 2、为什么要用Redis   为了解决高并发、高可用、高可扩展,大数据存储等一系列问题,MySql不能很好为我们提供服务,引入了Redis。   那么为什么要用Redis呢?   1、速度快:首先Redis由C语言编写,纯内存操作,第二个 核心是基于非阻塞的IO多路复用机制,单线程避免了多线程的频繁上下文切换问题   2、支持多种数据类型,5种数据类型: String、Hash

数据库:认识数据库、安装数据库、如何建库(database)、表(table)、数据(data)

ⅰ亾dé卋堺 提交于 2019-12-14 07:52:10
文章目录 数据库 一.数据库是什么? 二. 为啥使用数据库?(***) Excel的缺点: 三.数据库的分类。 关系型数据库 非关系型数据库 最大区别: 四.mysql的架构。 流程: 五.mysql的安装(windows) windows安装: 1.先去官网 2、解压 3、添加环境变量 4、初始化 5、启动MySQL服务 常用的参数:(************************************) 登录,设置密码: 忘记密码: 6.退出数据库客户端: 六.初始mysql 操作数据库 对 :数据库(database) 对:表(table)的操作 对:data数据的操作 数据库 一.数据库是什么? 字面意思:存数据的仓库。 二. 为啥使用数据库?(***) 之前使用的是Excel来进行管理数据。 Excel的缺点: 1 . 管理不了大量的数据 ( 10w量级的数据 ) 2 . 并发操作同一个数据表格。 3 . 数据支持高级的操作,比如:分组,连表等 三.数据库的分类。 关系型数据库 对买一列的数据类型会有约束, id ( 整型 ) ,name ( 字符串类型 ) MYSQL,maridb - - - 》用的比较多,因为是免费的 SqServer, - - - - - 》 微软,大学, 政府 ( 汽车之家 ) Oracle, - - - - - 》甲骨文,收费

MongoDB

社会主义新天地 提交于 2019-12-13 08:38:37
MongoDB mongodb 数据库 MongoDB mongodb 数据库 1.什么是数据库? 存储数据的一个仓库 2.数据库的分类,以及它的代表 关系型数据库【SQL】 代表:mysql 非关系型数据库【NOSQL】 代表:nosql 3.如何区分一个数据库属于哪个类别 经验:根据有无表来区分;有表是SQL,没有表是NOSQL 4.数据库构成 关系型数据库 数据库 ->表->行 非关系型数据库 数据库->集合->文档 MongoDB 1.概念:基于分布式文件存储的数据库 分布式算法指的是将一个大型的任务进行分解,将每一个小任务的执行结果组合起来,返回一个整体 -优点: 面向集合存储,易存储对象类型的数据。 模式自由。 支持动态查询。 支持完全索引,包含内部对象。 支持查询。 支持复制和故障恢复。 使用高效的二进制数据存储,包括大型对象(如视频等)。 自动处理碎片,以支持云计算层次的扩展性 支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。 文件存储格式为BSON(一种JSON的扩展) 2.常用命令: 删除数据 创建名为web的集合,并新增数据: db.web.save({"name":"老李"});db.web.insert({“name”:"老李"} 区别 : 若新增的数据主键已存在,save()会修改原来的内容为新内容,insert()不会操作并提示错误

sql2016(自学备案)

允我心安 提交于 2019-12-13 07:08:08
模式 : 数据库中全体数据的逻辑结构和特征的描述 仅涉及型的描述 不涉及具体的值。 模式的一个具体值称为一个实例,同一个模式可以有很多实例。 模式是相对稳定的,而实例是相对变动的.因数据库中的数据是在不断更新的 模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。 三级模式结构: (用户级,概念级,物理级) 面向用户或应用程序员的用户级,用户级对应外模式 面向建立和维护数据库人员的概念级,概念级对应概念模式 面向系统程序员的物理级,物理级对应内模式 (1)外模式 外模式又称子模式或用户模式 对应用户级。它是某个或某几个用户所看到的数据库的数据视图 是与某 应用有关的数据的逻辑表示。外模式是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据。用户可以通过外模式描述语言来描述、定义对应用户的数据记录(外模式) .也可以利用数据操纵语言对这些数据记录进行操作。总的来说,外模式反映了数据库的用户观。 外模式规定了数据的添加、删除 显示、维护、打印、查找、选择、排序和更新等操作。 (2) 概念模式 模式又称概念模式或逻辑模式,对应概念级。它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构 是对数据库中全部数据的逻辑结构和特征的总体描述是所有用户的公共数据视图(全局视图)。它是由数据库管理系统提供的数据模式描述语言(Data Description

RDBMS(关系型数据库)与HBase的对比

一个人想着一个人 提交于 2019-12-13 00:21:38
1、关系型数据库 结构: 数据库以表的形式存在 支持FAT、NTFS、EXT、文件系统 使用Commit log存储日志 参考系统是坐标系统 使用主键(PK) 支持分区 使用行、列、单元格 功能: 支持向上扩展 使用SQL查询 面向行,即每一行都是一个连续单元 数据总量依赖于服务器配置 具有ACID支持 适合结构化数据 传统关系型数据库一般都是中心化的 支持事务 支持Join 2、HBase 结构: 数据库以region的形式存在 支持HDFS文件系统 使用WAL(Write-Ahead Logs)存储日志 参考系统是Zookeeper 使用行键(row key) 支持分片 使用行、列、列族和单元格 功能: 支持向外扩展 使用API和MapReduce来访问HBase表数据 面向列,即每一列都是一个连续的单元 数据总量不依赖具体某台机器,而取决于机器数量 HBase不支持ACID(Atomicity、Consistency、Isolation、Durability原子性、一致性、隔离性、耐久性) 适合结构化数据和非结构化数据 一般都是分布式的 HBase不支持事务 不支持SQL 不支持Join 来源: CSDN 作者: 彭于晏郑州分晏 链接: https://blog.csdn.net/czxylzl/article/details/103517068

分布式事务问题解决方案

社会主义新天地 提交于 2019-12-12 17:22:52
在分布式系统中,同时满足“一致性”、“可用性”和“分区容错性”三者是不可能的。分布式系统的事务一致性是一个技术难题,各种解决方案孰优孰劣?老司机介绍 丁浪,现就职于某垂直电商平台,担任技术架构师。关注高并发、高可用的架构设计,对系统服务化、分库分表、性能调优等方面有深入研究和丰富实践经验。热衷于技术研究和分享。 在OLTP系统领域,我们在很多业务场景下都会面临事务一致性方面的需求,例如最经典的Bob给Smith转账的案例。传统的企业开发,系统往往是以单体应用形式存在的,也没有横跨多个数据库。 我们通常只需借助开发平台中特有数据访问技术和框架(例如Spring、JDBC、ADO.NET),结合关系型数据库自带的事务管理机制来实现事务性的需求。关系型数据库通常具有ACID特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。 而大型互联网平台往往是由一系列分布式系统构成的,开发语言平台和技术栈也相对比较杂,尤其是在SOA和微服务架构盛行的今天,一个看起来简单的功能,内部可能需要调用多个“服务”并操作多个数据库或分片来实现,情况往往会复杂很多。单一的技术手段和解决方案,已经无法应对和满足这些复杂的场景了。 分布式系统的特性 对分布式系统有过研究的读者,可能听说过“CAP定律”、“Base理论”等,非常巧的是

数据集成工具Kettle、Sqoop、DataX的比较

耗尽温柔 提交于 2019-12-11 16:26:43
数据集成工具很多,下面是几个使用比较多的开源工具。 1、阿里开源软件:DataX DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。 2、Apache开源软件:Sqoop Sqoop(发音:skup)是一款开源的工具,主要用于在HADOOP(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。(摘自百科) 3、Kettle开源软件:水壶(中文名) Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。 Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。 Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。 Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换

数据库的介绍以及安装

主宰稳场 提交于 2019-12-11 03:54:14
数据库介绍: 1.随意存放在一个文件中的数据,数据的格式千差万别 tank|123 jason:123 sean~123 2.软件开发目录规范 -Project: conf bin core db:存放一个个的文件 1、2都是从本地读取的数据 将所有数据存放到一个第三方的公共位置,同一个软件凡是需要操作数据的,就必须去这个共享的位置操作 第三方的公共位置(数据库) 数据库集群:将同一个数据库中的数据,复制到不同的服务器中。 MySQL数据:C---->S架构软件 1)mysql数据库本质上就是一个基于网络通信的软件。 2)所有基于网络通信的软件,底层都是socket。 服务端: 基于网络通信 手法消息 客户端: 基于网络通信 收发消息 所有语言若想操作数据库,拿到服务端ip和port,都必须遵循一套标准的解析指令 ---> SQL语句 学习SQL语句 DBMS:数据库管理系统 关系型数据库:MySQL、Oracle、DB2、sql server ... 1)表结构 需要哪些字段 字段是什么类型 2)字段与字段类型 name --->'tank' --->字符串 age --->17---->整形 非关系型数据库:redis、mongodb... 非关系型数据库一般以key:value的形式存储 { 'name':'tank' } 安装数据库 1.下载mysql安装包 2

关系型数据库——MySQL

感情迁移 提交于 2019-12-11 01:12:23
【MySQL架构图】 MySQL简要架构图如下图所示,引擎层以插件方式集成了不同的存储引擎,它们共用Server层对外提供服务。    连接器:用于连接管理,进行身份认证及权限相关的管理。(登录MySQL) 查询缓存区:执行查询语句时,先从缓存区查询。(该功能V8.0之后移除) 分析器:未命中缓存时,对SQL进行词法分析、语法分析。 优化器:按照MySQL认为的最优方案,生成执行计划。 执行器:执行SQL,并从存储引擎返回数据。 存储引擎:存储数据,提供读写接口 【MySQL存储引擎】 V5.5之前MySQL的默认存储引擎为MyISAM(ISAM:Indexed Sequential Access Method,即有索引的顺序访问方法。MyISAM是基于传统的ISAM优化而来) V5.5之后,MySQL的默认存储引擎便更改为InnoDB,主要是为支持数据库事务安全而设计。 # MyISAM vs InnoDB 锁:MyISAM支持表级锁;InnoDB支持行级锁(默认)。因此并发操作时,InnoDB的效率要更高。 性能:MyISAM执行大量select和insert操作时,效率更高;InnoDB执行大量update和insert操作时,效率更高。 外键:MyISAM不支持;InnoDB支持外键。 事务:MyISAM不支持事务操作;InnoDB支持数据库事务。 崩溃后安全恢复