深植於場景需求混布資料庫:hubble
資料四大變化:萬物互聯的時代,量級達到千億級每天,非結構化資料佔比很高,實時分析的需求高。
資料使用者發生變化:傳統的資料消費者是決策者是領導,需要領導根據資料分析結果進行巨集觀決策。但現在是個性化服務的時代,使用者需要專屬品牌、個性服務、一對一營銷。比如購物時「猜您還喜歡的商品推薦」就是很好的例子,這需要業務人員及時操作,再做資料報告等領導決策,損失會很大。背後支撐的一定是一線人員根據資料做分析。通過資料更好的感知客戶、洞察客戶、服務客戶。實現了從千人一面到一人千面的個性服務。
什麼是htap ?
gartner對htap資料庫給出了明確的定義:htap資料庫需要同時支援oltp和olap場景。
為什麼是htap?
基於創新的計算儲存框架,在同乙份資料上保證事務的同時支援實時分析,省去了費時的etl過程。
htap資料庫基於分布式計算儲存框架,能在同乙份資料上保證事務的同時支援實時分析,省去了費時的etl過程。天雲資料公司憑藉多年金融行業大資料專案實施經驗,參考谷歌最新f1/spanner基礎理論,自主研發了百萬原生**htap資料庫hubble,實現了在同乙份資料上,支撐複雜邏輯分析、人工智慧模型演算法和實時高併發業務交易應用。
階段一:ap、tp混布
階段二:融合儲存
階段三:融合引擎& ai-native
hubble在儲存儲存層會有乙個資料空間的概念,通常一張表會對應乙個資料空間(dataspace),乙個資料空間會對應多個shard,資料空間有兩個分類:獨佔空間和非獨佔空間,通常這個空間會在磁碟上有獨佔的儲存目錄,與其他空間是物理隔離的,獨佔空間包含多個shard,所有的shard屬於同乙個dataspace,屬於同一張表。非獨佔空間會與其他非獨佔空間共用磁碟目錄,通過邏輯來隔離,非獨佔空間會包含多個shard,多個shard屬於多個dataspace,屬於多張表。
使用者可以自定義表的資料空間,通常一張大表可以選擇用獨佔空間來儲存,小表可以選擇用共享空間來儲存,可以充分利用到磁碟的io,也可以使大表的資料不受小表資料的干擾。如圖是其在伺服器上的放置情況的示意圖。
假設有3臺伺服器,3張表,表1對應了的dataspace1、表2對應的是dataspace2、表3對應的是dataspace3,表1和表2是非獨佔空間表3是獨佔空間,各個表都有自己對應的shard那麼在伺服器集群中對應的資料儲存大致如圖上所展示內容。
hubble是乙個混布的分布式資料庫,從儲存層就做到了混布的方式,使用者可以通過見語句來實現指定不同的儲存方式如下。通常每張表會有3個副本,對應到副本的最小單元為shard,該混合儲存的例子指定了副本1為kv的儲存、副本2是列存、副本3是kv的儲存,shard之間通過raft協議來確保資料的一致。每個shard的資料格式可以動態的調整。通過不同資料之間副本資料的不同那麼在邏輯上的乙份資料可以同時支援tp和ap兩種型別的業務處理。
kv的儲存格式為lsm tree,lsm tree對於大資料量的支撐有這天然的優勢在於當資料不斷增加是lsm寫入速度不會受到太大的影響,保持高效率的寫入速度,hubble除支援lsm tree的kv格式外同時支援列存、行列混存等多種模式。
在儲存分配上hubble又如下圖分為了3種分片機制,等值、雜湊、範圍。
索引在資料庫中非常見,是為了支援快速的離散的獲取資料等操作,hubble資料庫對於索引同樣支援,並把索引分為了如下幾類:
hubble同時支援ap和tp的混布場景,那麼ap和tp自身就會存在一定的資源爭搶的問題,如何解決相關的問題,hubble引入了資源隔離的機制,通過對使用者、人員的操作隔離以及對所有的sql語句之間做相應的資源隔離,確保資源之間不會相互的爭搶。
資源控制不光是做ap\tp之間隔離,在比如說ap的任務也會需要資源控制。比如說某個使用者,或者某個組使用者的數是否能佔多少資源,它是控制了更細的粒度。
第1個控制是ap、tp之間的資源隔離。第2個控制的包括每個任務的資源使用情況的隔離。再有資源管理,我們一般是基於cpu和記憶體之間的乙個管理,相當於同時能夠拿到這個任務的cpu、記憶體之間的使用情況,從而保證這個任務所占用的cpu跟記憶體的大小情況,然後來控制單個任務的cpu、記憶體的使用情況,以及使用大小等等來控制整個資源管理的大小來控制,包括調動模式,包括公平排程等等,這幾個資源模式都是支援的。
傳統資料庫的只能通過增加配置提公升效能系統無法橫向擴充套件,因此對於大資料量的支撐受限;資料業務應用核心是離線分析,而且是分庫分表實現,對業務技術能力要求高;資料需要遷移,業務分析耗時效率低。大資料業務應用的問題是:原生api(應用程式介面)開發實施難度大;複雜場景多元件組合應用,資料冗餘儲存多副本,執行效率低。hubble致力於改變傳統架構、優化大資料架構
hubble資料庫的三大特性分別是:
多源異構:利用聯邦服務技術能力,以自由接入各類資料庫源系統並實現異構資料來源的統一管理,統一探查,統一服務;
全部sql標準: hubble採用通用sql解析技術,支援標準sql語法解析,相容oracle,mysql,hive等資料庫。這樣就可以實現傳統場景無縫遷移,降低生態合作夥伴參與大資料開發的門檻。
innodb於myisam區別及應用場景
1.區別 1 事務處理 myisam是非事務安全型的,而innodb是事務安全型的 支援事務處理等高階處理 2 鎖機制不同 myisam是表級鎖,而innodb是行級鎖 3 select update insert delete 操作 myisam 如果執行大量的select,myisam是更好的選...
智慧型硬體如何確定需求 場景約束
在開發乙個產品的時候,產品經理需要對這個行業的一些競品作分析,其中有使用者分析 來自公司內部的需求 外部的約束條件 其他等等。那本文主要著重從它的的使用者需求來 相關問題。智慧型硬體產品設計所需知識跨度大,很多產品經理不懂軟體或底層技術,對於需要的把控往往沒有信心,不敢確定某些需求是真假需求。另外智...
5G的場景 需求 通訊速率
5g有三大典型場景,這三大場景描述了5g的需求也反應了5g與4g的不同,如圖所示,三大場景分別為 增強型移動寬頻通訊 embb 大規模機器型通訊 emtc 和超高可靠性超低延時通訊 urllc 如果只用乙個公式來直觀描述5g需求的話,我認為應該是如下公式 所以,提公升網路吞吐量可以主要從三方面著手實...