Monthly Archives: July 2014

MySQL开发规范

By | 2014-07-18

开发规范–MySQL 摘要 这篇文章旨在规范开发人员对线上、线下MySQL数据库的操作行为, 包括表设计、索引使用和sql查询三个方面。一为避免字符集、索引等的滥用给后端的迁移和排错带来难度; 二为减少sql的不合理使用给后端带来额外的性能消耗和调优的复杂性; 三为尽量剥离后端服务与开发人员的耦合度, 方便后端的扩展、迁移和故障处理。规范相关条目随版本的不同略有变化, 部分规范随开发人员的使用而进行调整。 管理规范见: http://zhechen.me/mysql%e7%ae%a1%e7%90%86%e4%ba%8b%e9%a1%b9%e8%a7%84%e8%8c%83/ 参考 http://dev.mysql.com/doc/refman/5.5/en/optimization.html http://dev.mysql.com/doc/refman/5.5/en/data-types.html http://dev.mysql.com/doc/refman/5.5/en/replication.html 表设计 原则上讲表设计是一个很大的话题, 字段及类型的选取、字符集、存储引擎、范式、是否拆分表等都需要做更细致的划分以避免以后可能会引起的隐含问题。当然没有产品DBA参与项目的开发设计, 很多表设计及创建工作都由开发人员来完成, 这也造成了开发人员更多的以个人喜好来完成表设计相关的工作, 对后期的扩展及维护并没有做太多的考虑。 所以这里从后端维护的角度以存储引擎、数据类型、和表创建三个方面来描述开发阶段需要遵守的一些规范。

percoba XtraDB Cluster介绍及使用(四)

By | 2014-07-16

流控 Flow Control http://galeracluster.com/documentation-webpages/nodestates.html http://galeracluster.com/documentation-webpages/weightedquorum.html 测试环境说明见 http://arstercz.com/percona-xtradb-cluster%E4%BD%BF%E7%94%A8%E4%BA%8C/ 以下说明以重启test3节点为例: 按手册的介绍来看, 节点状态分为以下6种: 集群节点状态变化

percoba XtraDB Cluster介绍及使用(三)

By | 2014-07-10

重启Cluster 详见: http://galeracluster.com/documentation-webpages/restartingacluster.html 如果需要重启整个集群,可以如下操作: Occarsionally, you may have to restart the entire Galera Cluster. proceed as follows: 1. Identify the node with the most advanced node state ID. See chapter Identifying the Most Advanced Node. 2. Start the node as the first node of the cluster. 3. Start the rest of the nodes as usual.

percona XtraDB Cluster介绍及使用(二)

By | 2014-07-10

安装说明 Centos系统安装参考 http://www.percona.com/doc/percona-xtradb-cluster/5.6/howtos/cenots_howto.html node #1 CentOS release 6.5 (Final) hostname: cz-cluster1 IP: 10.0.21.5 node #2 CentOS release 6.5 (Final) hostname: cz-cluster2 IP: 10.0.21.7 node #3 CentOS release 6.5 (Final) hostname: cz-cluster3 IP: 10.0.21.17 三台node都以binary方式安装(解压即可用)http://www.percona.com/software/percona-xtradb-cluster

MongoDB使用及规范介绍

By | 2014-07-08

安装部署说明 1. 软件获取 不做源码编译, 采用二进制格式安装(解压即可用)。软件可从官方下载 http://www.mongodb.org/downloads 2. 安装条件 主机环境应该为RAID10级别,如果硬盘不够可降级为RAID1或RAID5级别(RAID0不安全)。 RAID卡型号选取带有Cache功能的卡,如DELL的H700或H710P。 资源限制: 对应启动文件的参数, ulimit -n 值需大于 最大连接数+mongodb数据文件数, 暂定ulimit -n 16384 3. 安装方式

nat转发出网

By | 2014-07-08

通过 iptables/ip6tables 的 nat 转发可以实现内网主机访问公网目的, 转发的主机需要和内网主机互通,需要可以访问公网网络. IPv4 设置 1.转发机上加一条nat转发 iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT –to-source public_ip eth1 为转发机公网的网卡, public_ip 为公网 ip 地址; 2.开启转发 sysctl -w net.ipv4.ip_forward=1 3. 确保转发机 iptables 存在 FORWARD 规则: iptables -I FORWARD -d 192.168.1.0/24 -j ACCEPT iptables -I FORWARD -s 192.168.1.0/24 -j ACCEPT 内网机操作: 在内网主机增加指向到转发机的路由: ip… Read More »

percona XtraDB Cluster介绍及使用(一)

By | 2014-07-07

http://www.percona.com/software/percona-xtradb-cluster #software http://www.percona.com/doc/percona-xtradb-cluster/5.6/ #refernce page http://dev.mysql.com/doc/relnotes/mysql/5.6/en/index.html #5.6 relaese notes https://launchpad.net/percona-xtradb-cluster #bug跟踪 http://galeracluster.com/documentation-webpages/index.html #galera cluster ref doc. http://galeracluster.com/documentation-webpages/limitations.html #与MySQL Server的不同 FAQ: 1.为什么使用xtradb cluster? node节点之间数据强同步,不用做后期的数据校验;内置故障切换功能,可以逐步摆脱mha相关的第三方工具依赖;由于数据强一致性的保证,业务不适合做写敏感的架构, 少写多读会得到很好的扩展;公网+encrption可以做到多数据中心的数据同步,适合后期业务的多节点部署; 2.为什么使用5.6版本? oracle官方在5.5系列中做出了很大的代价来保证基础功能的稳定,5.6逐步增加许多额外的扩展功能,如slave自动同步,buffer pool dump/restore, 内置memcache,fulltext等。 使用5.6可以做到最终业务的版本统一。