色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

數(shù)據(jù)火器庫 - 八卦系列之借老槍談可靠性

數(shù)據(jù)庫小組 ? 來源:數(shù)據(jù)庫小組 ? 作者:數(shù)據(jù)庫小組 ? 2022-09-26 10:13 ? 次閱讀

來源:云數(shù)據(jù)庫技術

數(shù)據(jù)庫打工仔喃喃自語的八卦

1. 老槍:Db2/z和可靠性
2. K.I.S.S (Keep it Simple, Stupid!)
3. 系統(tǒng)驗證和測試:豬肉出廠的質檢章

數(shù)據(jù)庫的可靠性

1、數(shù)據(jù)庫里的老槍 - Db2 for zOS

上次聊了瑞士軍刀SQLite, 從年紀上SQLite出生于大數(shù)據(jù)和手機時代之前,對比后來的大數(shù)據(jù)引擎和云原生數(shù)據(jù)庫,SQLite可謂個頭不大,輩分不小了。不過數(shù)據(jù)庫的爺爺輩應該算是79年的Oracle和83年的Db2/z(z又叫mainframe,國內稱主機)。今天用這把老槍講講可靠性。

系統(tǒng)RAS(Reliability, availability and serviceability)概念最早是由IBM提出,來形容曾經(jīng)是神一樣存在的主機(也叫大機,mainframe)。為什么說神一樣的存在呢?主機是第一批商用計算機,1950出現(xiàn),活躍至今,最新(本文原稿為2022.1)版本為2019.9月的z15。最早的一批商用數(shù)據(jù)庫就包括主機上的DB2/z(1983年GA v2.3)。也許你從沒有聽說過,但是如果你每一天在消費,過程中,不論銀行卡,支付寶,微信都會最終走到銀聯(lián),而且很可能是工農(nóng)建交等大銀行,那么你的交易就是在主機上完成和記錄的。

2021年的AWS Re:Invest有一個session, 講AWS Mainframe Modernization; 2022年初某公告《8.38 億元、中國銀行單一來源采購:IBM z15主機》也可見一斑。

神在我們身邊默默的存在,不打擾一片云彩

我們談論數(shù)據(jù)庫的可靠性時候,籠統(tǒng)的時候會泛指RAS,大部分時候單指Reliability。

可靠性Reliability

數(shù)據(jù)庫系統(tǒng)無故障可以持續(xù)運行的能力。MTBF(Mean Time Between Failure)/MTTF(Mean Time to Faillure),MTTR(Mean Time to Repair/Recover)。這些都是工業(yè)界通用的衡量標準。具體計算公式大家自己去Google/wiki。這里盜個圖湊數(shù)。

poYBAGMxCsOAGaeWAAAx4d1P0xk716.jpg

2、如何保證可靠性

教科書里有很多,架構設計的書也可以輕而易舉的找到。本文既然是八卦篇,就只分享現(xiàn)實世界的事情。那些理論上支撐的功能,原則上不會宕機的架構設計不是這里的重點

怎么能不犯錯?do nothing;

要保證軟件不出bug? 一行不寫。

如果不得不code呢?可靠方面先思考這兩項。

2.1核心代碼的復雜度

架構設計有個說法K.I.S.S(Keep it Simple, Stupid!)。其實系統(tǒng)軟件的核心code, 揚名天下立萬的骨架,也就那么幾萬行,完成系統(tǒng)80%的工作,換句話說,系統(tǒng)連續(xù)運行過程中每小時(甚至每分鐘)都必然運行的code logic。這些code中簡潔易懂是系統(tǒng)存活的關鍵。

簡潔可減少系統(tǒng)的bug。MySQL依賴最簡單可靠的nest-loop join算法二十多年,而"先進"的Hash Join是在最近兩年才實現(xiàn),在MySQL8.0.18正式GA。從算法復雜度看(兩個都有改進版本),Nest Loop J是O(MN), Hash J是O(M+N)。Hash join 在教科書里屬于advance的章節(jié),直接翻譯是“進步”,褒義詞。可是另一方面,幾乎所有的advance技術都更復雜(電車是個反例,降維打擊了),需要更多或更特殊的資源才能發(fā)揮其能力。Hash Join就需要在大內存支持下才能發(fā)揮,否則要么OOM,要么落盤造成性能斷崖,尤其不適合高并發(fā)的TP場景。比如各位同學中午在食堂買飯,就是高并發(fā)場景,如果系統(tǒng)中突然出現(xiàn)一個大查詢把內存都吃掉,也把各位的飯就吃掉了。

如何解決這個問題呢?workload management(WLM) 就要被引入,以自動調低“爛”query的優(yōu)先級,限制其資源。而又引入進一步的系統(tǒng)復雜度。

nest loop保證了每個join的內存空間消耗是固定的,所以在上面場景中,不用WLM,不用系統(tǒng)DBA也可以保證各位吃上午飯。

給我自己頂個鍋蓋保護一下,絕沒有想引戰(zhàn)NLJ vs HJ的意思,PG有比較完整成熟的優(yōu)化器,就好很多。靠,又跑題到MySQL vs PG 了。只是想說,如果一個系統(tǒng)可以簡單化,就可以減少其bug數(shù),增加可靠性。

有興趣研究軟件工程的東西,可以看看Unix philosophy。哲學的事情咱不懂,用數(shù)據(jù)說話,第一版Unix據(jù)稱是不到5千行的匯編語言;linux 0.0.1版是10243 line of code(C) 和386LoC(匯編)。多年前,我參與系統(tǒng)軟件項目排期的時候,是按1.5KLoC/Person-Year 做的計劃。所以偶爾聽說系統(tǒng)開發(fā)同學談績效的時候提一年幾萬行代碼,還經(jīng)常是早春二三月份提交的,兄弟我怕呀。前端同學代碼量會多些,不過這些代碼的生命力會差些。其實我認為衡量一個開發(fā)的代碼能力不應簡單的line of code, 更應該與服務年掛勾。

那么如果做到simple/簡單呢,上次八卦SQL的時候專注到產(chǎn)品邊界,就是要有節(jié)制,開發(fā)有明確的特點的產(chǎn)品,而不要試圖做大而全的產(chǎn)品。

2.2 測試

測試經(jīng)常在數(shù)據(jù)庫設計和實現(xiàn)過程中被忽略,尤其在相對不成熟的開發(fā)團隊中 只做簡單的功能測試,甚至是單邏輯flow,而不考慮邊界條件。更談不上系統(tǒng)壓力測試(system stress testing),比如說連接數(shù)/concurrency突然提升情況下,是否還能夠保證吞吐量和延時保持著正常水平,后面的任務可以排隊,而不會因為高壓力下造成系統(tǒng)完全不可用。

寫code就會有bug, 越早發(fā)現(xiàn)fix的成本約少。軟件工程中這張圖是1996的文章。每每在前線客戶反饋一個簡單的bug, 我腦海里就是這張圖和16000美刀

pYYBAGMxCsSADO_8AABUrWziySE952.jpg

鄙視鏈那都有,軟件開發(fā)也不例外,常常一方面說測試多么重要,一方面測試工程師的工資級別屬于末端集結號。自然沒有牛人過來投入。這是全球普世的,而某些團隊尤甚。尤其是近些年,開始學Agile,學開源,甚至不設測試崗位。殊不知,開源社區(qū)最注重測試,測試代碼量常常是產(chǎn)品代碼的3X。筆者有幸十年前在HBase社區(qū)打醬油,很是佩服一個健康社區(qū)對代碼質量的管理。而當時的主席Stack,自號HBase Janitor(清潔工),最重要的工作就是QA。

上次提到的SQLite, 每一行code對應600行測試程序。“Due to its reliability, SQLite is often used in mission-critical applications such as flight software“

試問你所在的團隊,能否保證測試程序LOC與開發(fā)程序LOC是1:1的關系?產(chǎn)品發(fā)布時最后的否決權,是否在測試手里?

豬肉出廠還要蓋個質檢章呢。如果客戶現(xiàn)場發(fā)現(xiàn)了一個bug, 你的團隊的復盤時,是否能確認這個bug應該在軟件工程的那個環(huán)節(jié)被發(fā)現(xiàn)?

poYBAGMxCsSAbYE5AABOzJOT4gQ352.jpg

3、總結

一個系統(tǒng)的可靠性(其實是系統(tǒng)的各個方面了)是從三方面完成的:

3.1 系統(tǒng)的架構設計

對于大部分軟件工程師這一點上不需要太重視, 為什么呢?因為像數(shù)據(jù)庫有歷史以來,它的基本架構就那么幾種(single-node/monolithic, shared-storage/everything, shared-nothing), 架構帶來的優(yōu)勢和劣勢已經(jīng)被無數(shù)學術論文討論和工業(yè)系統(tǒng)驗證過。我們99.9%是在前人肩膀上討生活,在高手腳邊打醬油。

3.2 系統(tǒng)的實現(xiàn)

也就是code的工程能力。同樣打個桌子,朱由校(明熹宗)很可以超越我周邊所有的朋友。同樣實現(xiàn)一個hash join, 其實現(xiàn)算法至少從最早的relation model和關系幾何就有了。隨便找一篇三十年前的吧,An Adaptive Hash Join Algorithm for Multiuser Environments。

開發(fā)實現(xiàn)的好壞要看工程能力和工匠精神了。如果有理論就能沖出亞洲,中國男足也不會這樣。這樣就是軟件開發(fā)工程化的問題。如何使團隊更有效的開發(fā),要對功能有節(jié)制,明確產(chǎn)品的邊界,求精而不求全。

3.3 系統(tǒng)的驗證

上邊專門提到,也是最容易被忽視的。大家常常會提到雙活(active-active),兩地三中心, 跨城分布, 高可用,多少個九。這些高大上的詞我也常常用, 有時候認真一點,我去請問這些系統(tǒng)能力是如何驗證通過的?高興的時候我會再多問點直擊靈魂的,W H W(who 誰測的,how 怎么測的,what 那些場景被測了?)。比如簡單的雙活, 用什么樣的workload(W:R 比例?),多大數(shù)據(jù)量, 連續(xù)跑了多長時間,P95延時是多少?

4、一點思考

當一個軟件架構師用呵護培養(yǎng)兒女的心寫code的時候,她/他就不會為三個月的短期目標commit code,讓孩子長歪了,比如"My"SQL和“Maria”DB。

做正確的事情是很難的,筆者在壓力下往repo里扔的爛code估計不比其他人少。"I always knew what the right path was. ....It was too damn hard." (聞香識女人)。做正確的事情太他媽難!】

pYYBAGMxCsSAYewGAACnrbd6S14886.jpg

5、注

傳奇老頭莫辛納甘:對應火器庫,可以對應古董級數(shù)據(jù)庫,可能就是 Mosin–Nagant 傳奇老頭莫辛納甘。

原始稿:本文原稿為2022.1,故部分內容非最新信息

審核編輯 黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)庫

    關注

    7

    文章

    3900

    瀏覽量

    65728
  • MySQL
    +關注

    關注

    1

    文章

    849

    瀏覽量

    27494
收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    半導體測試可靠性測試設備

    在半導體產(chǎn)業(yè)中,可靠性測試設備如同產(chǎn)品質量的 “守門員”,通過模擬各類嚴苛環(huán)境,對半導體器件的長期穩(wěn)定性和可靠性進行評估,確保其在實際使用中能穩(wěn)定運行。以下為你詳細介紹常見的半導體測試可靠性測試設備。
    的頭像 發(fā)表于 05-15 09:43 ?90次閱讀
    半導體測試<b class='flag-5'>可靠性</b>測試設備

    提供半導體工藝可靠性測試-WLR晶圓可靠性測試

    隨著半導體工藝復雜度提升,可靠性要求與測試成本及時間之間的矛盾日益凸顯。晶圓級可靠性(Wafer Level Reliability, WLR)技術通過直接在未封裝晶圓上施加加速應力,實現(xiàn)快速
    發(fā)表于 05-07 20:34

    電機微機控制系統(tǒng)可靠性分析

    針對性地研究提高電機微機控制系統(tǒng)可靠性的途徑及技術措施:硬件上,方法包括合理選擇篩選元器件、選擇合適的電源、采用保護電路以及制作可靠的印制電路板等;軟件上,則采用了固化程序和保護 RAM 區(qū)重要數(shù)據(jù)
    發(fā)表于 04-29 16:14

    做賊心虛:部分國產(chǎn)碳化硅MOSFET廠商“避柵氧可靠性”的本質

    部分國產(chǎn)碳化硅MOSFET廠商“避柵氧可靠性”的本質:電性能的顯性參數(shù)與柵氧可靠性的隱性質量的矛盾 部分國產(chǎn)碳化硅MOSFET廠商鉆的空子正是大部分下游客戶沒有驗證SiC碳化硅MOSFET柵氧
    的頭像 發(fā)表于 04-27 16:26 ?117次閱讀
    做賊心虛:部分國產(chǎn)碳化硅MOSFET廠商“避<b class='flag-5'>談</b>柵氧<b class='flag-5'>可靠性</b>”的本質

    IGBT的應用可靠性與失效分析

    包括器件固有可靠性和使用可靠性。固有可靠性問題包括安全工作區(qū)、閂鎖效應、雪崩耐量、短路能力及功耗等,使用可靠性問題包括并聯(lián)均流、軟關斷、電磁干擾及散熱等。
    的頭像 發(fā)表于 04-25 09:38 ?588次閱讀
    IGBT的應用<b class='flag-5'>可靠性</b>與失效分析

    電路可靠性設計與工程計算技能概述

    電路可靠性設計與工程計算通過系統(tǒng)學習電路可靠性設計與工程計算,工程師不僅能提高電路的可靠性和穩(wěn)定性,還能優(yōu)化產(chǎn)品設計過程,減少潛在的故障風險,從而提升產(chǎn)品的市場競爭力和消費者信任度。為什么工程師需要
    的頭像 發(fā)表于 03-26 17:08 ?196次閱讀
    電路<b class='flag-5'>可靠性</b>設計與工程計算技能概述

    半導體集成電路的可靠性評價

    半導體集成電路的可靠性評價是一個綜合的過程,涉及多個關鍵技術和層面,本文分述如下:可靠性評價技術概述、可靠性評價的技術特點、可靠性評價的測
    的頭像 發(fā)表于 03-04 09:17 ?368次閱讀
    半導體集成電路的<b class='flag-5'>可靠性</b>評價

    一文讀懂芯片可靠性試驗項目

    可靠性試驗的定義與重要可靠性試驗是一種系統(tǒng)化的測試流程,通過模擬芯片在實際應用中可能遇到的各種環(huán)境條件和工作狀態(tài),對芯片的性能、穩(wěn)定性和壽命進行全面評估。在芯片研發(fā)和生產(chǎn)過程中,可靠性
    的頭像 發(fā)表于 02-21 14:50 ?506次閱讀
    一文讀懂芯片<b class='flag-5'>可靠性</b>試驗項目

    霍爾元件的可靠性測試步驟

    霍爾元件是一種利用霍爾效應來測量磁場的傳感器,廣泛應用于電機控制、位置檢測、速度測量以及電流監(jiān)測、變頻控制測試、交直流電源、電源逆變器和電子開關等領域。為了確保霍爾元件的性能和可靠性,進行全面
    的頭像 發(fā)表于 02-11 15:41 ?389次閱讀

    無鉛焊接的可靠性

    電子發(fā)燒友網(wǎng)站提供《無鉛焊接的可靠性.pdf》資料免費下載
    發(fā)表于 10-16 10:50 ?5次下載

    PCB高可靠性化要求與發(fā)展——PCB高可靠性的影響因素(上)

    在電子工業(yè)的快速發(fā)展中,印刷電路板(PCB)的可靠性始終是設計和制造的核心考量。隨著集成電路(IC)的集成度不斷提升,PCB不僅需要實現(xiàn)更高的組裝密度,還要應對高頻信號傳輸?shù)奶魬?zhàn)。這些趨勢對PCB
    的頭像 發(fā)表于 10-11 11:20 ?909次閱讀
    PCB高<b class='flag-5'>可靠性</b>化要求與發(fā)展——PCB高<b class='flag-5'>可靠性</b>的影響因素(上)

    針對高可靠性應用的電壓轉換

    電子發(fā)燒友網(wǎng)站提供《針對高可靠性應用的電壓轉換.pdf》資料免費下載
    發(fā)表于 09-18 14:46 ?0次下載
    針對高<b class='flag-5'>可靠性</b>應用的電壓轉換

    基于可靠性設計感知的EDA解決方案

    產(chǎn)品可靠性,包括制造和運營方面,正在成為芯片-封裝-系統(tǒng)迭代設計周期中設計的關鍵方面,尤其是那些有望承受更長使用壽命和可能的惡劣操作環(huán)境的產(chǎn)品,例如汽車電子系統(tǒng)、高性能計算 (HPC)、電信
    的頭像 發(fā)表于 07-15 09:56 ?674次閱讀
    基于<b class='flag-5'>可靠性</b>設計感知的EDA解決方案

    燈具可靠性關鍵:高低溫沖擊試驗全面解析

    任何產(chǎn)品在到達消費者手中之前,都會歷經(jīng)一系列嚴格的可靠性試驗。正是這些試驗的錘煉,確保了產(chǎn)品的強健與可靠,使它們能在日常使用中經(jīng)受住時間的考驗。環(huán)境可靠性試驗的核心在于模擬外界環(huán)境的溫
    的頭像 發(fā)表于 07-13 10:02 ?772次閱讀
    燈具<b class='flag-5'>可靠性</b><b class='flag-5'>之</b>關鍵:高低溫沖擊試驗全面解析

    汽車功能安全與可靠性的關系

    當前,隨著汽車領域的飛速發(fā)展,汽車也被重新定義。在汽車電子電氣系統(tǒng)設計時,離不開對功能安全和可靠性設計的考慮。正確理解兩者之間的關系,有助于更好地分析問題和解決問題。什么是汽車可靠性汽車可靠性是指
    的頭像 發(fā)表于 07-13 08:28 ?3469次閱讀
    汽車功能安全與<b class='flag-5'>可靠性</b>的關系
    主站蜘蛛池模板: 69精品国产人妻蜜桃国产毛片 | 成人小视频在线免费观看 | 久久婷五月综合色啪首页 | 羞羞答答影院在线 | 啊叫大点声欠CAO的SAO贷 | 国产一区二区三区四区五在线观看 | 久久成人精品免费播放 | 囯产免费精品一品二区三区视频 | 久久亚洲人成网站 | 内射无码AV-区二区在线观看 | 亚洲免费综合色视频 | 精品久久久亚洲精品中文字幕 | 久亚洲AV无码专区A片 | a毛片基地免费全部视频 | 且试天下芒果免费观看 | 换脸国产AV一区二区三区 | 中文无码乱人伦中文视频播放 | 九九夜夜妹子 | 精品久久免费观看 | 欧美亚洲曰韩一本道 | 达达兔欧美午夜国产亚洲 | 琪琪SEE色原网色原网站18 | 一本色道久久综合亚洲精品蜜桃冫 | 乱亲女H秽乱长久久久 | 桃色园社区 | 俄罗斯aaaaa一级毛片 | 挺进老师的紧窄小肉六电影完整版 | 久久黄色免费 | 快播性爱电影 | 日本无码专区亚洲麻豆 | 日韩一区二区天海翼 | 亚洲精品网址 | 涩涩在线观看免费视频 | 91精品在线国产 | 一品道门在线观看免费视频 | 1788vv视频| 国产哺乳期奶水avav | 伊人香蕉在线播放视频免费 | 国产精品第100页 | 黑人操日本女人 | 乱淫67194 |

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品