数据库

阿松嘚嘚嘚-数据库篇1-数据库市场有学问

泪湿孤枕 提交于 2020-03-11 03:09:51
阿松,研一,24岁,曾经本科毕业后在某国企工作两年,而后考研成功。 老于,阿松的表哥,硕士毕业,工作三年,28岁,现任某一线城市互联网企业研发工程师,所在城市恰好是阿松上学的城市。 特殊时期,阿松在家里百无聊赖,便想去找老于学习一下,正好老于也属于居家办公,光棍一根,也想有个人说说话,就欣然同意了。 阿松在老于家里,看到老于的书架上有各种各样的书,尤其是一本《Redis使用手册》,他翻了几页,便产生了浓厚的兴趣。 “呦,看书呢啊”,老于笑咪咪的看着阿松。阿松不好意思的挠挠头,说“没太看懂”。老于说“你知道Redis是什么吗?”阿松说“我在网上看过论坛,这是一种NoSQL数据库,是做缓存用的。” 老于:“不错,但是你知道为什么它叫NoSQL么?和SQL数据库有啥区别么?” 阿松:“不知道,感觉就是它不用SQL语句查询吧” 老于:“你说的只是表象,但是实际上他们的存储原理、用途等等都有很大不同” 阿松:“我的好表哥,你就给我讲讲呗” 老于:“得得得,大老爷们儿卖什么萌啊,我先不讲NoSQL,我先跟你讲讲SQL数据库” 阿松:“哥,SQL数据库的课我大学时候就学过了,讲的数据库基本原理,我还考了90多分呢,这个就不用再和我讲了吧” 老于:“我说阿松啊,上学时候的课程偏重于基本理论,基本理论四个字,可以分两方面来看,基本是说它讲的是必须要知道的,但是如果你只知道这些,真正工作中可不够用

千锋云计算毕业设计论文:高并发大型互联网站架构设计(四)

99封情书 提交于 2020-03-11 02:32:27
每年进入3-4月所有的高等院校开始了一年一度的毕业生答辩准备阶段,现如今毕业论文或者毕业设计也更加的贴近了互联发展的趋势,很多学校开始做最热话题云计算openstack架构的实现以及云计算环境搭建,先不说这个毕业设计的切入点是否正确,就说选择该题目后你如何下手?下面给大家分享千锋讲师给学员准备的高并发大型互联网站架构设计第四部分。 数据库 一个公司的数据相当于一个公司的经济命脉,如果数据丢失或者数据出现误差,那么将有可能使这个公司不复存在。所以保障数据库的高可用就显得尤为重要了。 保障数据库的高可用其根本在于避免单节点故障,刚开始时我们的网站数据库架构只有后端的MySQL集群服务器,随着数据量的增加,无关系的数据越来越多,为了应对更大的流量,减少开销,在MySQL集群前加入了Redis集群,再到后来,数据库的流量进一步增大,为了缓解数据库服务器的压力,在Redis集群前又加入了MQ,以确保数据库的高可用及快速访问。如图2-7所示: 图2-7 数据库架构图 MySQL MySQL是一个小型关系型数据库管理系统,目前MySQL被广泛地应用在中小型网站中。因为其具有体积小、速度快、总体拥有成本低,开放源代码等特点[15]。 MySQL高可用 在设计MySQL数据库的高可用的架构时,重点要满足以下几点要求: 1.保证数据库的可用性,如果发生意外情况,要能够快速响应。 2

MyBatis面试题(三)

China☆狼群 提交于 2020-03-11 02:21:38
说说对ORM的理解? 答:ORM就是所谓的对象关系映射,通过这门技术,可以让程序中的实体对象和数据库的记录做到互相映射,对象可以借此持久化到数据库记录,数据库记录也能借此转化为实体对象。 为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里? 答:Hibernate就属于全自动ORM映射工具,因为使用Hibernate查询关联对象或者关联集合对象时,可以根据对象关系模型直接获取,所以它是全自动的。而 Mybatis在查询关联对象或关联集合对象时,需要手动编写sql来完成,所以,称之为半自动ORM映射工具。 你对MyBatis的一级缓存和二级缓存有了解吗,说一下? 答:MyBatis默认只开启一级缓存,一级缓存是对同一个SqlSession起作用,在使用SqlSession第一次查询后,MyBatis会将结果缓存起来,如果下次再使用同一个SqlSession调用Mapper方法,sql的参数也完全相同,如果没有声明需要刷新,同时缓存也没有超时,那SqlSession都会取出当前缓存的数据,而不会再次发送SQL到数据库做查询。 MyBatis的二级缓存是Application级别的缓存,它可以提高对数据库查询的效率,以提高应用的性能。SqlSessionFactory层面上的二级缓存默认是不开启的,二级缓存的开启需要进行配置,实现二级缓存的时候

memcached待...

99封情书 提交于 2020-03-11 01:56:30
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的 hashmap 。其 守护进程 (daemon )是用 C 写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。 来源: https://www.cnblogs.com/JcrLive/p/12460030.html

zabbix3.4.6监控系统搭建

前提是你 提交于 2020-03-11 01:33:34
作者:Mr大表哥 来源: https://blog.51cto.com/zpf666/2068934 一.准备工作 系统版本号:cat /etc/redhat-release OS:centos7.6 Zabbix version:3.4.6(2018/1/15日上线的新版本) Database:MariaDB 关闭防火墙:systemctl stop firewalld 防火墙开机不自启:systemctl disable firewalld 关闭selinux: 临时:setenforce 0 永久:sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 一切准备好后,重启系统! 二.先安装MariaDB数据库 1.概述: MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。 开发这个分支的原因是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。 2.yum安装MariaDB yum -y install mariadb-server mariadb 3.启动和开机自启数据库 systemctl start

数据库基础知识

匆匆过客 提交于 2020-03-11 01:18:35
一 , 数据库、数据库管理系统、数据库系统 1.1数据库:存放数据的仓库;数据字典是数据库管理系统工作的依据 1.2数据库管理系统(DBMS—Database Management System) 定义:数据库系统对数据进行管理的软件系统 根据所采用数据模型的不同-分类:网状型、层次型、关系型、面向对象型 1.3数据库系统(DBS—Database System):计算机系统引入数据库后的系统 构成:数据库、数据库管理系统(及开发工具)、引用程序和数据管理员 二 . 数据库技术的产生与发展 : 更好的管理数据 2.1人工阶段:无储存设备、无操作系统 特点: ①数据不保存(计算完不保存数据)②应用程序管理数据(程序管理数据,无软件管理)③数据不共享(无参照:数据冗余)④数据不具独立性(数据逻辑结构、物理结构改变后,相应应用程序要修改) 2.2 文件系统阶段:磁盘、文件系统 特点: ①数据长期保存②文件系统管理数据③数据共享性差,冗余度大④数据独立性差 2.3 数据库系统阶段:出现了数据库管理系统(create、insert…) 2.4 高级数据库阶段 ①分布式数据库系统:逻辑上是整体,物理上分布在不同地方 ②对象数据库系统 ③网络数据库系统 三 数据库系统 (Database System) 的组成与结构 3.1 组成 ①硬件系统:内存大、磁盘大、网络数据传输率高、cpu性能强

MYSQL 入门全套

隐身守侯 提交于 2020-03-10 23:48:11
mysql简介 1、什么是数据库 ? 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。 主流的数据库有:sqlserver,mysql,Oracle、SQLite、Access、MS SQL Server等,本文主要讲述的是mysql 2、数据库管理是干什么用的? a. 将数据保存到文件或内存 b. 接收特定的命令,然后对文件进行相应的操作 PS:如果有了以上管理系统,无须自己再去创建文件和文件夹,而是直接传递 命令 给上述软件,让其来进行文件操作,他们统称为数据库管理系统(DBMS,Database Management System) mysql安装 MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

2月Azure 新功能速递:Azure共享磁盘预览版

我是研究僧i 提交于 2020-03-10 23:19:47
Blog Address: https://blog.51cto.com/14669127 微软于2月13日发布了Azure共享磁盘的预览版本,这是业界第一个共享云块存储。Azure共享磁盘支持块存储工作负载迁移到云上,包括要求最高的企业应用程序,他们目前在存储区域网络(san)上运行,其中包括集群数据库,并行文件系统,持久容器和机器学习应用程序,这种独特的功能使客户能够运行对延迟敏感的工作负载,而不会影响快速故障转移和高可用性的部署模式,这包含为Windows 或基于Linux的集群文件系统构建的应用程序。有了Azure共享磁盘,客户现在可以灵活地将运行在Windows Server上的集群环境迁移到Azure,包含Windows Server 2008,该功能旨在支持SQL Server故障转移集群实例(FCI)、扩展文件服务器(SoFS),远程桌面服务器(RDS)和Windows 服务器上运行的SAP ASCS/SCS。 目前,Azure共享磁盘为在集群环境中运行的应用程序提供了一致的体验,这意味着当前利用SCSI持久保留的任何应用程序都可以使用这组众所周知的命令将集群中的节点注册到磁盘。然后应用程序可以从一系列受支持的访问模式中选择一个或者多个节点对磁盘的读写,这些应用程序可以部署在高可用配置中,同时还可以利用Azure磁盘持久性保证。

[Spring学习]------spring-jdbc和ORM

♀尐吖头ヾ 提交于 2020-03-10 22:10:10
文章目录 什么是JDBC,它的出现解决了什么样的问题? Spring集成JDBC ORM的出现解决了什么问题 Spring集成Mybatis 相关文章 什么是JDBC,它的出现解决了什么样的问题? 官方定义:JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成;JDBC作为一种协议的体现,在Java代码中就是一系列的接口与实现的约定。数据库驱动厂商以及应用程序开发者基于这一协议进行对接,从而解耦,从而可以相互分离的独立发展。 个人理解:jdbc做的就是连接数据库,执行sql的事情。 解决的问题:如下图所示。最开始,每个数据库厂商都自己定义了一套交互协议,这样造成的结果是:对于每一种数据库,客户端都需要一套对应的实现。而jdbc的出现使得程序员不太需要关注用的是哪种数据库,按照jdbc的提供的规范进行编程即可。 jdbc的解决方案:可以由图中看出,本质上jdbc是包裹了与各种数据库之间的实现方式,相当是一个策略器。而数据库厂商也对应的支持了jdbc标准。应用程序和数据库之间可以通过jdbc来进行交互。 Spring集成JDBC spring-jdbc集成了jdbc功能,使得spring项目可以通过jdbc与数据库进行交互。 相关代码

Linux MySQL数据库集群实战 读写分离

扶醉桌前 提交于 2020-03-10 20:39:54
一、MySQL读写分离 Mysql的主从复制和Mysql的读写分离两者有着紧密联系,首先部署主从复制,只有主从复制完了,才能在此基础上进行数据的读写分离。 Master数据库处理事务性增、删除、修改、更新操作(CREATE、INSERT、UPDATE、DELETE),而让Slave数据库处理SELECT操作,MYSQL读写分离前提是基于MYSQL主从复制,这样可以保证在Master上修改数据,Slave同步之后,WEB应用可以读取到Slave端的数据。 简单来说 ,读写分离就是只在主服务器上写,只在从服务器上读,基本的原理是让主数据库处理事务性查询,而从数据库处理select查询,数据库复制被用来把事务性查询导致的改变更新同步到集群中的从数据库。 基于中间代理层实现 代理一般位于客户端和服务器之间,代理服务器接到客户端请求后通过判断后转发到后端数据库,有两个代表性程序。 (1)mysql-proxy 为mysql开源项目,通过其自带的lua脚本进行SQL判断,虽然是mysql的官方产品,但是mysql官方不建议将其应用到生产环境 (2)Amoeba (变形虫)由陈思儒开发,曾就职与阿里巴巴,该程序由java语言进行开发,阿里巴巴将其应用于生成环境,它不支持事物和存储过程 如果业务压力不是很大的时候要做读写分离,取决于硬盘读取的性能,客户才满意, 读库(配置低),写库(配置高