1、学习目标
为了能够更短时间内处理更多的数据,以及在现有服务性能基础上,使用集群模式达到预期的性能目标。
目标值:
每天处理网页访问流量或广告点击统计工作,大概在500万量;
及时处理,完成分析结果。而非产生要处理数据被积压情况;
把新的模式应用于现有的可控制的产品当中,做经验的积累工作。
MysqlCluster首选原因
公司已经具备linux平台专业维护人才和数据库操作专业维护人才;
从系统能够智能划分处理任务的角度考虑,集群模式是首选方案;
Linux系统平台的Mysql Cluster开源免费意味着软件成本的节省;
现有公开的测试报告中,看出我们采取的简单模型能够在集群环境当中实施。
2、环境要求
软件要求:
Linux El 5操作平台
Mysql相关软件包,直接在官方下载
硬件要求:
四台服务器:管理节点1台,Sql操作节点1台,数据存储节点2台;
管理节点:普通的pc
两台hp普通服务器;
一台:dell高级服务器(使用一天,效果比原先的pc很明显。主要怀疑网卡的性能上)
希望的环境:
最少四台服务器:管理节点1台,Sql操作节点1台,数据存储节点2台;
管理节点服务器配置方面没有太多要求。
其他三台机器:内存尽可能大,希望4G;千兆网卡;64位处理器;
交换机:千兆速度交换机;
组成高速局域网环境
3、配置方法
4、测试过程
4.1 测试用例
及时跟踪用户感性点
对当前用户的查看多个url(m url)之后,对应的多个关键词(n kw)进一步计算,在数据库中很快判断出用户正在关注着什么关键,迅速进行排列结果。
用户行为产生的url和关键词部分来源于Autosense系统的数据库。
4.2测试使用表格
表格结构
mysql> show create table userkeyword\G;
*************************** 1. row ***************************
Table: userkeyword
Create Table: CREATE TABLE `userkeyword` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`ClientID` varchar(25) NOT NULL DEFAULT '',
`LastUpdateTime` datetime DEFAULT NULL,
`Keyword` varchar(25) NOT NULL DEFAULT '',
`UpdateCount` int(11) NOT NULL DEFAULT '1',
PRIMARY KEY (`ID`),
KEY `idxUpdateCount` (`UpdateCount`),
KEY `idxcid` (`ClientID`),
KEY `idxkw` (`Keyword`)
) ENGINE=ndbcluster DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
表格数据
mysql> select count(*) from userkeyword;
+----------+
| count(*) |
+----------+
| 2404648 |
+----------+
1 row in set (0.01 sec)
4.3测试过程
数据的更新速度
两百万数据的时候,使用6客户端进行随机的insert 和 update 工作,能够平稳处理500记录/每秒。
同时,在进行某一个用户的关注感兴趣的关键词排名查询需要0.01 sec。
这种情况符合及时分析用户的行为,并用户下一次查看网页的时候,及时计算用户关注点报告(例如,关注汽车行业关键词排行)。
这样的处理速度引入到广告系统的处理引擎模块当中,及时计算针对报表格式的很多统计结果。
可以应用词引擎高速处理能力,实现功能:
及时计算用户的活动频率和关注点;
广告系统当中,防功能的实现;
及时计算其他一些统计功能;
总结
在集群系统的说明文档学习过程中,所理解的情况和设想的解决方案的模型对比,从新认识MysqlCluster系统。
失败:
<1>对数据处理能力的边界,没有明确的控制能力。很想让更多的解决问题依托于一个处理模型上。比如,初步设想的范围当中,想使用此引擎处理更多的数据或者海量数据。
从实际操作的过程中,得到的结果就是平台或产品当中,需要使用不同的处理引擎完成不同的任务,而非实用一个引擎完成全部。
<2>集群模式当中子查询非常消耗时间。这个特点让很困惑,而且使用的很多时间来试图突破掉瓶颈。可惜最终还没有能找到很好的解决方案。
如果需要使用子查询方式的地方,暂时不能在此集群环境上做运算工作。
<3>对网卡和交换机等硬件方面的吞吐量,比较怀疑达到极限或者怀疑有拖延情况。
收获:
<1>尝试集群工作模式。
<2>享受开放软件的优点。
<3>处理速度的提高,让人很惊讶。
对一台机器Mysql做inset,update,delete 和没有自查询的其他一些操作的时候,单一客户端每秒能够处理150条左右。而在集群环境当中,6个客户端,很平稳状态处理速度在500条以上。
<4>对一些数据处理方式上,因为有特殊引擎提供处理能力,使得平台的设计思路有所改观。
分享到:
相关推荐
总结来说,MySQL Cluster是一个强大的数据库解决方案,它通过分布式内存存储和无共享架构提供了高可用性和性能。通过理解其核心组件和工作原理,可以有效地管理和利用这个技术来支持大规模、高并发的数据库应用。
总结来说,MySQL Cluster GPL 7.2.4-win32是针对Windows 32位环境的高可用数据库集群解决方案,提供强大的数据分布、故障切换和SQL支持。在无法访问外网的环境中,企业依然可以依靠这个软件构建可靠的数据库系统,...
总结来说,MySQL Cluster是一个强大的分布式数据库解决方案,通过SQL节点、NDB数据节点和管理节点的协同工作,提供高可用性和可扩展性。其核心在于NDB存储引擎的分布式数据存储和管理机制,通过冗余和数据分片实现...
总结,MySQL Cluster是应对大规模数据处理和高可用需求的重要解决方案。通过理解其核心架构和工作原理,开发者可以有效地利用它来构建稳定、高效的应用系统。同时,结合源码学习和使用如Amoeba这样的工具,能进一步...
通过本教程的学习,读者不仅了解了如何在 CentOS 5.0 下搭建 MySQL-Cluster 架构,还深入了解了 MySQL-Cluster 的关键组件及其工作原理。MySQL-Cluster 的高可用性和高性能特点使其成为处理大规模数据和高并发访问的...
本资源“B站MySQL学习视频总结.zip”显然包含了从B站视频中提炼出的MySQL学习要点,旨在帮助初学者或有经验的开发者巩固和深化对MySQL的理解。 在学习MySQL的过程中,首先会接触的是SQL语言基础,这是与数据库交互...
本总结将深入探讨MySQL的基础知识,包括安装与配置、数据类型、表的创建与管理、SQL查询语言、索引与性能优化等方面,旨在帮助读者巩固对MySQL的理解。 一、安装与配置 在开始使用MySQL之前,需要先完成安装。对于...
### MySQL集群原理与部署详解 #### 一、MySQL集群概念 MySQL集群,即MySQL Cluster,是一种高度...通过本案例的学习,不仅能够掌握MySQL集群的搭建方法,还能深入理解其背后的技术逻辑,从而更好地应用于实际场景中。
根据提供的信息,我们可以总结出以下关于MySQL 5.7及其相关文档的重要知识点: ### MySQL 5.7 参考手册概述 #### 1. **版本覆盖范围** - **MySQL 5.7**: 该参考手册涵盖了从MySQL 5.7至5.7.23的版本。 - **NDB...
MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,广泛应用于各种规模的企业、网站和应用程序中。在使用MySQL的过程中,用户可能会遇到各种各样的问题,...不断学习和实践,将有助于提升MySQL管理和维护的能力。
本章节选自《MySQL 5.1 Cluster DBA 认证学习指南》(MySQL 5.1 Cluster DBA Certification Study Guide)。该文档作为官方认证教材的一部分,主要面向希望获得 MySQL Cluster DBA 认证的专业人士。它覆盖了 MySQL ...
### MySQL开发学习笔记知识点梳理 #### 一、基础知识概述 - **数据库定义**: 数据库(database)是用于存储数据的仓库,它可以高效地存储和处理数据。主要存储介质有两种:磁盘和内存(RAM)。 - **数据库分类**: - *...
### MySQL 5.7 YUM 安装指南 #### MySQL 版本介绍 在开始之前,我们先了解 MySQL 的不同版本及其特点。 ...通过本文的学习,读者可以掌握在 Linux 系统上使用 YUM 快速部署 MySQL 5.7 的全过程。
- **集群概念**:MySQL Cluster是一种用于构建高可用性和高扩展性的数据库解决方案,能够提供低延迟的数据访问,并支持在线添加节点等功能。 - **集群组件**:MySQL Cluster主要包括NDB存储引擎、Data Node、SQL ...
- 文档最后部分提供了进一步学习的链接,建议阅读官方文档以了解更多关于MySQL Cluster的高级特性和最佳实践。 #### 七、总结 通过本文的详细介绍,我们可以了解到在Linux环境下安装配置MySQL Cluster的具体步骤...
根据提供的文件信息,我们可以提取...综上所述,MySQL 5.7 参考手册不仅是一份详细的文档,也是学习和掌握 MySQL 5.7 版本的重要资料。无论是对于初学者还是经验丰富的开发者来说,都能够从中获得有价值的信息和支持。
MySQL是一种广泛使用的开源关系型数据库...这只是MySQL基础知识的一部分,实际操作中还需要学习更复杂的查询语句、视图、触发器、存储过程等。对MySQL的深入理解和熟练使用是成为专业数据库管理员或开发者的必要技能。