免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 小版主杀手
打印 上一主题 下一主题

大话数据库开发、优化与管理维护,新春参与送好礼~(获奖名单已公布-2014-2-21) [复制链接]

论坛徽章:
17
戌狗
日期:2013-09-02 23:43:02技术图书徽章
日期:2014-04-29 14:16:02技术图书徽章
日期:2014-04-24 15:51:26未羊
日期:2014-04-06 22:10:30丑牛
日期:2014-04-06 21:23:29辰龙
日期:2014-04-06 21:20:22处女座
日期:2014-04-06 21:16:18技术图书徽章
日期:2014-04-02 15:10:51金牛座
日期:2014-03-10 22:26:18巨蟹座
日期:2014-02-17 17:12:12技术图书徽章
日期:2014-01-24 10:38:43摩羯座
日期:2013-11-29 18:00:18
21 [报告]
发表于 2014-01-24 14:25 |只看该作者
本帖最后由 jimmy-_-lixw 于 2014-02-10 18:23 编辑

MySQL数据库存储,这是不错的话题,支持。

讨论话题:
1、谈谈您的项目中是如何对mysql进行开发来实现需求的。
目前还没有需要对MySQL开发的级别,未到达需求MySQL开发。基本上只是使用原始的MySQL版本。
如果是有特殊需求,目前也是找其他MySQL衍生的开源数据库使用。


2、对mysql数据库运维有哪些优化的方案
根据网站访问量越来越大, MySQL数据库服务器的压力越来越大。这个时候就需要优化MySQL。数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。
我认为MySQL数据库运维有哪些优化只是其中一部分。只是MySQL优化的其中一个方案。另外如果要真正从根源上优化MySQL,必须掌握业务的需求,并且与开发沟通协调,优化SQL语句。如果两者脱离了,不然的话在优秀管理员也是徒劳无功劳。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。


对此下面我了解一下MySQL优化的一些个人的建议,对MySQL的优化我分为三个部分,一是服务器物理硬件的优化;二是MySQL安装时的编译优化;三是自身配置文件my.cnf的优化;如果MySQL的优化也解决不了你的数据库的压力的话,那这个时候就只有考虑采用集群架构的方法,这个我举得是后面的工作了。

优化影响最大的因素:服务器硬件对MySQL性能的影响;MySQL自身因素当解决了上述服务器硬件制约因素后,让我们看看MySQL自身的优化是如何操作的。对 MySQL自身的优化主要是对其配置文件my.cnf中的各项参数进行优化调整。同时,MySQL的线上安装我建议采取编译安装的方法,这样性能上有较大提升。很多时候我们发现,通过参数设置进行性能优化所带来的性能提升,可能并不如许多人想象的那样产生质的飞跃,除非是之前的设置存在严重不合理的情况。我们不能将性能调优完全依托于通过DBA在数据库上线后进行的参数调整,而应该在系统设计和开发阶段就尽可能减少性能问题。


3、如何有效长远的管理好mysql数据库
从服务器运维的角度来考虑,1. 确保数据安全。保证用户信息、运营数据的安全。2. 每日凌晨备份,本地加异地。不影响繁忙时段的线上操作,确保数据不丢失。3. 尽量减少停机时间。提高用户体验、延长运营时间4. 异常损坏情况下尽量恢复数据,尽量减少用户损失。

定制MySQL数据库管理的规范:
1、日常巡检流程。日常检查数据库的哪些运行状态和状态异常分析。

2、备份的方案,和备份测试方案。定制MySQL数据库全备,MySQL数据库和增量备份时间间隔设计,根据数据量和存储空间和业务需求设定备份保留期限,定期测试备份是否正确,是否可用。

3、紧急故障处理预案。 主要是性能监控报警方面的处理,阀值设置,可控制出问题后响应时间和汇报对象等等。

4、误操作预案。例如DDL或者DML误操作后的紧急处理方案。

4、数据库安装、上线流程。对新业务上线,配套的数据库硬件配置,操作系统版本选择,数据库版本选择,安装,系统和数据库基准测试。
5、数据库升级流程。例如升级现有数据库的流程,如何发起,和所有业务及研发部门沟通升级方案对业务的影响,升级前的测试,切换流程定制等。

从管理员的角度看如何管理好mysql数据库,常见关注重点有下面几点:
(1)、慢查询日志,关注重点如下。
1.是否锁定,及锁定时间
2.如存在锁定,则该慢查询通常是因锁定因素导致,本身无需优化,需解决锁定问题。
3.如影响结果集较大,显然是索引项命中存在问题,需要认真对待。影响结果集。

(2)、Explain 操作
1.索引项使用。不建议用using index做强制索引,如未如预期使用索引,建议重新斟酌表结构和索引设置。
2.影响结果集。这里显示的数字不一定准确,结合之前提到对数据索引的理解来看,还记得嘛?就把索引当作有序序列来理解,反思SQL。

(3)、Set profiling , show profiles for query操作。

1.注意执行开销,有问题的SQL如果重复执行,可能在缓存里,这时要注意避免缓存影响。通过这里可以看到。
2.执行时间超过0.005秒的频繁操作SQL建议都分析一下。
3.深入理解数据库执行的过程和开销的分布

(4)、Show processlist 执行状态监控。这是在数据库负载波动时经常进行的一项操作。

MySQL的体系架构中,MySQL对于性能的影响最大,也是关键的核心部分。MySQL也是优化难度最大的一个部分,不但需要理解一些MySQL专业知识,同时还需要长时间的观察统计并且根据经验进行判断,然后设置合理的参数,有时设置过大并不能取得更好的作用,相反它还会影响MySQL的性能。



评分

参与人数 1可用积分 +2 收起 理由
小版主杀手 + 2 赞一个!

查看全部评分

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
22 [报告]
发表于 2014-01-27 13:23 |只看该作者
小版主杀手 发表于 2014-01-22 14:01
大家知道ANSI/ISO SQL是公认的关系数据库标准。从SQL标准的符合性来说,MySQL不仅无法跟成熟的商业数据库相 ...

>>>根本的原因就是性能!
扯jb蛋

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
23 [报告]
发表于 2014-01-27 14:36 |只看该作者
1、谈谈您的项目中是如何对mysql进行开发来实现需求的
  要说对mysql的二次开发定制什么的就没有了,那比较高级。平时就是根据需求选择合适的架构方案和合适的引擎,如是否使用主从,读写分离以及分区等;合理的建表,分析数据库表的用途,根据可能的读写来创建索引等。
  有时候写一些UDF帮助实现一些特殊功能,不过这个用的比较少。
2、对mysql数据库运维有哪些优化的方案
  一个是数据库架构方面的优化,如主从,分区等;
  一个是数据库结构方面的优化,如表结构,索引等;
  一个是数据库使用方面的优化,如查询语句,导入导出方式等;
  一个是系统配置方面的优化,如缓存、内存、超时等的配置。
3、如何有效长远的管理好mysql数据库
  这个还真没什么想法,就是做好权限控制及监控,防止未授权人员的操作,及时发现异常情况。另外操作人员也要细心,避免误操作。

题外话,推荐一个关于性能调优的个人感觉有帮助的工具:mysqltuner。

评分

参与人数 1可用积分 +2 收起 理由
小版主杀手 + 2 赞一个!

查看全部评分

论坛徽章:
11
CU十二周年纪念徽章
日期:2013-10-24 15:41:342015年辞旧岁徽章
日期:2015-03-03 16:54:15丑牛
日期:2015-01-14 10:36:40技术图书徽章
日期:2015-01-12 15:46:11白羊座
日期:2014-11-14 09:35:36狮子座
日期:2014-10-30 13:18:49巳蛇
日期:2014-10-11 12:52:08子鼠
日期:2014-09-28 14:11:06双鱼座
日期:2014-04-22 13:05:48午马
日期:2014-02-11 17:58:002015年迎新春徽章
日期:2015-03-04 09:55:28
24 [报告]
发表于 2014-01-27 16:47 |只看该作者
占坑。。。。好书,好书。。。

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
25 [报告]
发表于 2014-01-27 17:28 |只看该作者
这个不懂,路过留名。

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
26 [报告]
发表于 2014-01-29 20:27 |只看该作者
1、谈谈您的项目中是如何对mysql进行开发来实现需求的。
     我们的项目使用mysql来存储数据,由于没有重要的事务处理,所以使用Mysiam存储引擎,存储少量的数据量。开发语言是C++,所以使用的是ODBC连接MySQL数据库。项目有计划从VC6升级到.net,到时候数据库是否改变用SqlServer暂时是未知数。
2、对mysql数据库运维有哪些优化的方案
     一般来说,如果没有事务处理或者事务处理不重要,建议不使用InnoDB存储引擎,如网站存储数据信息,一般都使用Mysiam存储引擎。
3、如何有效长远的管理好mysql数据库
     做好定期备份和自动备份。

论坛徽章:
223
2022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32操作系统版块每日发帖之星
日期:2016-05-10 19:22:58操作系统版块每日发帖之星
日期:2016-02-18 06:20:00操作系统版块每日发帖之星
日期:2016-03-01 06:20:00操作系统版块每日发帖之星
日期:2016-03-02 06:20:0015-16赛季CBA联赛之上海
日期:2019-09-20 12:29:3219周年集字徽章-周
日期:2019-10-01 20:47:4815-16赛季CBA联赛之八一
日期:2020-10-23 18:30:5320周年集字徽章-20	
日期:2020-10-28 14:14:2615-16赛季CBA联赛之广夏
日期:2023-02-25 16:26:26CU十四周年纪念徽章
日期:2023-04-13 12:23:10操作系统版块每日发帖之星
日期:2016-05-10 19:22:58
27 [报告]
发表于 2014-02-03 11:01 |只看该作者
本帖最后由 action08 于 2014-02-03 11:01 编辑
小版主杀手 发表于 2014-01-23 09:52
在新的微信业务项目中用到了mysql5.5的主从复制,业务用到Mysiam,Innodb两种引擎混合使用,数据库 binlog ...


微信项目???tx的也混cu??

论坛徽章:
0
28 [报告]
发表于 2014-02-03 13:12 |只看该作者
1.谈谈您的项目中是如何对mysql进行开发来实现需求的。
一般是通过jdbc对数据库进行访问操作。根据不同的项目,有时还有调用写存储过程进行数据的处理 或者是写一些脚本从MySQL中取出数据导入其他数据库比如Oracle中做一些数据分析。
数据库表大都用innodb,部分使用myisam. 隔离级别是read-commited

2.对mysql数据库运维有哪些优化的方案
主要是通过脚本进行日常监控,然后将脚本输出的信息发到公司自己开发的web运维监控平台上面实时监控。
如果出现error会第一时间发邮件给DBA,进行处理。
同时使用zabbix辅助监控。

3.如何有效长远的管理好mysql数据库
主从复制+HA做高可用架构,满足各种failover和switchover需求。
备份是王道,主库写数据,从库查数据,同时再配一套从库做远程备份。
发布前一定要在测试环境做好测试,严格遵守发布流程。
DBA多看书多学习以备各种突发情况的处理,同时扩展自己的运维技能更好的为数据把关。

评分

参与人数 1可用积分 +2 收起 理由
小版主杀手 + 2 神马都是浮云

查看全部评分

论坛徽章:
0
29 [报告]
发表于 2014-02-05 09:52 |只看该作者
这本书原来是网易的专家出的。。

论坛徽章:
1
技术图书徽章
日期:2014-02-05 21:05:50
30 [报告]
发表于 2014-02-05 21:43 |只看该作者
好书啊,喜欢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP