从关系型Mysql到Nosql HBase的迁移实践

  2013年11月22-23日,作为国内唯一专注于Hadoop技术与应用分享的大规模行业盛会,2013 Hadoop中国技术峰会(China Hadoop Summit 2013)于北京福朋喜来登集团酒店隆重举行。来自国内外各">行业领域的近千名CIO、CTO、架构师、IT经理、咨询顾问、工程师、Hadoop技术爱好者,以及从事Hadoop研究与推广的IT厂商和技术专家将共襄盛举。

  在SQL&NoSQL专场,来自小米的资深工程师刘绍辉做了《从关系型Mysql到Nosql HBase的迁移实践》演讲。详细介绍了HBase,以及HBase在小米的使用,小米开发的重要特性和未来的开发计划。

  首先,刘绍辉在介绍HBase,他谈到,小米从去年开始调研测试,目前已经十几个业务接入到了HBase上,包括米聊消息的全存储、MiCloud上短信通话记录的同步、小米Push服务、以及一些离线的数据分析业务。

  刘绍辉谈到,典型的HBase集群包含了3到5个控制节点,5到n个的数据节点。控制节点和数据节点的主要区别在磁盘上,控制节点对磁盘的容量要求并不是很高,主要是要求磁盘要稳定。

                                             ▲典型的HBase集群

  刘绍辉继续介绍到,整个系统的自动化部署是小米自己开发的minos工具,直接在命令行操作,可以很简单的创建集群、修改配置文件、升级集群、删除集群等功能。同时,minos也集成了一个监控的功能。目前,这款工具已经在github上开源,小米内部使用的版本和开源版本基本上是一致的(https://github.com/xiaomi/Minos)。

  介绍到最佳实践,刘绍辉说,“我们在原生的HBase Client基础上封装了一层小米的HBase Client。这主要是实现了四件事,一是保证线程的安全,二是在HBase Client中可以自动添加性能指标,三是跨表、跨集群操作对用户来说是一致的,四是可以做到动态的更新客户端配置。”

  对于一些数据比较重要的业务,我们使用了双主复制,并实现了主备集群的自动切换。当我们确认需要切换集群的时候只要简单的修改一个配置,新的读写请求就会被切换到备集群上。

                                                    ▲最佳实践

  另外,在其他方面也有了一些优化,如平滑升级,使用基于move region脚本减少不可用时间;Full GC,每天低峰期触发Full GC;Compaction,提升写的性能;四是Shortcircuit Read;安全,Kerberos认证。

  在最后谈到未来的开发计划,刘绍辉介绍到,我们希望能做到同步复制,跨行跨表的原子性,全局二级索引,以及做一些Compaction优化, Failover相关的优化,多租户共享集群与共有云,HMaster重构。在与社区共同发展方面,刘绍辉继续谈到,我们也会参与HBase修改反馈回社区,以及会紧跟社区最新进展,积极参与社区方案设计和讨论。

时间: 2024-11-01 11:21:49

从关系型Mysql到Nosql HBase的迁移实践的相关文章

全面梳理关系型数据库和NoSQL的使用情景

今天我将对常见关系型数据库以及NoSQL的使用场景做一个详细的分析和比较.希望对大家以后的数据库选型有所帮助.   目录 数据库场景比较 MySQL还是PostgreSQL? MongoDB 键值(Key-Value)数据库 Cassandra 图数据库(Neo4j) 公司业务适合使用的数据库   数据库场景比较   MySQL还是PostgreSQL?   1.如果你的应用对数据的完整性和严肃性要求不高,但是追求处理的高速度.例如论坛和社区,你应该使用MySQL. 2.如果你的应用是一个严肃的

全面梳理关系型数据库和 NoSQL 的使用情景

今天我将对常见关系型数据库以及NoSQL的使用场景做一个详细的分析和比较.希望对大家以后的数据库选型有所帮助. 目录 数据库场景比较 MySQL还是PostgreSQL? MongoDB 键值(Key-Value)数据库 Cassandra 图数据库(Neo4j) 公司业务适合使用的数据库 数据库场景比较 MySQL还是PostgreSQL? 1.如果你的应用对数据的完整性和严肃性要求不高,但是追求处理的高速度.例如论坛和社区,你应该使用MySQL. 2.如果你的应用是一个严肃的商业应用,对数据

通过阿里来看大型应用数据库是选择Oracle MySQL 还是 NoSQL?

作为阿里引入 MySQL 数据库的第一批践行者之一,我经历了从Oracle的"一统天下"到被 MySQL 从周边应用逐步"蚕食",直至核心系统都被替换成 MySQL的多个阶段.最初这是一个令人振奋的过程,虽然也伴随着DBA团队的不安,但总体都非常顺利.但随着这个过程的不断推进,痛苦慢慢袭来,尤其是对开发团队的影响越来越大.再后来-(再后来的事情就不便细说了) 现在回过头来仔细思考,方向决策没有任何问题,但实际执行过程及执行策略还是存在不少可以商榷的地方.比如成本比较

使用Sqoop从Mysql向云HBase同步数据

Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具.本文介绍如何使用sqoop将数据从Mysql导入到HBase.从成本的角度考虑,针对没有hadoop集群的用户,重点介绍单机运行sqoop的配置和参数. 安装 要完成从Mysql向HBase导入数据的任务,需要安装和配置的软件包括hadoop,sqoop,mysql-connector和HBase.我们针对单机运行sqoop的情况提供了四合一的安装包简化安装流程.如果是在hadoop集群上运行sqoop,可以参考Sqoop官

web后台 非关系型-JavaWeb服务器在操作菲关系型数据库(比如HBase)时,与关系型数据库有何区别?

问题描述 JavaWeb服务器在操作菲关系型数据库(比如HBase)时,与关系型数据库有何区别? Hibernate肯定用不了了吧~ 有没有一些开源的框架支持~ 解决方案 什么是关系型数据库关系型数据库设计 解决方案二: http://blog.csdn.net/lifuxiangcaohui/article/details/39891099

Mysql数据库千万数据修改迁移问题

问题描述 Mysql数据库千万数据修改迁移问题 5C 环境:数据库DATA中有三张表分别为 表A.表B.表C 需求:表A中有1200万数据,现在需要将表A中的部分字段数据插入表B中,将表A中剩余部分字段插入表C中,在插入过程中,会对字段数据进行部分处理(如某字段为空,则随机插入写那些).问题: 除了查出表A中的数据然后一条一条处理插入还有什么好的方式能优化效率呢!! 解决方案 MySQL数据库数据位置迁移 解决方案二: 还不是一样用SQL语句啊 解决方案三: 事务应该可以吧,但效率好像不好说 解

简述MySQL分片中快速数据迁移_Mysql

推荐阅读:MySQL 数据库跨操作系统的最快迁移方法 mysql 备份与迁移 数据同步方法 操作实践背景: travelrecord表定义为10个分片,尝试将10个分片中的2个分片转移到第二台MySQL上,并完成记录, 要求最快的数据迁移做法,中断业务时间最短 思路一利用mysqldump: 在这里我们只针对mysql innodb engine,而且配置bin-log的数据库进行分析.因为是将10个分片中的两个分片进行迁移,其实就是数据库的迁移过程,就是将10个数据库中的两个数据迁移到另外一台

全球最热门的NoSQL系统——MongoDB技术实践与探索

中国云计算产业最具影响力的盛会之一--2016杭州云栖大会(https://yunqi.aliyun.com/)将在云栖小镇召开.连续举办七届的云栖大会一直是业界了解阿里云计算生态发展和应用趋势.体验前沿技术和产品的最佳平台,来自海内外的上万名开发者.创业者聚集于此,分享着他们对云计算的思考与实践经验.7年来,从产品发布到行业解决方案展示,从关注技术到技术与服务并重,从单一的客户到生态全景的展现,大会的核心内容一直在"进化",而2016年杭州云栖大会,则以"飞天・进化&quo

云服务器 ECS 镜像迁移:应用迁云之镜像迁移-(5)阿里云上跨VPC和区域、账号镜像迁移实践

应用迁云之镜像迁移-(5)阿里云上跨VPC和区域.账号镜像迁移实践 目前,阿里云上的镜像迁移主要需求场景如下: 跨VPC迁移ECS实例比如从VPC A迁移到VPC B环境中. 跨区域迁移ECS实例比如从上海区域迁移到杭州区域. 跨账号迁移ECS实例比如从账号A迁移到账户B. 阿里云提供ECS实例快照和自定义镜像,支持系统盘和数据盘的功能,并且自定义镜像可以跨区域复制和共享给其他账号使用.基于这些功能特性,您可以实现跨VPC.跨区域.跨账号的镜像迁移. 跨VPC镜像迁移流程如下: 跨区域镜像迁移流