移动基于Percona XTRADB Cluster的大数据解决方式
近期由于“棱镜门”事件的曝光。引起了国家对信息安全问题的注意。各大行业也开展起来去“IOE”的行动。对移动而言, 一方面是对信息安全的操心。还有一方面是对减少成本的考量。对开源体系架构的引入也成为一种现实的方案。
在互联网行业。MySQL的使用成为主流,但随着Oracle对Sun的收购,MySQL的控制权落入Oracle手中,对MySQL可能闭源的风险也成为业界的共识。
由此。产生了各种MySQL的分支。
本文主要对当中的PerconaXtraDB作为数据库方案进行了分析。
Percona XtraDBCluster是MySQL高可用性和可扩展性的解决方式.
Percona XtraDBCluster提供的特性有:
1.同步复制,事务要么在全部节点提交或不提交。
2.多主复制。能够在随意节点进行写操作。
3.在从server上并行应用事件,真正意义上的并行复制。
4.节点自己主动配置。
5.数据一致性。不再是异步复制。
Percona XtraDBCluster全然兼容MySQL和Percona Server,表如今:
1.数据的兼容性
2.应用程序的兼容性:无需更改应用程序
集群特点:
Ø 集群是有节点组成的,推荐配置至少3个节点,可是也能够执行在2个节点上。
Ø 每一个节点都是普通的mysql/perconaserver,能够将现有的数据库server组成集群,反之,也能够将集群拆分成单独的server。
Ø 每一个节点都包括完整的数据副本。
长处例如以下:
1.当运行一个查询时,在本地节点上运行。
由于全部数据都在本地,无需远程訪问。
2.无需集中管理。
能够在不论什么时间点失去不论什么节点,可是集群将照常工作。
3.良好的读负载扩展,随意节点都能够查询。
缺点例如以下:
1.增加新节点。开销大。须要复制完整的数据。
2.不能有效的解决写缩放问题,全部的写操作都将发生在全部节点上。
3.有多少个节点就有多少反复的数据。
架构图例如以下:
Percona XtraDB Cluster与MySQL Replication差别在于:
分布式系统的CAP理论:
C—一致性。全部节点的数据一致;
A—可用性,一个或多个节点失效。不影响服务请求;
P—分区容忍性,节点间的连接失效,仍然能够处理请求;
不论什么一个分布式系统,须要满足这三个中的两个。
MySQLReplication: 可用性和分区容忍性;
Percona XtraDBCluster: 一致性和可用性。
因此MySQL Replication并不保证数据的一致性。而Percona XtraDB Cluster提供数据一致性。
Percona XtraDBCluster组件:
Percona XtraDB Cluster基于XtraDB的PerconaServer以及包括写复制集补丁。使用Galera 2.xlibrary,事务型应用下的通用的多主同步复制插件。
Galera 2.x新特性有:
1.IST(IncrementalState Transfer)增量状态传输。对于WAN特别实用。
2.RSU(RollingSchema Update)旋转更新架构。不会阻止对表进行操作。
垂直分片:
水平分片:
XTRADB集群,每一个集群8台server计算(集群内每一个节点数据同样),相当于8X100=800台server。每台servertpmC按1,807,347,支持5000万PV计算,即800X5000万=4000000万PV。足够满足该项目的需求了。
移动基于Percona XTRADB Cluster的大数据解决方式的更多相关文章
- mysql高可用之PXC(Percona XtraDB Cluster)
简介 Percona XtraDB Cluster是MySQL高可用性和可扩展性的解决方案,Percona XtraDB Cluster提供的特性如下: 1).同步复制,事务要么在所有节点提交或不提交 ...
- Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication Overview Galera Cluster 由 Coders ...
- Percona XtraDB Cluster Strict Mode(PXC 5.7)
在Percona XtraDB Cluster集群架构中,为了避免多主节点导致的数据异常,或者说一些不被支持的特性引发的数据不一致的情形,PXC集群可以通过配置pxc_strict_mode这个变量来 ...
- Percona XtraDB Cluster
简介 Percona XtraDB Cluster是MySQL高可用性和可扩展性的解决方案,Percona XtraDB Cluster提供的特性如下: 1.同步复制,事务要么在所有节点提交或不提交. ...
- Percona XtraDB Cluster(PXC) Mysql 集群
Percona XtraDB Cluster(PXC) ---原理介绍篇 目录 一.简介 1 二.优缺点 2 三.区别/局限性 3 四. PXC复制原理 4 五. 服务解释 5 ...
- Percona XtraDB Cluster(转)
Percona XtraDB Cluster是针对MySQL用户的高可用性和扩展性解决方案,基于Percona Server .其包括了Write Set REPlication补丁,使用Galera ...
- MySQL高可用方案-PXC(Percona XtraDB Cluster)环境部署详解
MySQL高可用方案-PXC(Percona XtraDB Cluster)环境部署详解 Percona XtraDB Cluster简称PXC.Percona Xtradb Cluster的实现是在 ...
- Percona XtraDB Cluster 的一些使用限制(PXC 5.7)
Percona XtraDB Cluster有众多的优秀特性,使得mysql集群得以轻松实现.但是不要忽略了它的一些限制.如果你无法接受,或者你的应用程序或数据库(比如使用了memory引擎)对限制无 ...
- Percona XtraDB Cluster高可用与状态快照传输(PXC 5.7 )
Percona XtraDB Cluster(下称PXC)高可用集群支持任意节点在运行期间的重启,升级或者意外宕机,即它解决了单点故障问题.那在这个意外宕机或者重启期间,该节点丢失的数据如何再次进行同 ...
随机推荐
- 【ES】学习1-入门使用
参考资料: https://elasticsearch.cn/book/elasticsearch_definitive_guide_2.x/_search_lite.htm 1.查询es数据的方法 ...
- 使用Java类库POI生成简易的Excel报表
使用Java类库POI生成简易的Excel报表 1.需求 1.数据库生成报表需要转义其中字段的信息.比如 1,有效 2.无效等 2.日期格式的自数据需要转义其格式. 3.标题的格式和数据的格式需要分别 ...
- python接口自动化测试二十九:yaml配置文件的写和读
# 先安装ruamel.yaml模块 写入配置文件: import os# 先安装ruamel.yaml模块from ruamel import yaml # 将字典写入到yamldict = { ' ...
- this和引用变量的地址值是同一个---------new后面的是构造方法
/*全局变量和构造方法及this和引用变量的关系 引用变量在栈里面对象在堆中this你可以理解为在堆里面this就是这个对象自己 */ public class Person {/* * 定义属性 ...
- POJ 2752 Seek the Name, Seek the Fame(next数组运用)
Seek the Name, Seek the Fame Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 24000 ...
- spring-boot集成spring-data-jpa
参考这个就行, http://blog.csdn.net/wazz753/article/details/72472411 ps:集成过程中pom文件,我加入的内容如下,两个都需要,实体类记得加注解和 ...
- oracle中主键自增
oracle中主键自增 下面用一个例子来说明自增主键的创建: 1.建用户数据表 drop table dectuser; create table dectuser( userid integer p ...
- C# mongoDB Driver 使用对象方式查询语法大全
#region 查询方法 /// <summary> /// 获取单个对象 /// </summary> /// <typeparam name="T" ...
- 《Kafka技术内幕》学习笔记
第一章 Kafka入门 1.1 Kafka流式数据平台 Kafka作为流式数据平台的特点: 消息系统:两种消息模型:队列和发布订阅. 队列模型:将处理工作平均分给消费组中的消费者成员. 发布订阅模型: ...
- 使用ssh命令进行远程登录
1.查看SSH客户端版本 有的时候需要确认一下SSH客户端及其相应的版本号.使用ssh -V命令可以得到版本号.需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用Op ...