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.pswp.cn/news/378665.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/378665.shtml
英文地址,請注明出處:http://en.pswp.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…