数据库服务器

数据库访问接口(ODBC,OLEDB,ADO)

 ̄綄美尐妖づ 提交于 2019-12-02 02:36:26
数据库访问接口发展历史 ODBC ODBC(Open Database Connectivity,开放数据库互连)。要了解ODBC是什么,先了解一下数据库连接的相关知识。在最开始连接数据库时,由于数据库种类繁多,各种数据库连接有不同的需求,这个时期,数据库连接主要依靠各种API函数来进行连接。在这种背景下,微软于1992年发表了ODBC, ODBC就是将这些API函数封装起来形成统一的接口。当SQL语句进入接口后,驱动器管理程序将它们送入对应的驱动器(driver),由驱动器将SQL语句送入各种不同的数据库。 OLE DB OLE DB(Object Linking and Embedding, Database,对象链接嵌入数据库)是微软为以统一方式访问不同类型的数据存储设计的一种应用程序接口。OLE DB 是建立在 ODBC 功能之上的一个开放规范。ODBC 是为访问关系型数据库而专门开发的,OLE DB 则用于访问关系型和非关系型信息源。OLE DB可以通过ODBC连接到数据库,也可以直接连接到数据库,并且直接连接的访问速度更快。可以知道,只要支持ODBC的数据源是一定能够支持OLEDB的,但是反过来则不一定。 ADO ADO(ActiveX Data Objects,ActiveX 数据对象)在1996年8月与OLE DB一起被发布,是在OLE

mysql查看数据库性能常用命令

只谈情不闲聊 提交于 2019-12-01 23:33:04
mysql查看数据库性能常用命令 mysql> show global status;   可以列出MySQL服务器运行各种状态值,另外,查询MySQL服务器配置信息语句:   mysql> show variables;    一、慢查询   mysql> show variables like '%slow%';   +------------------+-------+   | Variable_name | Value |   +------------------+-------+   | log_slow_queries | ON |   | slow_launch_time | 2 |   +------------------+-------+   mysql> show global status like '%slow%';   +---------------------+-------+   | Variable_name | Value |   +---------------------+-------+   | Slow_launch_threads | 0 |   | Slow_queries | 4148 |   +---------------------+-------+   配置中打开了记录慢查询,执行时间超过2秒的即为慢查询

关于大型网站架构整理

只谈情不闲聊 提交于 2019-12-01 22:50:21
1、大型网站架构的发展史(红字就是每一步发展历程的关键) (1)从一个小网站发展起来, 一台服务器,应用程序、数据库、文件等所有资源都在一台服务器上 (2)网站业务的发展,一台服务器逐渐不能满足需求,因此要将 应用和数据分离,应用和数据分离后使用三台服务器:应用服务器、文件服务器和数据库服务器 (3)网站进一步发展,数据库压力太大导致访问延迟,因此 使用缓存该改善网站性能(记住,使用缓存是改善网站性能的第一步) ,网站使用的缓存分为两种:缓存在应用服务器上的本地缓存和缓存在专门的分布式缓存服务器上的远程缓存 (4)使用缓存,数据库访问压力得到有效缓解,但是在网站访问高峰期应用服务器还是成为了整个网站的瓶颈。这种时候要理解, 不要企图去更换更强大的服务器,对大型网站而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求 ,因此可以 通过增加服务器的方式改善负载压力 ,再通过负载均衡调度服务器,将来自用户浏览器的访问请求分发到应用服务器集群中的某台服务器上 (5)虽然使用缓存可以使大部分数据不走数据库,但是缓存没有命中、缓存过期的数据还是会走数据库,网站达到一定规模之后,数据库读写压力还是会很大,成为网站的瓶颈。此时可以 使用数据库读写分离来改善数据库负载压力,应用服务器写数据走写库,应用服务器读数据走读库 ,目前大部分主流数据库都提供主从热备功能,通过配置两台数据库主从关系

在CentOS7上搭建MySQL主从复制与读写分离

强颜欢笑 提交于 2019-12-01 19:52:55
在 CentOS7上搭建MySQL主从复制与读写分离 MySQL主从复制原理 MySQL的主从复制和MySQL的读写分离两者有着紧密联系,首先要部署主从复制,只有主从复制完成了,才能在此基础上进行数据的读写分离。 ( 1)MySQL支持复制的类型。 1)基于语句的复制。MySQL默认采用基于语句的复制,效率比较高。 2)基于行的复制。把改变的内容复制过去,而不是把命令在从服务器上执行一遍。 3)混合类型的复制。默认采用基于语句的复制,一旦发现基于语句无法精确复制时,就会采用基于行的复制。 ( 2)MySQL复制的工作过程如图所示。 1)在每个事务更新数据完成之前,Master在二进制日志记录这些改变。写入二进制日志完成后,Master通知存储引擎提交事务。 2)Slave将Master的Binary log复制到其中继日志。首先,Slave开始一个工作线程——I/O线程,I/O线程在Master上打开一个普通的链接,然后开始Binlog dump process。Binlog dump process从Master的二进制日志中读取事件,如果已经跟上Master,它会睡眠并等待Master产生新的事件。I/O线程将这些事件写入中继日志。 3)SQL slave thred(SQL从线程)处理该过程的最后一步。SQL线程从中继日志读取事件,并重放其中的事件而更新Slave的数据

sql语句大全

白昼怎懂夜的黑 提交于 2019-12-01 18:59:30
转至:https://www.cnblogs.com/imyalost/p/5818480.html 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2 、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type

大型php网站性能和并发访问优化方案

╄→гoц情女王★ 提交于 2019-12-01 18:32:49
网站性能优化对于大型网站来说非常重要,一个网站的访问打开速度影响着用户体验度,网站访问速度慢会造成高跳出率,小网站很好解决,那对于大型网站由于栏目多,图片和图像都比较庞大,那该怎么进行整体性能优化呢?本文为你提供一份大型php网站性能和并发访问优化方案. 一、大型网站性能提高策略: 大型网站,比如门户网站,在面对大量用户访问、高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器。这几个解决思路在一定程度上意味着更大的投入。 web容器是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器。一个服务器可以多个容器。 1、HTML静态化 其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。 2、图片服务器分离 大家知道,对于Web服务器来说,不管是Apache、IIS还是其他容器,图片是最消耗资源的,于是我们有必要将图片与页面进行分离,这是基本上大型网站都会采用的策略,他们都有独立的、甚至很多台的图片服务器。这样的架构可以降低提供页面访问请求的服务器系统压力,并且可以保证系统不会因为图片问题而崩溃。

云计算openstack共享组件-Memcache缓存系统(2)

让人想犯罪 __ 提交于 2019-12-01 16:18:31
一、缓存系统 一、静态web页面: 1、在静态Web程序中,客户端使用Web浏览器(IE、FireFox等)经过网络(Network)连接到服务器上,使用HTTP协议发起一个请求(Request),告诉服务器我现在需要得到哪个页面,所有的请求交给Web服务器,之后WEB服务器根据用户的需要,从文件系统(存放了所有静态页面的磁盘)取出内容。之后通过Web服务器返回给客户端,客户端接收到内容之后经过浏览器渲染解析,得到显示的效果。 2、为了让静态web页面显示更加好看,使用javascript/VBScript/ajax(AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。)但是这些特效都是在客户端上借助于浏览器展现给用户的,所以在服务器上本身并没有任何的变化。 3、静态web无法连接数据库; 4、静态web资源开发技术:HTML; 5、由于现在的web页面中,大量使用JS,导致浏览器打开页面,就会占用大量的内存,服务端的压力是减轻了,但压力转移到了客户端。 二、动态web页面: 1、动态WEB中,程序依然使用客户端和服务端,客户端依然使用浏览器(IE、FireFox等),通过网络(Network)连接到服务器上,使用HTTP协议发起请求(Request)

redis介绍

我是研究僧i 提交于 2019-12-01 15:46:53
概念 关系型数据库/sql: mysql,oracle 非关系型数据库/nosql: redis(存在内存中),mongodb(存在硬盘上) 1.redis是以key-value形式存储 2.redis支持持久化 redis用途 1.做缓存 2.存储session 3.游戏排行榜 4.对速度要求比较高的数据存储 5.做消息队列 redis 五大数据类型 1. 字符串 格式:set [key] [value] string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。 string类型是Redis最基本的数据类型,一个键最大能存储512MB。 2. 列表 redis列表是简单的字符串列表,按照插入顺序排序,你可以添加一个元素列表的头部(左边)或者尾部(右边) 格式:lpush [name] [value] # 在key对应list的尾部添加字符串元素 格式:rpush [name] [value] # 在key对应list的头部添加字符串元素 格式:lrem [name] [index] # key对应list中删除count个和value相同的元素 格式:llen [name] # 返回对应list长度 3. 哈希(字典) 格式: hmset [name] [key1] [value1] [key2] [value2]

mysql主从同步

喜夏-厌秋 提交于 2019-12-01 13:52:15
1. 介绍 大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器来处理如此多的数据库连接操作,数据库必然会崩溃,特别是数据丢失的话,后果更是不堪设想。这时候,我们会考虑如何减少数据库的连接,下面就进入我们今天的主题。 利用主从数据库来实现读写分离,从而分担主数据库的压力。在多个服务器上部署mysql,将其中一台认为主数据库,而其他为从数据库,实现主从同步。其中主数据库负责主动写的操作,而从数据库则只负责主动读的操作(slave从数据库仍然会被动的进行写操作,为了保持数据一致性),这样就可以很大程度上的避免数据丢失的问题,同时也可减少数据库的连接,减轻主数据库的负载。 下面让我们来看下一个图: 在上面的模型中,Mysql-A就是主服务器,即master,Mysql-B就是从服务器,即slave。 在Mysql-A的数据库事件(例如修改数据库的sql操作语句),都会存储到日志系统A中,在相应的端口(默认3306)通过网络发送给Mysql-B。Mysql-B收到后,写入本地日志系统B,然后一条条的将数据库事件在数据库Mysql-B中完成。 日志系统A,是MYSQL的日志类型中的二进制日志,也就是专门用来保存修改数据库表的所有动作,即bin log,注意MYSQL会在执行语句之后,释放锁之前

MySQL主从复制及读写分离

谁都会走 提交于 2019-12-01 13:19:03
MySQL Replication 概述 mysql在互联网领域用的如此广泛很大一部分原因是是源于它的replication机制,简单实用,几台PC机子,很容易提高性能,乃中小网站必备良方。 首先什么情况下要扩展数据库,建个网站,建个数据库,某一天网站火了,访问量暴增,意味着从你服务器上读网页的连接多了,IO瓶颈来了,自然想多加几台机子来分担压力,但是数据还要跟源主机上的数据库内数据保持一致,这时候就是开始扩展数据库的时候,replication就开始派上用场了。 MySQL Replication 俗称MySQL AB复制或主从复制,是MySQL官方推荐的数据同步技术。数据同步基本过程为从数据库会实时去读取主数据库的二进制日志文件,按照日志中记录对从库进行同样的操作,以达到数据同步效果。 MySQL Replication优点: 通过增加从服务器来提高数据库平台的可靠性能。在主服务器上执行写入和更新,在从服务器上向外提供读功能,可以动态地调整从服务器的数量,从而调整数据库平台的高性能。 提高数据安全性,因为数据已复制到从服务器,主数据库数据异常时,可以将从服务器复制进程终止来达到保护数据完整性的特点。 在主服务器上生成实时数据,而在从服务器上分析这些数据,从而缓解主服务器的性能。 MySQL复制类型 异步复制(Asynchronous replication )