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

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

13112515285976.gif

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

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

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

13112515293260.gif

▲典型的HBase集群

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

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

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

13112515294883.gif

▲最佳实践

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/378665.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle EBS数据定义移植工具:FNDLOAD

在实际的EBS二次开发中,我们经常会碰到需要在各个环境之间移植二次开发的程序对象以及数据定义,如在EBS二次开发中并发请求的定义会涉及到:可执行、并发程序、值集、请求组等的定义,定义需要从开发环境、测试环境、UAT环境一直到正…

21-特征匹配方法(Brute-Force蛮力匹配)

Brute-Force蛮力匹配 cv2.BFMatcher(crossCheck True) crossCheck表示两个特征点相互匹配 例如A中的第i个特征点与B中的第j个特征点最近,并且B中的第j个特征点到A中的第i个特征点也是 NORM_L2:归一化数组的(欧几里得距离),如果其他特征计算…

weakhashmap_Java WeakHashMap values()方法与示例

weakhashmapWeakHashMap类values()方法 (WeakHashMap Class values() method) values() method is available in java.util package. values()方法在java.util包中可用。 values() method is used to get the values that exist in this map to be viewed in a collection. val…

Opencv——几何空间变换(仿射变换和投影变换)

几何空间变换【1】几何变换(空间变换)简述【2】变换矩阵知识简述齐次坐标的概念几何运算矩阵【3】图像的仿射变换1、平移变换2、比例缩放3、旋转4、对称变换(不做展示)1、关于X轴变换2、关于Y轴变换3、关于直线YX变换4、关于直线Y…

用于主题检测的临时日志(e1784e6f-037e-45de-bad1-8bbc239818ee - 3bfe001a-32de-4114-a6b4-4005b770f6d7)...

这是一个未删除的临时日志。请手动删除它。(578392f7-2207-4b01-b36d-c483f0699988 - 3bfe001a-32de-4114-a6b4-4005b770f6d7)转载于:https://www.cnblogs.com/Fly-sky/archive/2011/03/03/1969850.html

probuffer java_Protocol Buffer的使用

Probotbuf简介在网络通信和通用数据交换等应用场景中经常使用的技术是 JSON 或 XML,这两种技术常被用于数据的结构化呈现和序列化。我们可以从两个方面来看JSON 和 XML与protobuf的异同:一个是数据结构化,一个是数据序列化。这里的数据结构化…

根据DbSchema生成代码2

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; using System.Threading; using System.IO; using Rocky;namespace Rocky.CodeBuilder {public class DbBuilder : Disposable{#region 字段public even…

22-随机抽样一致算法RANSAC

随机抽样一致算法(Random sample consensus,RANSAC) 看似复杂,其基本思想就是:随机选取俩点,然后连接,给定一个容忍范围,在这个范围内的点越多越好,然后不断的迭代进行找两点之间容忍范围内点最…

treeset比较器_Java TreeSet比较器()方法与示例

treeset比较器TreeSet类的compare()方法 (TreeSet Class comparator() method) comparator() method is available in java.util package. 比较器()方法在java.util包中可用。 comparator() method is used to get the Comparator object based on customizing order the eleme…

智能车复工日记【1】——菜单索引回顾

博主联系方式: QQ:1540984562 QQ交流群:892023501 群里会有往届的smarters和电赛选手,群里也会不时分享一些有用的资料,有问题可以在群里多问问。 菜单回顾 1、系列文章解析结构元素菜单图示菜单缺点:1、系列文章 【智能车Code review】—曲率计算、最小二乘法拟合 【智能…

[转载]Oracle 11g R1下的自动内存经管(2)

AMM调整 除现有的用于内存经管的V$视图外,Oracle 11g还新添加了下面4个视图用于自动内存经管: ? ◆V$MEMORY_CURRENT_RESIZE_OPS ? ◆V$MEMORY_DYNAMIC_COMPONENTS ? ◆V$MEMORY_RESIZE_OPS ? ◆V$MEMORY_TARGET_ADVICE 转载于:https://www.cnblogs.…

23-背景建模

帧差法 由于场景中的目标在运动,目标的影像在不同图像帧中的位置不同。该类算法对时间上连续的两帧图像进行差分运算,不同帧对应的像素点相减,判断灰度差的绝对值,当绝对值超过一定阈值时,即可判断为运动目标&#xf…

DB2 9 运用开辟(733 考试)认证指南,第 3 部门: XML 数据独霸(4)

议决运用顺序存储和检索 XMLXML 编码字符编码在汗青上,术语 字符集、字符编码 和 码页 都有雷同的意义:一个字符集和一个二进制码集,其中每个码示意一个字符。(码页是来自 IBM 的一个术语,示意一个大型主机或 IBM PC 上…

system.setin_Java System类setIn()方法及示例

system.setin系统类setIn()方法 (System class setIn() method) setIn() method is available in java.lang package. setIn()方法在java.lang包中可用。 setIn() method is used to assign again the standard input stream. setIn()方法用于再次分配标准输入流。 setIn() met…

Opencv——霍夫变换以及遇到的一些问题

目录问题1 :颜色空间转换函数参数问题:CV_BGR2GRAY vs CV_GRAY2BGR问题2:cvRound()、cvFloor()、cvCeil()函数用法霍夫变换的含义标准霍夫直线变换霍夫线变换函数参数讲解累计概率霍夫变换霍夫变换圆变换原理和算法步骤:霍夫圆变换…

java ssm如何上传图片_ssm整合-图片上传功能(转)

本文介绍 ssm (SpringSpringMVCMybatis)实现上传功能。以一个添加用户的案例介绍(主要是将上传文件)。一、需求介绍我们要实现添加用户的时候上传图片(其实任何文件都可以)。文件名:以 博客名日期的年月日时分秒毫秒形式命名如 言曌博客2017082516403213.png路径&am…

宏定义和内联函数区别

内联函数是代码被插入到调用者代码处的函数。如同 #define 宏,内联函数通过避免被调用的开销来提高执行效率,尤其是它能够通过调用(“过程化集成”)被编译器优化。 宏定义不检查函数参数,返回值什么的,只是…

24-光流估计

光流是空间运动物体在观测成像平面上的像素运动的“瞬间速度”,根据各个像素点的速度矢量特征,可以对图像进行动态分析,例如目标跟踪 亮度恒定:同一点随着时间的变化,其亮度不会发生改变 小运动:随着时间的…

java公平索非公平锁_java中的非公平锁不怕有的线程一直得不到执行吗

首先来看公平锁和非公平锁,我们默认使用的锁是非公平锁,只有当我们显示设置为公平锁的情况下,才会使用公平锁,下面我们简单看一下公平锁的源码,如果等待队列中没有节点在等待,则占有锁,如果已经…

mybatis.net - 5 嵌入资源与引用资源

在SqlMap.config文件中可以有两种方式引入外部的文件。 一种是通过资源的方式&#xff0c;在文件中表现为 resource&#xff0c;就是引用外部的文件&#xff0c;这里需要保证文件的路径正确。 <sqlMaps><sqlMap resource"Maps/ProductMap.xml"/><sqlM…