国产日韩精品一区二区_欧美一级片在线播放_久久精品中文字幕电影_久久视频精品在线_亚洲国产成人久久综合一区_久久精品国产精品_国产视频精品免费播放_在线视频中文亚洲_亚洲午夜未满十八勿入免费观看全集_精品亚洲一区二区_国产原创欧美精品_国产色综合天天综合网_九九久久国产精品_欧美极品少妇xxxxⅹ裸体艺术_亚洲国产精品人人爽夜夜爽_尤物九九久久国产精品的分类

一加15丨Ace 6雙艦齊發,「性能 Ultra」一加 15 售價 3999 元起一加 15丨Ace 6 雙艦齊發,「性能 Ultra」一加 15 售價 3999 元起學術磁場:頂尖科學家論壇賦能腦疾病學術研討!2025WLF臨港·腦疾病大會順利閉幕零代碼上手即用!智元推出機器人內容創作平臺“靈創”Intel進軍ASIC定制服務市場 幾乎放棄AI!三大原因防止與固態電池混淆 知情人士:半固態電池將更名為固液電池NVIDIA N1筆記本CPU新消息:2026年年中推出!外星人先用首款海外商用手機eSIM中國芯!紫光同芯斬獲GSMA認證華為、vivo、OPPO等合作撰寫!中國快充方案成為全球標準:在國際電信聯盟發布鴻蒙生態手機 WIKO X70宣布10月30日發布 支持一鍵北斗廣汽推出三款具身智能機器人,布局康養安防場景瀾起科技成功量產 DDR5 第四子代寄存時鐘驅動器芯片金倉數據庫異構多活架構破解多院區集團化醫院信創難題RTX 5060 Ti 8GB賣不動了!限制供貨、不許降價美團LongCat-Video視頻生成模型發布:可輸出5分鐘長視頻樂道L90上市86天交付破三萬,持續刷新純電大型SUV最快交付記錄亞信科技、蒙東礦建達成戰略合作,打造車網協同、智能礦山標桿華為MatePad Pro流金典藏版開賣:售價7799元余承東曝鴻蒙智行新款享界S9將于11月上市SK海力士推出專為人工智能定制的下一代 NAND 存儲產品
  • 首頁 > 數據存儲頻道 > 數據庫頻道 > 數據庫

    共享數據庫過時了 應用程序數據庫才是王道

    2022年10月26日 10:18:48 來源:51CTO

      譯者 | 楊曉娟

      策劃 | 云昭

      系統中的數據遠比構成系統的應用程序本身更有價值,這似乎有點老生常談。應用程序會更新、變革、失效和替換,但數據仍然存在。對許多組織來說,這些數據是他們最重要的資產。過去很簡單,你有組織的數據庫,只有一個地方存放著組織的所有信息,從這里可以獲取所有想要的內容。一個用于管理、監控、優化、備份等的數據庫—負責承接整個組織的數據需求。

      隨著組織的發展,數據不斷增長,因而越來越多的需求被添加到數據庫中。在某一時刻,就會觸及極限。使用單一數據庫的做法已經力不從心,必須將系統和數據庫分解為獨立的組件。在本文中,將討論如何管理數據范圍和大小的增長。

      1.共享數據庫的消亡,為什么不能使用更大的機器

      雖然并不常見,但目前有數十億條記錄達到萬億字節范圍的數據庫并不少見。那么有什么問題呢?問題不在于特定數據庫引擎的技術限制。而是組織將所有東西放入單個數據庫。例如,在我工作過的一家公司,數據庫中有超過30,000多張表,視圖和存儲過程的數量更多,這還沒說觸發器的數量。

      沒有哪個數據庫工具能夠處理如此數量的表。GUI工具每次連接數據庫時總會導致該工具卡頓幾分鐘,同時它會在短時間內讀取模式描述。沒有人清楚數據庫內部發生了什么,但是數據和圍繞它的流程對組織的成功至關重要。最后的結果:要么停滯不前,要么開始將數據庫分成可管理的組成部分。

      那是多年前的事了,行業格局已經發生了改變。今天,當我們考慮數據時,有更多問題需要考慮,例如:

      屬于歐洲公民的個人數據,這意味著與他們相關的任何數據也必須實際存儲于歐盟,并受GDPR規則的約束。

      醫療保健信息(直接或間接),需要遵循一套全新的規則(例如,HIPAA、HITECH或ENISA規則)。

      數據隱私和出處等問題更為重要,比如能夠審計和分析誰訪問了某個特定數據項,以及為什么它在許多領域都是一個硬性要求。組織中的所有信息都駐留在一個存儲桶中的概念已不再可行。

      另一個重要的巨變是常見的架構模式。我們現在不再使用單一的龐大系統來管理組織中的一切內容,而是將系統分解成更小的組件。這些組件有不同的需要和需求,按不同的時間表發布,使用不同的技術。當你想更改自己的系統時,嘗試在所有這些團隊之間進行協調的巨大開銷是你想要在系統中進行更改的一個大障礙?邕@么多團隊和組件進行協調的成本太高了。

      通常的想法是使用獨立應用程序數據庫,而非單個共享數據庫。這是一個更大的架構概念的重要組成部分。通常會在微服務和面向服務的體系結構中碰到這種情況。

      2.應用程序數據庫作為實現決策

      從單個共享數據庫遷移到一組應用程序數據庫之間一個最重要的區別是沒有拆分共享數據庫。數據庫級別的適當分離是關鍵。一組共享數據庫也會有完全相同的協調問題,因為廚房里有太多的廚師。應用程序數據庫被正確地分離,就能夠為每個任務選擇最佳的數據庫引擎,本地化更改,減少溝通更改的開銷。這種方法的缺點是在生產中要支持更多系統。

      我們來更深入地討論下共享數據庫與應用程序數據庫之間的區別。很容易弄錯,例如圖1所示:

    1.jpg

      圖1:從單個共享數據庫到多個(仍然共享)數據庫的錯誤遷移路徑

      雖然共享數據庫是你實現的,因為沒有其他選擇,但應用程序數據庫是內部選擇,除了應用程序沒有人能訪問。與面向對象編程的封裝有相同的含義,使用私有變量隱藏狀態,非常確定的是,應用程序數據庫是應用程序之外任何事物都不必關心的問題。我對此深有同感。

      編寫代碼時,直接使用其他對象的私有狀態是錯誤的。如果違反了不變性,未來的維護和開發都會變復雜。這已經被大量事實敲定,因此大多數開發人員幾乎本能地不會這么做。直接訪問另一個應用程序的數據庫也會發生完全相同的狀況,但卻非常常見。

      在某些情況下,我對數據庫中所有表和列的名稱進行了加密,以表明你不應該查看我的數據庫。應用程序數據庫應該僅僅是應用程序的內部關注點。這個想法很簡單。如果應用程序之外的任何實體需要一些數據,則需要向應用程序請求。他們不應該直接進入應用程序數據庫獲取。這是詢問“你在和誰說話”與查看他們所有的交流記錄及留言之間的區別。理論上,這是一個好方法,但是需要考慮到,你的應用程序不僅是系統的應用程序,還必須與生態系統的其他部分集成。問題是你如何做到這一點。

      如果這里描述的系統聽起來很熟悉,那是因為你可能以前聽說過。它最初是DCOM/COBRA系統的一部分,后來被稱為面向服務的體系架構,現在被稱為微服務。

      假設在我們的系統中處理發貨的應用程序需要訪問一些客戶數據來完成其任務。如何獲得這些數據?使用共享數據庫時,直接查詢客戶表。當負責客戶應用程序的團隊需要添加列或重構數據時,你的系統就會遭到破壞。它們之間沒有封裝或分離。直接依賴另一個團隊的實現細節的方式會導致破壞、停滯和不斷增加的復雜性。

      3.使用全局數據

      或者,發貨應用程序可以(通過已發布的服務接口)請求擁有客戶數據的應用程序以獲取所需的詳細信息。這通常是通過從一個應用程序到另一個應用程序的RCP調用來完成。問題是,如此一來就在兩個應用程序之間建立了牢固的聯系。如果客戶的應用程序因維護而停機,則運輸應用程序將無法工作。再加上幾十個這樣的應用程序及其相互依賴關系,你就有可能陷入僵局。我們需要考慮一種更好的方法來處理這種情況。

      我的建議是從另一個方向著手整個過程。發貨應用程序不必查詢客戶應用程序的相關數據,而是進行相反的操作。作為客戶應用程序服務接口的一部分,完全可以決定要向組織的其他部分公開什么樣的信息。

      需要注意的是,發布的數據絕對是服務契約的一部分。不提供對數據庫的直接訪問。應用程序應該向外界發布其數據?梢允巧蟼鞯紽TP站點或GraphQL端點的每日CSV文件,以選擇兩種截然不同的技術和語義。

      我在FTP上包含了CSV,以特別表明數據共享的方式是無關緊要的。重要的是,有一種從應用程序發布數據的既定方式,因為這種架構風格的一個關鍵方面是不必在需要的時候查詢數據。相反,我們將其攝取到自己的系統中。我想很明顯,為什么發貨應用程序不會打開一個FTP連接到客戶的每日CSV轉儲文件以查找詳細信息。同樣的,它也不應該將查詢GraphQL端點作為其常規例程的一部分。

      相反,我們有一個既定的機制,通過該機制發布客戶的數據(客戶應用程序已向組織的其他部分公開)。這由系統中的其它應用程序攝取,當他們需要查詢客戶的詳細信息時,可以從自己的系統中進行查詢。如圖2所示:

    圖片

      圖2:客戶應用程序發布數據以供運輸應用程序使用

      在每個應用程序中,數據可以以不同的方式存儲和表示。在每種情況下,都是最適合他們的。

      發布應用程序還可以以他們選擇的任何方式處理數據。數據庫和數據發布方式之間的服務邊界允許自由修改內部細節,而無需與外部系統協調。

      另一個選擇是采用兩階段的流程,如圖3所示。客戶應用程序不必將其更新發送給發貨應用程序,而是將其發送到組織數據湖。通過這種方式,每個應用程序將希望公開的數據發送到一個中心位置。其他應用程序可以將需要的數據從數據湖復制到自己的數據庫中。

    圖片

      圖3:每個應用程序發布數據到數據湖并拉取數據到各應用程序

      最終結果是一個共享數據的系統,但是沒有應用程序和服務之間的時間依賴關系。它還確保了不同團隊和系統之間的邊界。只要發布的接口保持不變,就不需要協調增加復雜性。

      4.實踐中的幾個建議

      我們深入探討關于如何應用這種體系架構方法的一些具體建議?梢酝ㄟ^在服務總線上發出事件或發布每日文件來全局發布數據?梢园l布特定場景的數據,例如從客戶數據庫到發貨數據庫的ETL流程。只要有適當的邊界,局部的方法的改變將對整體的影響度很低。

      這種操作方式只在需要引用數據或對與一致性無關的數據做出決策時有效。如果需要對數據進行更改或協調更改,則此方法不適用。一致性無關緊要的一個很好的例子就是根據客戶的ID查找他們的名字,如果我們有舊名字,那不是什么大問題。很快就會自行修復,我們不會根據客戶的名字來做決定。同時,我們可以在應用程序范圍內完全本地運行所有的計算和任務,這是一個很大的優勢。

      當我們需要做出決定或修改數據時,一致性很重要。例如,在發貨場景中,如果要收取超重費,需要確保客戶賬戶中有足夠的資金。在這種情況下,我們并不擁有賬戶中的資金,不能對自己的數據進行操作。如此一來,需要向客戶發起應用程序申請,要求扣除這些資金,如果資金不足,則報告錯誤。注意,如果客戶無法付款,更合理的結果應該是:發貨操作失敗。

      應用程序不應該再部署到單個服務器甚至單個數據中心。如今,在邊緣系統上運行應用程序(如移動應用程序或物聯網設備)已經非常常見。將所有這些數據推送到自己的系統中可能會導致存儲不可承受的巨量數據。數據封裝和僅公開希望公開的細節這種架構風格在這個場景中發揮得非常好。

      無需將所有信息復制到中心位置,而是將數據存儲在邊緣,并從邊緣設備接收足夠的數據,以便能夠做出決策并操作系統的全局狀態。除其他優點外,這種方法讓用戶可以掌控他們所有的數據,我認為這是一個主要的優點

      5.寫在最后

      在架構中使用應用程序數據庫和顯式數據發布有幾個原因。首先,它意味著操作是以本地資源和最少的協調運行的。反過來,意味著這些操作更快、更可靠。其次,它減少了整個系統的協調開銷,這表明可以根據需要獨立部署和更改每個應用程序。

      最后,它意味著可以獨立地為每個場景選擇最佳選項?梢詾槊總選項選擇最好的品種,而不是迎合最低公分母。例如,可以使用文檔數據庫來存儲發貨清單,而將歷史數據放入數據湖中。

      每個應用程序都是獨立的,彼此隔離,可以為每個場景做出最佳的技術選擇,而不必考慮任何全局約束。其結果是一個更易修改的系統,由更小的組件組成(因而更容易理解),并且更加敏捷。

      文章內容僅供閱讀,不構成投資建議,請謹慎對待。投資者據此操作,風險自擔。

    海報生成中...

    最新新聞

    熱門新聞

    即時

    全球頂級AI創作社區回歸!海藝AI國內首發“全民娛樂化創作

    海藝AI的模型系統在國際市場上廣受好評,目前站內累計模型數超過80萬個,涵蓋寫實、二次元、插畫、設計、攝影、風格化圖像等多類型應用場景,基本覆蓋所有主流創作風格。

    新聞

    市場占比高達35.8%,阿里云引領中國AI云增長

    9月9日,國際權威市場調研機構英富曼(Omdia)發布了《中國AI云市場,1H25》報告。中國AI云市場阿里云占比8%位列第一。

    企業IT

    華為坤靈發布IdeaHub千行百業體驗官計劃,助力中小企

    9月24日,華為坤靈召開“智能體驗,一屏到位”華為IdeaHub千行百業體驗官計劃發布會。

    3C消費

    雅馬哈推出兩款高端頭戴耳機YH-4000與YH-C3000

    雅馬哈昨日宣布推出兩款頭戴式耳機,分別是平板振膜的YH-4000和動圈原理的YH-C3000。

    研究

    IDC:2025上半年全球智能家居清潔機器人出貨量同比暴

    IDC今日發布的《全球智能家居清潔機器人設備市場季度跟蹤報告,2025年第二季度》顯示,上半年全球智能家居清潔機器人市場出貨1,2萬臺,同比增長33%,顯示出品類強勁的市場需求。

    国产日韩精品一区二区_欧美一级片在线播放_久久精品中文字幕电影_久久视频精品在线_亚洲国产成人久久综合一区_久久精品国产精品_国产视频精品免费播放_在线视频中文亚洲_亚洲午夜未满十八勿入免费观看全集_精品亚洲一区二区_国产原创欧美精品_国产色综合天天综合网_九九久久国产精品_欧美极品少妇xxxxⅹ裸体艺术_亚洲国产精品人人爽夜夜爽_尤物九九久久国产精品的分类
    在线一区视频观看| 9色在线视频网站| 国产日韩精品久久久| 久久麻豆一区二区| 久久老女人爱爱| 欧美日韩成人高清| 精品欧美乱码久久久久久1区2区| а√天堂8资源中文在线| 欧美写真视频网站| 992tv成人免费影院| 在线观看成人小视频| 伊人久久亚洲| av中文字幕一区二区| 国产日韩欧美激情| 69av成年福利视频| 亚洲精品一区国产| 久久综合另类图片小说| 精品一二三四区| 欧洲一区二区在线| 久久久久久久久久久久久久久久av| 在线看欧美日韩| 在线视频精品一| 欧美午夜精品免费| 久热精品视频在线观看一区| 午夜精品一区二区三区四区| 国产精久久一区二区| 欧美精品亚州精品| 亚洲一区网站| 成人自拍偷拍| 亚洲综合网狠久久| 亚洲国产小视频在线观看| 亚洲电影视频在线| 五月天网站亚洲| 亚洲亚洲人成综合网络| 国产资源一区| 国产精品99久久久久久久vr| 成人精品一区二区| 亚洲摸下面视频| 成人一区不卡| 亚洲精品中文在线影院| 免费在线看成人av| 日韩国产欧美在线观看| 伊人久久av| 久久先锋影音av| 黄网站在线观| 一本精品一区二区三区| 97超级在线观看免费高清完整版电视剧| 91丝袜美腿高跟国产极品老师| 无遮挡动作视频在线观看免费入口| 日韩在线你懂的| 欧亚在线中文字幕免费| 国产精品日韩久久久久| 在线观看国产一区二区| aa视频在线观看| 日本在线天堂| 国产综合 伊人色| 欧美aaaaa性bbbbb小妇| 性久久久久久| 久久久亚洲福利精品午夜| 免费精品国产| 51精品国自产在线| 蜜桃999成人看片在线观看| 久久综合亚洲| 国产精品欧美久久久久无广告| 色呦呦在线观看视频| 国产日本欧美一区| 鲁丝一区鲁丝二区鲁丝三区| 欧美gay囗交囗交| 555www成人网| 日韩中文字幕精品| 欧美巨大另类极品videosbest| 国产一区二区三区在线播放免费观看| 久久精品国产综合精品| 欧美专区在线观看一区| 亚洲国产精品系列| 天天好比中文综合网| 91社区国产高清| 亚洲国产一区二区三区高清| 岛国av一区二区在线在线观看| 久久手机精品视频| 婷婷四房综合激情五月| 二吊插入一穴一区二区| 亚洲欧美视频一区二区三区| 在线观看日产精品| 在线丨暗呦小u女国产精品| 久热99视频在线观看| 国产黄色精品网站| 1769视频在线播放免费观看| 91超碰caoporn97人人| 国产成年精品| 国产精品中文久久久久久久| **欧美日韩vr在线| 成人教育av| 欧美性极品xxxx做受| 国产精品影片在线观看| 国产精品一区二区日韩| 青青草国产精品亚洲专区无| 欧美性videos| 欧美激情视频三区| 国产精品五月天| 国产不卡一区二区三区在线观看| 色综合久久中文综合久久97| 成人动漫视频在线观看免费| 天天色天天爱天天射综合| 洋洋成人永久网站入口| 国产精品高潮在线| 四虎影视成人| 超碰91人人草人人干| 国产精品115| 国产成人午夜精品5599| 婷婷久久综合九色综合99蜜桃| 欧美精品不卡| 一个色妞综合视频在线观看| 久久久噜噜噜久噜久久综合| 日韩一级大片在线观看| 国产无套精品一区二区| 亚洲免费在线视频一区 二区| 亚洲xxxx18| 欧美电影院免费观看| 国产精品精品一区二区三区午夜版| 一区二区三区精品视频| 中日韩免费视频中文字幕| 99国内精品久久久久| 国产亚洲短视频| 国产麻豆精品在线| 在线观看精品国产视频| 精品自拍视频| 国产一区二区免费视频| 欧美自拍大量在线观看| 精品国免费一区二区三区| 日本高清不卡三区| 久久精品久久久久电影| 99re8这里有精品热视频8在线| 欧美理论电影在线精品| 黄网站免费在线播放| 日韩电影天堂视频一区二区| 五月天久久777| 黄视频网站在线观看| 日韩午夜精品视频| 加勒比中文字幕精品| 成人免费影院| 久久久久国产精品视频| bt7086福利一区国产| 91|九色|视频| 欧美一区二区三区在线看| 欧美一区二区三区四区高清| 久久久久综合| 福利视频一区二区| 激情综合色综合久久综合| 精品久久免费看| 日韩黄色片在线观看| 久久成人这里只有精品| 宅男在线观看免费高清网站| 国产婷婷色一区二区三区四区| 亚洲黄色免费看| 另类亚洲自拍| 亚洲天堂一区二区三区| 精品视频在线一区| 狠狠色噜噜狠狠色综合久| 麻豆精品精品国产自在97香蕉| 成人黄色大片在线免费观看| 久久99精品久久久久久野外| 92国产精品久久久久首页| av文字幕在线观看|