一个基于MySQL的Key-List存储方案_MySQL
bitsCN.com
目标:
Key-List模型、千亿万亿级别、分布式、可扩展、确保一定的性能、高可用
基本思想:
1、 同一个key对应的list尽量集中化
2、 通过表升级、表分裂限制表的大小
3、 参考HBase的方案管理表
表升级、分裂方案:
以典型数据
确保每个表最大条数1千万(每个数据文件不要超过400M,或者可以限制最大条数1百万,最多40M),设置mysql每张表一个表空间
通过两个条件来限制:uid个数、uid中最多的mid个数 相乘小于1kw
四个级别的表:
1级:十万用户 100条记录,如果用户数超过十万则分裂为两个或多个1级表;如果有用户记录数大于100则移动到最小的2级表中。(分裂或升级均凌晨闲时执行,升级优先)
2级:一万用户 1000条记录,同上
3级:一千用户 10000条记录,同上
4级:一百用户以下 100000条记录以上
结构图和各部分的功能
master职责(有备份、保证一主):
1、维护key(即uid)所在的库、表分布,在内存中构建hash索引
2、协调数据容量负载均衡,写表尽量分散在各zone中
3、感知节点,如果有节点增删,做相应的操作
zone职责:
负责监控表,实施表的分裂,分裂在本zone完成,期间需要和mater进行通信,完成之后其他zone进行备份
分裂操作(太复杂,没想太清楚):
分裂点界定:对uid按照mid从多到少排序,当相加个数大于总个数一半时为拆分点
拆分时选择某一个从表,通知master对此表加读锁并记录同步日志点p,拆分过程不能分配读写操作,拆分完毕后将日志点p后的数据同步至两个新表,同步完毕通知master将写全部映射到新表,其他的备份通过主从方式自动更新为两个表,或者使用缓冲表or缓冲队列来实现
分裂之后的数据副本:由master决定放在比较空闲的zone中
升级操作:
由master协调,具体升级在各zone内部进行,不涉及表数量的修改,相对分裂简单许多,但是涉及key的分布修改
读写操作:
先从master中获取对应表位置
读数据:就近读,优先读取本机房的主表所在节点,不成功则取其他
写数据:只写主表,可能不是最近的机房,有单点问题,如果挂掉,通知master更换主,此过程过长则通过缓冲队列解决
加入新机器:
计算各节点的表个数,数据最大的M个节点各分一部分表给新加机器,完毕后通知master
某一机器挂掉:
找到表最小的几个机器,对挂掉节点的表数据按照一定规则复制过去
或者等待DBA处理,不需要立即处理
通知master
难点(不过解决起来有参照,例如HBase):
自动化的表分裂、升级过程复杂
表管理复杂
如何保证读写服务正常、数据一致性
bitsCN.com

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

想像一下,一個人工智慧模型,不僅擁有超越傳統運算的能力,還能以更低的成本實現更有效率的效能。這不是科幻,DeepSeek-V2[1],全球最強開源MoE模型來了。 DeepSeek-V2是一個強大的專家混合(MoE)語言模型,具有訓練經濟、推理高效的特點。它由236B個參數組成,其中21B個參數用於啟動每個標記。與DeepSeek67B相比,DeepSeek-V2效能更強,同時節省了42.5%的訓練成本,減少了93.3%的KV緩存,最大生成吞吐量提高到5.76倍。 DeepSeek是一家探索通用人工智

谷歌力推的JAX在最近的基準測試中表現已經超過Pytorch和TensorFlow,7項指標排名第一。而且測試並不是JAX性能表現最好的TPU上完成的。雖然現在在開發者中,Pytorch依然比Tensorflow更受歡迎。但未來,也許有更多的大型模型會基於JAX平台進行訓練和運行。模型最近,Keras團隊為三個後端(TensorFlow、JAX、PyTorch)與原生PyTorch實作以及搭配TensorFlow的Keras2進行了基準測試。首先,他們為生成式和非生成式人工智慧任務選擇了一組主流

AI,的確正在改變數學。最近,一直十分關注這個議題的陶哲軒,轉發了最近一期的《美國數學學會通報》(BulletinoftheAmericanMathematicalSociety)。圍繞著「機器會改變數學嗎?」這個話題,許多數學家發表了自己的觀點,全程火花四射,內容硬核,精彩紛呈。作者陣容強大,包括菲爾茲獎得主AkshayVenkatesh、華裔數學家鄭樂雋、紐大電腦科學家ErnestDavis等多位業界知名學者。 AI的世界已經發生了天翻地覆的變化,要知道,其中許多文章是在一年前提交的,而在這一

本月初,來自MIT等機構的研究者提出了一種非常有潛力的MLP替代方法—KAN。 KAN在準確性和可解釋性方面表現優於MLP。而且它能以非常少的參數量勝過以更大參數量運行的MLP。例如,作者表示,他們用KAN以更小的網路和更高的自動化程度重現了DeepMind的結果。具體來說,DeepMind的MLP有大約300,000個參數,而KAN只有約200個參數。 KAN與MLP一樣具有強大的數學基礎,MLP基於通用逼近定理,而KAN基於Kolmogorov-Arnold表示定理。如下圖所示,KAN在邊上具

波士頓動力Atlas,正式進入電動機器人時代!昨天,液壓Atlas剛「含淚」退出歷史舞台,今天波士頓動力就宣布:電動Atlas上崗。看來,在商用人形機器人領域,波士頓動力是下定決心要跟特斯拉硬剛一把了。新影片放出後,短短十幾小時內,就已經有一百多萬觀看。舊人離去,新角色登場,這是歷史的必然。毫無疑問,今年是人形機器人的爆發年。網友銳評:機器人的進步,讓今年看起來像人類的開幕式動作、自由度遠超人類,但這真不是恐怖片?影片一開始,Atlas平靜地躺在地上,看起來應該是仰面朝天。接下來,讓人驚掉下巴

今天我想分享一個最新的研究工作,這項研究來自康乃狄克大學,提出了一種將時間序列資料與自然語言處理(NLP)大模型在隱空間上對齊的方法,以提高時間序列預測的效果。此方法的關鍵在於利用隱空間提示(prompt)來增強時間序列預測的準確性。論文標題:S2IP-LLM:SemanticSpaceInformedPromptLearningwithLLMforTimeSeriesForecasting下載網址:https://arxiv.org/pdf/2403.05798v1.pdf1、問題背景大模型

特斯拉機器人Optimus最新影片出爐,已經可以在工廠裡打工了。正常速度下,它分揀電池(特斯拉的4680電池)是這樣的:官方還放出了20倍速下的樣子——在小小的「工位」上,揀啊揀啊揀:這次放出的影片亮點之一在於Optimus在廠子裡完成這項工作,是完全自主的,全程沒有人為的干預。而且在Optimus的視角之下,它還可以把放歪了的電池重新撿起來放置,主打一個自動糾錯:對於Optimus的手,英偉達科學家JimFan給出了高度的評價:Optimus的手是全球五指機器人裡最靈巧的之一。它的手不僅有觸覺

這篇論文探討了在自動駕駛中,從不同視角(如透視圖和鳥瞰圖)準確檢測物體的問題,特別是如何有效地從透視圖(PV)到鳥瞰圖(BEV)空間轉換特徵,這一轉換是透過視覺轉換(VT)模組實施的。現有的方法大致分為兩種策略:2D到3D和3D到2D轉換。 2D到3D的方法透過預測深度機率來提升密集的2D特徵,但深度預測的固有不確定性,尤其是在遠處區域,可能會引入不準確性。而3D到2D的方法通常使用3D查詢來採樣2D特徵,並透過Transformer學習3D和2D特徵之間對應關係的注意力權重,這增加了計算和部署的
