日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

Amoeba:开源的分布式数据库Porxy解决方案

發(fā)布時(shí)間:2023/12/18 数据库 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Amoeba:开源的分布式数据库Porxy解决方案 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

什么是Amoeba?

Amoeba(變形蟲(chóng))項(xiàng)目,該開(kāi)源框架于2008年 開(kāi)始發(fā)布一款 Amoeba for Mysql軟件。這個(gè)軟件致力于MySQL的分布式數(shù)據(jù)庫(kù)前端代理層,它主要在應(yīng)用層訪問(wèn)MySQL的 時(shí)候充當(dāng)SQL路由功能,專注于分布式數(shù)據(jù)庫(kù)代理層(Database Proxy)開(kāi)發(fā)。座落與 Client、DB Server(s)之間,對(duì)客戶端透明。具有負(fù)載均衡、高可用性、SQL?過(guò)濾、讀寫(xiě)分離、可路由相關(guān)的到目標(biāo)數(shù)據(jù)庫(kù)、可并發(fā)請(qǐng)求多臺(tái)數(shù)據(jù)庫(kù)合并結(jié)果。 通過(guò)Amoeba你能夠完成多數(shù)據(jù)源的高可用、負(fù)載均衡、數(shù)據(jù)切片的功能,目前Amoeba已在很多 企業(yè)的生產(chǎn)線上面使用。主要解決:

  • 降低 數(shù)據(jù)切分帶來(lái)的復(fù)雜多數(shù)據(jù)庫(kù)結(jié)構(gòu)
  • 提供切分規(guī)則并降低 數(shù)據(jù)切分規(guī)則 給應(yīng)用帶來(lái)的影響
  • 降低 db 與客戶端的連接數(shù)
  • 讀寫(xiě)分離

為什么要使用Amoeba?

隨著傳統(tǒng)的數(shù)據(jù)庫(kù)技術(shù)日趨成熟、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的飛速發(fā)展和應(yīng)用范圍的擴(kuò)充,數(shù)據(jù)庫(kù)應(yīng)用 已經(jīng)普遍建立于計(jì)算機(jī)網(wǎng)絡(luò)之上。這時(shí)集中式數(shù)據(jù)庫(kù)系統(tǒng)表現(xiàn)出它的不足:集中式處理,勢(shì)必造成性 能瓶頸;應(yīng)用程序集中在一臺(tái)計(jì)算機(jī)上運(yùn)行,一旦該計(jì)算機(jī)發(fā)生故障,則整個(gè)系統(tǒng)受到影響,可靠性 不高;集中式處理引起系統(tǒng)的規(guī)模和配置都不夠靈活,系統(tǒng)的可擴(kuò)充性差。在這種形勢(shì)下,集中式數(shù) 據(jù)庫(kù)將向分布式數(shù)據(jù)庫(kù)發(fā)展。而Amoeba的透明、簡(jiǎn)易配置及多個(gè)優(yōu)點(diǎn)使其成為分布式數(shù)據(jù)庫(kù)代理產(chǎn)品中的優(yōu)秀選擇。

分布式數(shù)據(jù)庫(kù)代理的相關(guān)概念

Amoeba在分布式數(shù)據(jù)庫(kù)領(lǐng)域?qū)⒅铝鉀Q數(shù)據(jù)切分,應(yīng)付客戶端“集中式”處理分布式數(shù)據(jù)。這里集中式是一個(gè)相對(duì)概念,客戶端不需要知道某種數(shù)據(jù)的物理存儲(chǔ)地。避免這種邏輯出現(xiàn)在業(yè)務(wù)端, 大大簡(jiǎn)化了客戶端操作分布式數(shù)據(jù)的復(fù)雜程度。分布式數(shù)據(jù)庫(kù)系統(tǒng)的優(yōu)點(diǎn):

  • 降低費(fèi)用。分布式數(shù)據(jù)庫(kù)在地理上可以式分布的。其系統(tǒng)的結(jié)構(gòu)符合這種分布的要求。允許用 戶在自己的本地錄用、查詢、維護(hù)等操作,實(shí)行局部控制,降低通信代價(jià),避免集中式需要更高要求 的硬件設(shè)備。而且分布式數(shù)據(jù)庫(kù)在單臺(tái)機(jī)器上面數(shù)據(jù)量較少,其響應(yīng)速度明顯提升。
  • 提高系統(tǒng)整體可用性。避免了因?yàn)閱闻_(tái)數(shù)據(jù)庫(kù)的故障而造成全部癱瘓的后果。
  • 易于擴(kuò)展處理能力和系統(tǒng)規(guī)模。分布式數(shù)據(jù)庫(kù)系統(tǒng)的結(jié)構(gòu)可以很容易地?cái)U(kuò)展系統(tǒng),在分布式數(shù) 據(jù)庫(kù)中增加一個(gè)新的節(jié)點(diǎn),不影響現(xiàn)有系統(tǒng)的正常運(yùn)行。這種方式比擴(kuò)大集中式系統(tǒng)要靈活經(jīng)濟(jì)。在 集中式系統(tǒng)中擴(kuò)大系統(tǒng)和系統(tǒng)升級(jí),由于有硬件不兼容和軟件改變困難等缺點(diǎn),升級(jí)的代價(jià)常常是昂貴和不可行的。

Amoeba相關(guān)產(chǎn)品及其介紹

1、Amoeba for MySQL

Amoeba for MySQL致力于MySQL的分布式數(shù)據(jù)庫(kù)前端代理層,它主要在應(yīng)用層訪問(wèn)MySQL的時(shí)候充當(dāng)query 路由功能,專注分布式數(shù)據(jù)庫(kù)proxy開(kāi)發(fā)。座落與Client、DB Server(s)之間。對(duì)客戶端透明。具有負(fù)載均衡、高可用性、Query過(guò)濾、讀寫(xiě)分離、可路由相關(guān)的query到目標(biāo)數(shù)據(jù)庫(kù)、可并發(fā)請(qǐng)求多臺(tái)數(shù)據(jù)庫(kù)合并結(jié)果。 在Amoeba上面你能夠完成多數(shù)據(jù)源的高可用、負(fù)載均衡、數(shù)據(jù)切片的功能。目前在很多企業(yè)的生產(chǎn)線上面使用。Amoeba for mysql對(duì)客戶端程序來(lái)說(shuō),它是一個(gè)虛擬的mysql,對(duì)外提供mysql協(xié)議。客戶端連接amoeba就象連接mysql一樣。在amoeba內(nèi)部需要配置相關(guān)的認(rèn)證屬性。

2、Amoeba for Aladdin

與Amoeba for MySQL 類似,客戶端連接Aladdin必須用MySQL 協(xié)議,之所以用MySQL協(xié)議,主要是想借助mysql使用的廣泛程度以及對(duì)各種開(kāi)發(fā)語(yǔ)言的支持。Aladdin后端可以同時(shí)連接各種數(shù)據(jù)庫(kù)。只要這些數(shù)據(jù)庫(kù)提供jdbc驅(qū)動(dòng)。aladdin的出現(xiàn)可以解決企業(yè)在數(shù)據(jù)庫(kù)整合上面提供積極的幫助。使用者不需要知道后端到底使用了什么類型的數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)的物理地址什么,這些由aladdin來(lái)分析sql語(yǔ)句,并且獲得相應(yīng)的要查詢的表跟條件,然后由這些規(guī)則結(jié)合這些條件進(jìn)行路由到相關(guān)的物理數(shù)據(jù)庫(kù)。

3、Amoeba for MongoDB

隨著NoSQL的日益興起,mongoDB作為一款nosql數(shù)據(jù)庫(kù)以其優(yōu)異的性能得到了廣泛的關(guān)注。可以說(shuō),mongoDB填補(bǔ)了傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)以及傳統(tǒng)鍵值型數(shù)據(jù)庫(kù)的空白,并且兼具兩者優(yōu)秀特質(zhì)。Amoeba for MongoDB將提供與Amoeba for MySQL類似的,完全自主、可控的切分方式、并嘗試完成同樣的auto sharding的功能。 基于Amoeba框架,跟以往的產(chǎn)品一樣具備心跳檢測(cè)、負(fù)載均衡、故障轉(zhuǎn)移、查詢聚合等功能,保留了之前的配置方式,只要熟悉amoeba其中一款產(chǎn)品的配置,那么上手將非常容易的。

比較Amoeba及其類似產(chǎn)品

1、Amoeba for Mysql 與MySQL Proxy比較

在MySQL proxy 6.0版本 上面如果想要讀寫(xiě)分離并且 讀集群、寫(xiě)集群 機(jī)器比較多情況下,用mysql proxy 需要相當(dāng)大的工作量,目前mysql proxy沒(méi)有現(xiàn)成的 lua腳本。mysql proxy根本沒(méi)有配置文件, lua腳本就是它的全部,當(dāng)然lua是相當(dāng)方便的。那么同樣這種東西需要編寫(xiě)大量的腳本才能完成一 個(gè)復(fù)雜的配置。而Amoeba for Mysql只需要進(jìn)行相關(guān)的配置就可以滿足需求。

2、Amoeba for mongoDB與mongos比較

mongodb中的數(shù)據(jù)切分有一個(gè)chunk的概念,每個(gè)chunk代表一個(gè)數(shù)據(jù)段(range),當(dāng)一個(gè)chunk的大小到達(dá)了指定的數(shù)據(jù)大小,就會(huì)自動(dòng)切分成兩個(gè)。 Mongos是根據(jù)數(shù)據(jù)段(chunk)進(jìn)行切分的,且切分依據(jù)的字段必須是一個(gè)key。而目前大多的應(yīng)用中,id(尤其是用戶ID)是無(wú)序化的,可能有些用戶是手機(jī)號(hào)、有些是會(huì)員卡號(hào)等等。這使得proxy的range切分難以實(shí)施。 因此,雖然mongodb的mongos提供了automatic sharding的功能,但由于數(shù)據(jù)切分的不可控,常常不能滿足我們的需要。 Amoeba for MongoDB提供完全自主、可控的切分方式。

Amoeba不能做什么?

  • 目前還不支持事務(wù)
  • 暫時(shí)不支持存儲(chǔ)過(guò)程(近期會(huì)支持)
  • 不適合從amoeba導(dǎo)數(shù)據(jù)的場(chǎng)景或者對(duì)大數(shù)據(jù)量查詢的query并不合適(比如一次請(qǐng)求返回10w以上甚至更多數(shù)據(jù)的場(chǎng)合)
  • 暫時(shí)不支持分庫(kù)分表,amoeba目前只做到分?jǐn)?shù)據(jù)庫(kù)實(shí)例,每個(gè)被切分的節(jié)點(diǎn)需要保持庫(kù)表結(jié)構(gòu)一致

Amoeba的架構(gòu)

Amoeba 作為DataBase Proxy的開(kāi)發(fā)框架。致力于解決數(shù)據(jù)切分、讀寫(xiě)分離。以下將為您介紹Amoeba 框架

  • Built on Java NIO
    • NIO 框架采用無(wú)阻塞模式,不像傳統(tǒng)的Socket編程在大量并發(fā)的情況非常浪費(fèi)系統(tǒng)資源、而且可擴(kuò)展性也較差
  • Reusable Server Connection
    • Amoeba 提供與數(shù)據(jù)庫(kù)連接的可重用度非常高,在Amoeba系統(tǒng)內(nèi)所有Database Connection同時(shí)共享給所有連接到Amoeba的客戶端
  • 提供讀寫(xiě)分離、數(shù)據(jù)切分
    • 傳統(tǒng)的讀寫(xiě)分離技術(shù)需要通過(guò)客戶端或者相關(guān)的Database Driver技術(shù)才能解決,而且客戶端的配置也比較復(fù)雜
    • 單臺(tái)Database 性能總是有限制的,基于Amoeba上面可以尋找一種可線性擴(kuò)展的多數(shù)據(jù)支持。Amoeba為DBA提供一種非常友好的類似SQL語(yǔ)法的數(shù)據(jù)切分規(guī)則。
      同時(shí)客戶端不用擔(dān)心過(guò)多的DataBase Server會(huì)給應(yīng)用帶來(lái)更多的配置。
  • 支持高可用性、負(fù)責(zé)均衡
    • Amoeba 提供Database 連接的異常檢測(cè)與連接恢復(fù)功能。
    • 用戶可節(jié)省使用其他昂貴的負(fù)載均衡的硬件設(shè)備,Amoeba提供多臺(tái)Database Server負(fù)載均衡策略(輪詢、當(dāng)前活動(dòng)連接數(shù)量)。
  • Amoeba Sequence

參考鏈接:

  • http://docs.hexnova.com/amoeba/
  • https://github.com/vispractice/Amoeba-Plus-For-MySQL
  • http://sourceforge.net/projects/amoeba/

總結(jié)

以上是生活随笔為你收集整理的Amoeba:开源的分布式数据库Porxy解决方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日韩国产综合在线 | 国产精品一区在线看 | 福利社区一区二区 | 国产理伦 | 欧美日韩八区 | 超碰青娱乐 | 亚洲综合色成人 | 经典一区二区三区 | 综合久久一区 | 欧美成人精精品一区二区频 | 迈开腿让我尝尝你的小草莓 | jzzijzzij亚洲成熟少妇在线播放 狠狠躁日日躁夜夜躁2022麻豆 | 3d欧美精品动漫xxxx无尽 | 综合色站导航 | 久久精品亚洲 | 插我一区二区在线观看 | 亚洲欧美日韩国产一区二区 | 99久久久成人国产精品 | 俄罗斯破处 | 88xx成人永久免费观看 | 成人高清免费 | av大片网站 | 国产人人插| 青草青草久热 | 日产久久视频 | 岛国午夜视频 | 柠檬av导航| 四虎在线免费 | 免费成人美女女电影 | 国产露脸91国语对白 | 国产原创在线播放 | 国产精品va | 激情小说激情视频 | 在线看黄色网址 | 日韩网 | 久久久中文网 | 久久合| 欧美激情电影一区二区 | 欧美人与禽猛交乱配 | 中国女人真人一级毛片 | 波多野结衣一区二区三区在线观看 | 亚洲午夜精品久久 | 在线精品亚洲欧美日韩国产 | 午夜高清视频 | 午夜寂寞视频 | 久久精品视频1 | 精品人妻一区二区三区香蕉 | 北条麻妃一区二区三区四区五区 | 成人av免费 | 日韩精彩视频在线观看 | 欧美一级爆毛片 | 欧美丰满熟妇bbb久久久 | 中文字幕第15页 | 亚洲免费高清 | 精品中文字幕视频 | 捆绑最紧bdsm视频 | 一区二区三区免费网站 | aaaa毛片 | 在线日韩免费 | 黄色av片三级三级三级免费看 | 午夜国产片 | 国产草草| 爱涩av | 日韩精品一二三四 | 男女aa视频 | 欧美高清视频一区二区 | 一区二区三区四区人妻 | 欧美涩涩视频 | aaa国产视频| 天天操导航 | 成人午夜淫片免费观看 | 欧美大片在线 | 欧美性xxxxxxxxx | 国产精品日韩欧美大师 | 福利视频99 | 国产无套精品一区二区三区 | 久久最新视频 | 色图综合| 浪潮av一区二区三区 | 男女午夜激情 | 91亚色 | 乌克兰做爰xxxⅹ性视频 | 久久福利电影 | 国产农村老头老太视频 | 色亚洲色图 | 免费看a毛片 | 青青草视频观看 | 中文字幕+乱码+中文字幕明步 | 欧美老女人视频 | 亚洲黄色a级片 | 亚洲av无码国产精品色午夜 | 国产精品久久久久毛片大屁完整版 | 久久久久亚洲AV成人无码国产 | 免费看一级黄色片 | jzzijzzij亚洲成熟少妇 | 国产做爰xxxⅹ高潮视频12p | 日本高清视频免费看 | 国产欧美视频一区二区三区 | 99国产精品久久久久久久成人热 |