尽管MySQL前途未卜,但是其联合创始人最近也在全力忙于MariaDB方面的开发。相信这一MySQL分支的完善,会给数据库管理人员带来福音。
MySQL联合创始人Monty Widenius提供了MySQL的分支MariaDB候选版本。据报道MariaDB 5.1完全兼容MySQL 5.1,这个版本早在2008年11月就发布了,增加了很多新的功能和若干个新的补丁程序。开发者称这个候选版本非常稳定,将在不久的将来发布。
MariaDB Logo
MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能。这个版本还包括了 PrimeBase XT (PBXT) 和 FederatedX 存储引擎。
这个项目的更多的代码都改编于MySQL 6.0,例如 “pool of threads”功能提供解决多数据连接问题。MariaDB 5.1.41 RC的32位和64位已编译linux版本,还包括源代码包。MariaDB基于GPL 2.0发布。
下载地址:
【建议收藏】超详细的Canal入门,看这篇就够了!
Canal是一个由阿里巴巴开发的开源项目,专注于基于数据库增量日志解析提供数据订阅与消费功能。 主要支持MySQL与MariaDB。 它的起源可以追溯到2010年,随着阿里巴巴集团内部业务对跨机房同步的需求增加,以及数据库同步策略从基于trigger的方式转向基于日志解析,Canal应运而生。 当前,Canal支持MySQL版本5.1.x至8.0.x。 Canal的工作原理基于MySQL的Binlog日志,它记录所有DDL和DML(除了数据查询)语句,包括执行时间,用于备份和数据同步。 Binlog有STATEMENT、ROW、MIXED三种模式。 通过理解MySQL的主从复制机制,可以清晰地看到Canal是如何作为从服务器向主服务器拉取数据的。 Canal架构设计采用组件化方式,类似Tomcat的设计,使用组合设计、依赖倒置和面向接口设计原则。 每个Canal实例由多个组件构成,这些组件在conf/spring/中配置。 Canal的核心组件包括EventParser、EventSink和EventStore。 EventParser负责从主服务器获取Binlog数据,EventSink用于数据归集、过滤、路由、分发、加工,EventStore用于存储过滤后的数据。 Canal在处理数据方面具有强大的灵活性,支持单机模式(使用文件存储元数据)和高可用(使用Zookeeper存储元数据)。 它提供三种EventParser,一个EventSink(基于MySQL Binlog数据对象处理)和一种EventStore(基于内存的环形缓冲器)。 MetaManager组件根据元数据存储位置分为内存、文件和Zookeeper三种类型。 Canal-HA机制依赖Zookeeper实现,支持Canal Server和Canal Client的高可用。 Canal的工作流程包括启动时确定Binlog位置、数据dump、归集与存储、以及数据消费。 启动时,EventParser线程根据存储的Binlog位置从主服务器拉取数据。 归集与存储过程包括数据过滤、路由、分发、加工后存储到内存环形缓冲器中。 数据消费通过Canal客户端基于TCP协议的Google Protobuf实现,使用多路复用模式。 Canal的应用场景广泛,包括缓存同步、全文搜索、任务下发与数据异构。 在缓存同步场景中,数据库变更后通过Binlog进行缓存/ES的增量更新。 在任务下发场景中,监听数据库变更后将数据写入MQ/kafka进行任务下发。 数据异构通过将需要JOIN查询的多表聚合在一个数据库中解决复杂查询问题,Canal提供了一个实现数据异构的有效工具。
MariaDB数据库的特点是什么?
MariaDB 是一个采用 Maria 存储引擎的MySQL分支版本,是由原来 MySQL 的作者Michael Widenius创办的公司所开发的免费开源的数据库服务器。
这个项目的很多代码都改编于 MySQL 6.0,例如 “pool of threads”功能提供解决多数据连接问题。 MariaDB 5.1.41 RC可以到这里下载,32位和64位已编译Linux版本,还包括源代码包。 MariaDB基于GPL 2.0发布。
与 MySQL 相比较,MariaDB 更强的地方在于:
Maria 存储引擎
PBXT 存储引擎
XtraDB 存储引擎
FederatedX 存储引擎
更快的复制查询处理
线程池
更少的警告和bug
运行速度更快
更多的 Extensions (More index parts, new startup options etc)

更好的功能测试
数据表消除
慢查询日志的扩展统计
支持对 Unicode 的排序
相对于MySQL最新的版本5.6来说,在性能、功能、管理、NoSQL扩展方面,MariaDB包含了更丰富的特性。 比如微秒的支持、线程池、子查询优化、组提交、进度报告等。 详情见列表。
参考:网页链接
Mysql单表太大,性能受影响求指点
这么大的表优化是很痛苦的,看你对数据的用途,如果不经常查询、而是频繁的增加,可以考虑定期(每周或者每日)把表中的数据复制到历史表中,清空工作表的数据,这样插入的效率能大大提高,但是查询的时候需要在两个表中进行查询。 用于频繁插入数据的工作表要尽量少建索引,用于查询的历史表要多建索引。
发表评论