
数据库
gauss
这个作者很懒,什么都没留下…
展开
-
游戏服务器之mysql句柄连接池
mysql连接使用封装原理是建立mysql连接句柄池。mysql连接句柄池在初始化时会根据放入的连接地址读取所有的表(建立表对象及其相关字段)和初始化一个mysql连接句柄。mysql连接句柄池可根据哈希和使用标识获取没有标识使用的句柄。 设计上: (1)封装mysql连接到mysql连接句柄。mysql连接句柄由句柄管理器管理(加入和读取要加读写锁)。 (2)加载连接的表及其表转载 2014-10-19 16:43:02 · 838 阅读 · 0 评论 -
MYSQL线程池总结(一)
线程池是Mysql5.6的一个核心功能,对于服务器应用而言,无论是web应用服务还是DB服务,高并发请求始终是一个绕不开的话题。当有大量请求并发访问时,一定伴随着资源的不断创建和释放,导致资源利用率低,降低了服务质量。线程池是一种通用的技术,通过预先创建一定数量的线程,当有请求达到时,线程池分配一个线程提供服务,请求结束后,该线程又去服务其他请求。 通过这种方式,避免了线程和内存对象的频繁创建和释转载 2015-09-20 10:47:07 · 711 阅读 · 0 评论 -
内存数据库中的索引技术
引言 传统的数据库管理系统把所有数据都放在磁盘上进行管理,所以称作磁盘数据库(DRDB: Disk-Resident Database)。磁盘数据库需要频繁地访问磁盘来进行数据的操作,磁盘的读写速度远远小于CPU处理数据的速度,所以磁盘数据库的瓶颈出现在磁盘读写上。 基于此,内存数据库的概念被提出来了。内存数据库(MMDB:Main Memory Database,也叫主存数据库)[1],就是转载 2015-09-20 11:04:45 · 532 阅读 · 0 评论 -
SSD 下的 MySQL IO 优化
一 目录 一 目录二 背景三 SSD 特性四 基于 SSD 的数据库优化五 A 项目 MySQL 主从关系图六 程序切换之前调优 6.1 修改系统 IO 调度算法 6.2 修改 innodb_io_capacity = 4000 6.3 修改 innodb_max_dirty_pages_pct = 25 6.4 修改 innodb_io_capacity = 2000 6.5 修转载 2015-09-20 10:44:36 · 880 阅读 · 0 评论 -
MySQL 高可用架构在业务层面的分析研究
前言: 相对于传统行业的相对服务时间9x9x6或者9x12x5,因为互联网电子商务以及互联网游戏的实时性,所以服务要求7*24小时,业务架构不管是应用还是数据库,都需要容灾互备,在mysql的体系中,最好通过在最开始阶段的数据库架构阶段来实现容灾系统。所以这里从业务宏观角度阐述下mysql架构的方方面面。 一,MySQL架构设计—业务分析 (1)读多写少 虚线表示跨机房部署转载 2015-09-20 10:22:53 · 984 阅读 · 0 评论 -
MySQL备份与恢复
为了保障数据的安全,需要定期对数据进行备份。备份的方式有很多种,效果也不一样。一旦数据库中的数据出现了错误,就需要使用备份好的数据进行还原恢复。从而将损失降到最低。下面我们来了解一下MySQL常见的有三种备份恢复方式: 1、利用Mysqldump+二进制日志实现备份 2、利用LVM快照+二进制日志实现备份 3、使用Xtrabackup备份 一:实验环境介绍: 系统介绍:CentOS6.4转载 2015-09-20 09:49:09 · 609 阅读 · 0 评论 -
MySQL之终端:管理数据库的基本操作
MySQL有很多的可视化管理工具,比如“mysql-workbench”和“sequel-pro-”。 现在我写MySQL的终端命令操作的文章,是想强化一下自己对于MySQL的理解,总会比使用图形化的理解透彻,因为我本来就比较喜欢写代码。同时写出来这些文章,是想要给大家当个参考,希望也能对大家有所帮助,有所提升,这就是我为什么要写终端操作MySQL的文章了。 注意:MySQL数据库命令不区分大小转载 2015-09-20 10:58:17 · 609 阅读 · 0 评论 -
MySQL Cluster:如何通过扩展为MySQL带来2亿QPS
本篇文章的目的在于介绍MySQL Cluster——也就是MySQL的一套内存内、实时、可扩展且具备高可用性的版本。在解决标题中所提到的每秒2亿查询处理能力问题之前,我们先对MySQL集群的背景信息及其架构进行一番回顾,这将有助于大家理解上述目标的实现过程。 MySQL Cluster介绍 MySQL Cluster是一套具备可扩展能力、实时、内存内且符合ACID要求的事务型数据库,其将99.转载 2015-09-20 10:51:53 · 585 阅读 · 0 评论 -
MySQL线程池总结(二)
one-connection-per-thread 根据scheduler_functions的模板,我们也可以列出one-connection-per-thread方式的几个关键函数。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25转载 2015-09-20 10:49:16 · 513 阅读 · 0 评论 -
MySQL 调优/优化的 100 个建议
MySQL是一个强大的开源数据库。随着MySQL上的应用越来越多,MySQL逐渐遇到了瓶颈。这里提供 101 条优化 MySQL 的建议。有些技巧适合特定的安装环境,但是思路是相通的。我已经将它们分成了几类以帮助你理解。 MySQL监控 MySQL服务器硬件和OS(操作系统)调优: 1、有足够的物理内存,能将整个InnoDB文件加载到内存里 —— 如果访问的文件在内存转载 2015-10-05 00:51:56 · 293 阅读 · 0 评论 -
mysql主从、主主复制架构
转载:http://rain1118.blog.51cto.com/4350097/834046 mysql主从复制的概述: mysql内建的复制功能是构建大型,高性能应用程序的基础。将mysql的数据分布多个系统上,这种复制机制是通过将mysql的一台主机(master)的数据复制到其他主机(slaves)上,并重新执行一遍来实现。 mysql支持单行、异步复制。复制时对表的更转载 2015-05-04 00:01:33 · 529 阅读 · 0 评论 -
MySQL系列:innodb源码分析之内存管理
在innodb中实现了自己的内存池系统和内存堆分配系统,在innodb的内存管理系统中,大致分为三个部分:基础的内存块分配管理、内存伙伴分配器和内存堆分配器。innodb定义和实现内存池的主要目的是提供内存的使用率和效率,防止内存碎片和内存分配跟踪和调试。我们先来看看他们的关系和结构。 以下是它的关系结构图: 上图中的: ut_mem_block块是基础内存管理 Buddy all转载 2015-05-10 09:44:41 · 459 阅读 · 0 评论 -
MySQL系列:innodb源码分析之线程并发同步机制
innodb是一个多线程并发的存储引擎,内部的读写都是用多线程来实现的,所以innodb内部实现了一个比较高效的并发同步机制。innodb并没有直接使用系统提供的锁(latch)同步结构,而是对其进行自己的封装和实现优化,但是也兼容系统的锁。我们先看一段innodb内部的注释(MySQL-3.23): Semaphore operations in operating systems are s转载 2015-05-10 09:46:24 · 483 阅读 · 0 评论 -
LINUX下用C连接MYSQL
以下变量类型在MySQL的库当中定义。我们需要这些变量是为了使用MySQL的函数。这些变量有详细的解释,但是这些解释对于写代码来说并不重要。 MYSQL 以下代码块是用来连接数据库的通讯过程 typedef struct st_mysql { NET net; /* Communication parameters */ gptr转载 2015-04-17 01:23:16 · 387 阅读 · 0 评论 -
Ubuntu下mysql配置
在ubuntu下面安装ubuntu最简便的方法是: sudo apt-get install mysql-server sudo apt-get install mysql-client apt-get的安装文件缓存在/var/cache/apt/achrive中,可备份; mysq转载 2015-04-16 13:49:36 · 343 阅读 · 0 评论 -
MySQL性能优化总结
一、MySQL的主要适用场景 1、Web网站系统 2、日志记录系统 3、数据仓库系统 4、嵌入式系统 二、MySQL架构图: 三、MySQL存储引擎概述 1)MyISAM存储引擎 MyISAM存储引擎的表在数据库中,每一个表都被存放为三个以表名命名的物理文件。首先肯定会有任何存储引擎都不可缺少的存放表结构定义信息的.frm文件,另外转载 2016-08-30 15:21:31 · 435 阅读 · 0 评论