日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
聊聊數(shù)據(jù)庫組件功能設計點

引言

數(shù)據(jù)庫中間件承擔應用與數(shù)據(jù)庫之間的粘合與潤滑,數(shù)據(jù)庫中間件設計的合理應用跑起來就絲滑,否則會拉胯。本文就常見數(shù)據(jù)庫組件相關的功能設計點做個歸納整理:

創(chuàng)新互聯(lián)建站是創(chuàng)新、創(chuàng)意、研發(fā)型一體的綜合型網(wǎng)站建設公司,自成立以來公司不斷探索創(chuàng)新,始終堅持為客戶提供滿意周到的服務,在本地打下了良好的口碑,在過去的十年時間我們累計服務了上千家以及全國政企客戶,如邊坡防護網(wǎng)等企業(yè)單位,完善的項目管理流程,嚴格把控項目進度與質量監(jiān)控加上過硬的技術實力獲得客戶的一致贊揚。

  • 分庫分表
  • 數(shù)據(jù)復制
  • 數(shù)據(jù)同步平臺
  • 全局唯一主鍵
  • 運維自動化可視化

一、分庫分表

分庫分表組件主要為分擔數(shù)據(jù)庫壓力,通過多庫多表承接請求。盡管擁有眾多的分庫分表組件,Apache ShardingSphere作為Apache的頂級項目依舊是主流。無論直接使用還是基于其二次開發(fā)或者自研,均值得研究。

1.ShardingSphere-JDBC

客戶端直連數(shù)據(jù)庫,分布式無中心化,主要針對java語言,數(shù)據(jù)庫連接消耗多。

2.ShardingSphere-Proxy

客戶端先連接到Proxy代理,通過代理連接數(shù)據(jù)庫,能夠跨語言,消耗數(shù)據(jù)庫的連接數(shù)少(僅代理直接連接數(shù)據(jù)庫),但是中心化風險點也主要在此。

3.ShardingSphere-Sidecar

網(wǎng)格化代理還在規(guī)劃中,從當前螞蟻對外提供的service mesh商業(yè)方案中,還沒DB的mesh,下沉能力的同時,也帶來了數(shù)據(jù)面和控制面板的復雜性。

https://github.com/apache/shardingsphere.git

備注:當前還是客戶端直連數(shù)據(jù)庫為主流,中心化的Proxy依然有公司采納然占比依舊很少,至于Sidecar模式的大規(guī)模使用還在未來。

二、數(shù)據(jù)復制

1.單向搬運

將Mysql數(shù)據(jù)同步到消息隊列或者其他數(shù)據(jù)存儲源,常用開源組件為canal。

https://github.com/alibaba/canal

![](https://gitee.com/laoliangcode/md-picture/raw/master/img/mysql binlog 解析.png)

2.雙/單向同步

在異地多活場景中數(shù)據(jù)庫的雙向同步、跨機房災備的單向同步等場景,常用組件otter。

https://github.com/alibaba/otter

其他類似組件:dataLink、databus

https://github.com/ucarGroup/DataLink

https://github.com/linkedin/databus?

備注:在單/雙向同步場景中通常伴隨著DDL的同步。

三、數(shù)據(jù)同步平臺

當隨著數(shù)據(jù)同步的場景越來越多,為每個不同的數(shù)據(jù)源寫一個同步插件變得復雜和不好維護,此時可以考慮搭建一個數(shù)據(jù)同步平臺。

  • 通過ReaderPugin和WriterPlugin插件化
  • 插件化對接入的數(shù)據(jù)源和目標數(shù)據(jù)源只需要編寫插件即可
  • 數(shù)據(jù)轉換為提高吞吐性能可以引入Flink批處理框架

備注:數(shù)據(jù)同步平臺社區(qū)也有開源DataX可供參考。

https://github.com/alibaba/DataX/blob/master/introduction.md

Flink-CDC

https://github.com/ververica/flink-cdc-connectors

四、全局唯一主鍵

在分布式數(shù)據(jù)庫中最好使用分布式全局唯一ID作為數(shù)據(jù)記錄的唯一標識,原因也很簡單,主要是避免主鍵沖突。

  • 跨庫數(shù)據(jù)遷移避免主鍵沖突
  • 雙活數(shù)據(jù)庫雙向同步時避免主鍵沖突
  • 唯一鍵設計合理對排序和識別均有良好的輔助作用

生成全局唯一ID的方案有很多,常見的有:

  • UUID
  • 數(shù)據(jù)庫發(fā)放不同的ID區(qū)段
  • 雪花算法(snowflake)生成唯一標識

雪花算法: 由Twitter創(chuàng)建生成全局唯一ID算法,一個Snowflake ID組成共64位構成如下,如果不需要這么多位可以改造縮短一些長度。

Twitter Scala 版本:

https://github.com/twitter-archive/snowflake/tree/scala_28https://github.com/twitter-archive/snowflake/releases/tag/snowflake-2010

雪花算法java版本參考:

https://github.com/beyondfengyu/SnowFlake/blob/master/SnowFlake.java

五、運維自動化可視化

將常用的一些與DB相關需要手動的創(chuàng)建的自動化、可視化。

  • 數(shù)據(jù)庫申請與創(chuàng)建
  • DDL變更自動化
  • SQL執(zhí)行結果導出
  • 同步任務申請自動化
  • 任務運行監(jiān)控可視化

文章標題:聊聊數(shù)據(jù)庫組件功能設計點
本文網(wǎng)址:http://www.5511xx.com/article/dhspccs.html