精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

聊聊計算和存儲分離

存儲 存儲軟件
“計算和存儲分離”隨著云原生的發展,在各種系統中出現的次數越來越多,希望大家讀完這篇文章能對其有個簡單的認識。同時如果大家未來在設計系統的時候,這個方案也可以作為選擇方案之一進行考慮。

[[330987]]

 

本文轉載自微信公眾號「咖啡拿鐵」,作者咖啡拿鐵 。轉載本文請聯系 咖啡拿鐵公眾號。

 1.背景

這篇文章是我一直想寫的一篇,因為“計算和存儲分離”最近幾年在大家的視野中出現得越來越多,但其實很多對于其到底代表著什么也是模糊不清,這里我查閱了很多的資料再結合平時自己的理解,聊聊到底什么是“計算和存儲分離”

2.何為計算?何為存儲?

要了解計算和存儲分離到底是什么,那么我們就需要理解什么是計算,什么是存儲。

計算這個單詞有運算之義,和數學的關系密不可分。大家回想一下以前數學考試的時候,那一道道的數學題怎么得出結果的,這一過程其實稱之為計算。那我們這里談論的其實是計算機計算,所以我們可以得出通過計算機得到問題的結果這個就叫做計算機計算,也就是我們這里所談論的"計算"。

對于存儲來說,這個概念比較難以定義,很多人都簡單的認為這個是硬盤,U盤等。但其實在我們的計算機計算過程中和存儲是密不可分的,我們知道CPU是由控制器、運算器和寄存器組成的,我們在運行一段程序的時候我們的指令是存儲在我們的存儲器的,我們所執行的每一個步驟都和存儲分離不開。比如我們以前考試的時候選擇題,大家關心的只是你選擇是否正確,不會關心你的運算過程,你的運算結果可以看做是硬盤,需要持久化給評卷人看,而你的計算過程類似草稿紙,雖然不需要給評卷人看,但是一樣的是實實在在的寫在了紙上。

上面我們說了在計算機中計算和存儲其實是分離不開的,我們想想如果將計算和存儲分離開來,通過高速網絡進行交互,那么我們的CPU的每一條指令都需要通過網絡傳輸,而我們的網絡傳輸和我們當前的CPU速度完全不匹配,所以我們的計算和存儲分離其實是一個偽需求,當然在未來的某一天如果我們的網絡傳輸的時間可以忽略不計,計算和存儲分離也就能真正的實現了。

計算和存儲分離既然是一個偽需求,那為什么這么多人還在提及呢?那就需要重新再定義一下他們的含義,我們將計算過程中的存儲歸納為計算,只關注問題和結果,這就是我們新的“存儲”的定義,就類似我們考試的時候草稿紙不需要存放,可以任意撕毀一樣。

那這里我們來做一個最終的定義,我們后面所講的“存儲”都是需要持久化的,可以是U盤,硬盤,網盤等等,我們所講的“計算”其實就是我們的計算過程所需要的CPU和內存等。

3.為何需要計算和存儲分離

計算和存儲分離并不是現在才出現的一個新名詞,在20年前就有NAS-網絡附加存儲這個東西,本質上也就是使用TCP/IP協議的以太網文件服務器。當時如果想要大規模的存儲,就會讓服務器將數據保存到NAS這個上面,但是NAS價格及其昂貴,并且擴展比較困難,NAS也就不適用于高速發展的互聯網應用。

這個時候谷歌摒棄了之前的觀念“移動存儲到計算”,采取了“移動計算到存儲的觀念”,將計算和存儲耦合了,因為當時的網絡速度對比現在來說慢了幾百倍,網絡速度跟不上我們的需要。在在典型的MapReduce部署中計算和存儲都在同一個集群中進行,比如后續的hadoop。這里其實也就是用本地IO速度來替換網絡傳輸速度。

隨著技術的進步,我們的網絡速度也越來越快,我們的瓶頸不再是網絡速度,但是我們的磁盤I/O速度卻沒有明顯的速度增長,計算和存儲融合的架構缺點也再逐漸暴露:

  • 機器的浪費:業務是計算先達到瓶頸的,還是存儲先達到瓶頸的。這兩種情況往往是不一樣的,往往時間點也是不一樣的。在架構里就存在一定的浪費。如果說計算不夠,也是加一臺機器;存儲不夠,還是加一臺機器。所以這里就會存在很多浪費。
  • 機器配比需要頻繁更新:一般來說在一個公司內機器的配型比較固定比如提供好幾種多少核,多少內存,多少存儲空間等等。但是由于業務在不斷的發展,那么我們的機器配型也需要不斷的更新。
  • 擴展不容易:如果我們存儲不夠了通常需要擴展,計算和存儲耦合的模式下如果擴展就需要存在遷移大量數據。

由于計算和存儲耦合的缺點越來越多,并且網絡速度越來越快,現在架構又在重新向計算和存儲分離這一方向重新開始發展。

4.誰在使用計算和存儲分離

上面我們講了很多理論相關的知識,相信大家已經對“計算和存儲分離”已經有一定的認識了,那么其到底在哪些地方做了使用呢?其影響比較大的有兩塊,一個是數據庫,另外一個是消息隊列,接下來我會具體講下這兩塊到底是怎么利用“計算和存儲分離”的。

4.1 數據庫

一談到數據庫我們不得不想到MySql,這個應該也是大家最熟悉的數據庫,下面是Mysql的一個主從架構圖:

可以看見我們的master接收數據的變更,我們的從數據庫讀取binlog信息,重放binlog從而達到數據復制。

在Mysql的主從架構中有很多問題:

  • 主庫的寫入壓力比較大的時候,主從復制的延遲會變得比較高,由于我們其復制的是binlog,他會走完所有的事務。
  • 增加從節點速度慢,由于我們需要將數據全量的復制到從節點,如果主節點此時存量的數據已經很多,那么擴展一個從節點速度就會很慢高。
  • 對于數據量比較大的數據庫,備份的速度很慢。
  • 成本變高,如果我們的數據庫的容量比較大,那么我們相應的所有從節點的容量都需要和豬數據庫一樣大,我們的成本將會隨著我們所需要從數據庫的數量進行線性增加。

這一切的問題好像都在指引著我們走向計算和存儲分離的道路,讓所有的節點都共享一個存儲。在2014年,在AWS大會上,AWS就宣布推出Aurora。這是一個面向亞馬遜關系數據庫服務(RDS)的兼容MySQL的數據庫引擎,Aurora完美契合了企業級數據庫系統對高可用性、性能和擴展性、云服務托管的需求。目前的Aurora可跨3個可用區的6-路復制、30秒內便可完成故障轉移、同時具備快速的crash recovery能力。在性能方面,Aurora現在比RDS MySQL5.6和5.7版本快5倍。

Aurora將MySQL存儲層變為為獨立的存儲節點,在Aurora中認為日志即數據,將日志徹底從Mysql計算節點中抽離出來,都由存儲節點進行保存,并且也取消了undolog用于減小計算存儲之間的交互和傳輸數據帶寬。

同樣的在阿里的團隊中,也借鑒了Aurora的思想,并在其上面做了很多優化,由于Aurora對于Mysql-Innodb的存儲引擎修改較大,后續的Mysql的更新,必然成本很大,所以阿里的團隊在保有了原有的MySQL IO路徑的基礎之上推出了PolarDB。其設計架構圖如下:

這里我們需要關注下面幾個東西:

  • libfis:這是一個文件系統庫,提供了供計算節點訪問底層存儲的API接口,進行文件讀寫和元數據更新等操作,有了這個之后計算節點就不需要關心存儲的數據到底在哪。
  • ChunkServer可以認為是一個獨立的存儲子節點,每個ChunkServer管理著一塊SSD硬盤,多個ChunkServer組成Polardb存儲節點,對于計算節點來說只需要認為其是一個大的存儲節點就好。
  • PolarSwitch:是部署在計算節點的Daemon,它負責接收libpfs發送而來的文件IO請求,PolarSwitch將其劃分為對應的一到多個Chunk,并將請求發往Chunk所屬的ChunkServer完成訪問。

當然PolarDB還有很多其他的細節,大家有興趣可以閱讀阿里云的官方文檔,通過這種共享存儲的方式,我們就可以根據自己的業務來進行不同的配置申請,比如我們的對并發要求不高,對數據量要求很大,那么我們就可以申請大量的存儲空間,計算資源相對來說就可以較小,如果我們對并發要求很高,尤其是讀請求,那么我們就可以申請多臺讀機器直到滿足我們要求為止。

其實不止是這些,現在很多的數據庫都在逐漸向“計算和存儲分離”靠攏,包括現在的OceanBase,TiDB等等。所以“計算和存儲分離”應該是未來數據庫的主要發展方向。

4.2 消息隊列

我在之前寫過很多關于消息隊列的文章,有Kafka的,也有RocketMQ的,不論是Kafka還是RocketMQ其設計思想都是利用本地機器的磁盤來進行保存消息隊列,這樣其實是有一定的弊端的:

  • 數據有限,使用者兩個消息隊列的同學應該深有感觸,一般會服務器保存最近幾天的消息,這樣的目的是節約存儲空間,但是就會導致我們要追溯一些歷史數據的時候就會導致無法查詢。
  • 擴展成本高,在數據庫中的弊端在這里同樣也會展現。

針對這些問題ApachePulsar出現了,pulsar最初由Yahoo開發,在18年的時候一舉將kafka連續兩年InfoWorld最佳開源數據平臺獎奪了過來。

在Pulsar的架構中,數據計算和數據存儲是單獨的兩個結構:

  • 數據計算也就是Broker,其作用和Kafka的Broker類似,用于負載均衡,處理consumer和producer等,如果業務上consumer和producer特別的多,我們可以單獨擴展這一層。
  • 數據存儲也就是Bookie,pulsar使用了Apache Bookkeeper存儲系統,并沒有過多的關心存儲細節,這一點其實我們也可以借鑒參考,當設計這樣的一個系統的時候,計算服務的細節我們需要自己多去思考設計,而存儲系統可以使用比較成熟的開源方案。

Pulsar理論上來說存儲是無限的,我們的消息可以永久保存,有人會說難道硬盤不要錢嗎?當然不是我們依然要錢,在Pulsar可以進行分層存儲,我們將舊的消息移到便宜的存儲方案中,比如AWS的s3存儲,而我們當前最新的消息依然在我們比較貴的SSD上。在這個模式下不僅是存儲是無限,我們的計算資源擴展也是無限的,因為我們的計算資源基本上是無狀態的,擴展是沒有任何成本的,所以Pulsar也搞出了一個多租戶的功能,而不用每個團隊單獨去建立一個集群,之前在美團的確也是這樣的,比較重要的BG基本上都有自己的Mafka集群,防止互相影響。

Kafka最新的一些提議,也在向這些方面靠攏,比如也在討論是否支持分層存儲,當然是否采用“計算和存儲分離”架構這個也是不一定的,但是我認為“計算和存儲分離”的方向也是消息隊列未來發展的主要方向。

總結

“計算和存儲分離”隨著云原生的發展,在各種系統中出現的次數越來越多,希望大家讀完這篇文章能對其有個簡單的認識。同時如果大家未來在設計系統的時候,這個方案也可以作為選擇方案之一進行考慮。

 

責任編輯:武曉燕 來源: 咖啡拿鐵
相關推薦

2023-02-03 10:08:13

前端存儲庫存儲配額

2018-03-27 08:59:47

容器化RDS存儲

2022-05-23 09:18:55

RocketMQ存儲中間件

2021-09-18 09:45:33

前端接口架構

2018-05-25 09:31:00

數據存儲高可用

2024-04-26 08:28:08

高可用存儲架構

2021-06-03 14:34:15

數據倉庫計算存儲分離

2021-05-27 09:22:41

云計算數據科技

2022-10-25 18:02:31

大數據存算分離

2025-11-05 00:32:00

Pulsar分布式架構

2022-03-11 08:35:06

數據庫存儲監控

2018-03-27 10:06:26

對象存儲演進

2022-09-14 21:15:44

互聯網存儲技術

2019-12-04 10:13:58

Kubernetes存儲Docker

2022-08-31 08:46:55

云計算數據中心ESG

2021-07-05 09:40:25

iSCSI存儲協議以太網

2020-03-04 17:37:09

存儲系統硬件層

2012-09-12 17:04:53

OpenStack云計算存儲

2012-09-13 11:06:03

IBMdW

2012-09-11 17:10:40

OpenStack
點贊
收藏

51CTO技術棧公眾號

影音先锋在线亚洲| 国产成人激情小视频| 国产探花在线观看视频| 亚洲卡一卡二| 91片在线免费观看| 国产精品专区一| 久久久精品国产sm调教| 美女少妇全过程你懂的久久 | 亚洲国产精品中文| 日韩欧美xxxx| 青草视频在线免费直播| 国产亚洲综合色| 亚洲综合中文字幕在线| 在线免费黄色av| 一区二区影视| 亚洲性视频网址| 国产艳妇疯狂做爰视频| 3d欧美精品动漫xxxx无尽| 亚洲人成网站影音先锋播放| 不卡视频一区二区| 中文在线观看av| 亚洲另类自拍| 久久精品国产亚洲| 美女被到爽高潮视频| 秋霞影院一区| 欧美天堂一区二区三区| 国产96在线 | 亚洲| 日p在线观看| 久久一留热品黄| 99久久精品久久久久久ai换脸| 樱花视频在线免费观看| 精品91在线| 俺去啦;欧美日韩| 成都免费高清电影| 91综合精品国产丝袜长腿久久| 欧美日韩成人综合| 97在线免费公开视频| 欧美午夜大胆人体| 亚洲男女一区二区三区| 欧美日韩另类综合| 蜜臀久久99精品久久久| 韩国一区二区三区| 国产中文日韩欧美| 国产女主播喷水视频在线观看| 日韩亚洲精品在线| 欧美极品少妇全裸体| 日本一二三不卡视频| 你懂的一区二区三区| 亚洲成人精品视频| 91人人澡人人爽| 日本一区精品视频| 91麻豆精品91久久久久同性| 天天干天天av| 欧美一级在线| 欧美日韩五月天| 亚洲精品视频导航| 国产国产一区| 欧美午夜电影网| 色噜噜狠狠一区二区| av成人在线看| 欧美色倩网站大全免费| 日韩爱爱小视频| 欧美xxxx性| 欧美日本视频在线| 午夜免费一级片| 国产在线一区不卡| 日韩欧美国产精品| 野战少妇38p| 免费观看亚洲天堂| 欧美成人三级电影在线| 国产精品嫩草69影院| 国产精品成人自拍| 亚洲精品久久视频| 久久成人激情视频| 日韩a一区二区| 久久精品99久久久久久久久| 国产一区二区播放| 亚洲高清网站| 国产成人精品日本亚洲| 国产乱码在线观看| 国产精品一品视频| 九九九热999| 国产高清免费在线播放| 国产精品久久久久久久久晋中| 亚洲欧美日韩不卡| а√在线中文在线新版| 91国偷自产一区二区三区观看| 亚洲黄色av网址| 粉嫩av国产一区二区三区| 欧美成人女星排行榜| 久久人妻少妇嫩草av无码专区| 少妇一区二区视频| 久久精品中文字幕| 亚洲国产精一区二区三区性色| 男人的天堂亚洲在线| 国产欧美一区二区白浆黑人| 国内精品偷拍视频| 久久伊人中文字幕| 天堂av在线中文| 伊人网在线播放| 制服丝袜av成人在线看| 亚洲色偷偷色噜噜狠狠99网| 成人在线免费小视频| 欧美丰满少妇xxxxx| 九九精品免费视频| 国产一区二区福利视频| 久久人人爽爽人人爽人人片av| 91高清在线| 婷婷激情综合网| 香港日本韩国三级网站| 精品国产影院| 久久久成人精品| 免费看毛片网站| 国产麻豆91精品| 日韩国产高清一区| 91制片在线观看| 欧美精品高清视频| 性欧美丰满熟妇xxxx性仙踪林| 亚洲影视一区二区三区| 国产精品7m视频| 日韩一卡二卡在线| 亚洲欧美日韩国产成人精品影院 | 日韩精品色哟哟| 波多野结衣久草一区| 麻豆视频在线观看免费网站| 舔着乳尖日韩一区| 一区二区三区人妻| 日韩高清欧美| 国产成人自拍视频在线观看| 国产小视频免费观看| 亚洲免费观看在线视频| 国产精品一区二区小说| 亚洲va久久久噜噜噜久久| 欧美精品久久久久久久| 97国产精品久久久| 国产精品色哟哟| 少妇激情一区二区三区| 欧美男男freegayvideosroom| 久久69精品久久久久久国产越南| 中国一级特黄视频| 国产亚洲美州欧州综合国| 男女高潮又爽又黄又无遮挡| 哺乳一区二区三区中文视频 | 天天综合av| 亚洲激情久久久| 日韩av无码中文字幕| 国产91丝袜在线观看| 熟女视频一区二区三区| 欧美成人三级| 久久精品青青大伊人av| 亚洲天堂网在线观看视频| 欧美激情一区二区三区在线| 国产无套粉嫩白浆内谢的出处| 国产不卡一二三区| 欧洲精品在线视频| 欧美69xxxxx| 在线免费不卡电影| 丰满的亚洲女人毛茸茸| 免费成人在线观看视频| 亚洲欧洲国产精品久久| 91精品店在线| 精品国产区一区二区三区在线观看| 中文字幕欧美在线观看| 国产精品国产自产拍高清av | 国产精品一区二区在线播放| 五月天激情图片| 加勒比色老久久爱综合网| 69av成年福利视频| 久草在现在线| 欧美喷水一区二区| 国产亚洲精品久久久久久无几年桃 | 国产精品videossex| 3344国产精品免费看| 蜜桃成人在线视频| 精品视频一区二区三区免费| 亚洲色偷偷综合亚洲av伊人| 国产suv精品一区二区三区| 亚洲美女自拍偷拍| 国内精品国产成人国产三级粉色| 欧美激情视频网| 四虎在线视频免费观看| 日韩欧美精品中文字幕| 国产精品suv一区二区88| 国产一区二区三区av电影 | 国产精品久久久久久久久久久久午夜片 | 亚洲aⅴ网站| 欧美极品xxxx| 成人在线免费公开观看视频| 91精品国产综合久久久久久久久久| 欧美精品乱码视频一二专区| 99国产精品久久久久| 精品久久久久久中文字幕2017| 婷婷丁香综合| 国产一区喷水| 九九久久国产| 亚洲91av视频| 毛片免费不卡| 亚洲精品综合久久中文字幕| 一级黄色大毛片| 亚洲电影一区二区| 国产福利在线导航| 成人深夜在线观看| www.99在线| 欧美天堂亚洲电影院在线观看| 麻豆91av| 日韩三级精品| 国产精品电影观看| 91九色美女在线视频| 少妇av一区二区三区| 欧美一区,二区| 欧美剧情片在线观看| 日韩三级视频在线播放| 中文字幕一区二区三区在线观看 | 精品视频自拍| 91久久久在线| 欧美极品免费| 欧美激情一区二区久久久| 91在线直播| 亚洲免费精彩视频| 空姐吹箫视频大全| 欧美精品色一区二区三区| 国产成人综合欧美精品久久| 亚洲精品日日夜夜| 国产精品密蕾丝袜| 99国产精品久久久久久久久久久| 夜夜爽久久精品91| 免费观看成人鲁鲁鲁鲁鲁视频| www.中文字幕在线| 在线播放日韩| www.欧美黄色| 91精品国产调教在线观看| 欧美午夜视频在线| 香蕉视频一区| 国产在线精品二区| 北条麻妃一区二区三区在线| 亚洲一区二区少妇| 日韩免费大片| 国产玖玖精品视频| 美女视频一区| 91精品久久久久久久久久久| 成人黄色图片网站| 国产精品久久久久久网站| 久久久久久久| 日韩免费精品视频| 国模冰冰炮一区二区| 欧美一级大片视频| 制服丝袜专区在线| 欧美一区二区三区精品电影| 蜜桃视频在线网站| 欧洲美女7788成人免费视频| 日产福利视频在线观看| 91高清视频免费| 中文字幕人成乱码在线观看| 97精品在线视频| 麻豆理论在线观看| 欧美综合在线第二页| 伊人久久精品一区二区三区| 日本韩国在线不卡| 日本一区免费网站| 国产欧美日韩免费看aⅴ视频| 国产69精品久久| 成人黄色生活片| 日本免费精品| 精品久久久久久一区| 伊甸园亚洲一区| 日韩欧美亚洲在线| 久久久久国产精品| 特大黑人娇小亚洲女mp4| 黄色日韩精品| 久久美女福利视频| 日本vs亚洲vs韩国一区三区| 亚洲一级免费观看| 国产成人日日夜夜| 粉嫩av懂色av蜜臀av分享| 91免费版在线看| 毛片aaaaaa| 一区二区高清免费观看影视大全| 日本少妇xxxx动漫| 欧美在线三级电影| 精品国产av 无码一区二区三区| 欧美一级国产精品| 视频二区在线| 综合欧美国产视频二区| av在线免费网址| 17婷婷久久www| 日韩免费在线电影| 国产日韩精品推荐| 日本不卡高清| 欧美一二三不卡| 男人的天堂亚洲在线| 在线视频观看一区二区| 成人精品一区二区三区四区| 中文字幕在线1| 亚洲一区二区三区在线| 国产一卡二卡三卡| 欧美不卡激情三级在线观看| 精品三级久久久久久久电影聊斋| 久久精品一偷一偷国产| 一本大道色婷婷在线| 成人欧美在线观看| 亚洲系列另类av| 一级黄色片播放| 日韩精品视频网| 亚洲熟女乱综合一区二区三区| 国产精品日韩精品欧美在线| 免费观看一级视频| 欧美日韩成人综合在线一区二区| 涩涩视频免费看| 久久久国产精品一区| 日韩在线影院| 国产精品一码二码三码在线| 久久中文字幕av| 欧美精品第三页| 99久久精品国产导航| 在线观看亚洲网站| 在线观看视频一区二区欧美日韩| 亚洲国产日韩在线观看| www.国产一区| 亚洲一区二区三区四区| 国产精品乱码视频| 中文一区一区三区免费在线观看| 亚洲中文字幕久久精品无码喷水| 成人免费毛片片v| 欧美色图亚洲视频| 欧美日韩国产首页| 成人资源www网在线最新版| 97热精品视频官网| 91久久偷偷做嫩草影院电| 亚洲欧美丝袜| 美日韩一区二区| 久久亚洲AV无码专区成人国产| 福利微拍一区二区| 黑人操亚洲女人| 久久99久久亚洲国产| 国产亚洲高清在线观看| 亚洲成色最大综合在线| 久久久噜噜噜| 少妇按摩一区二区三区| 精品国产31久久久久久| 日韩中文字幕观看| 欧美精品激情blacked18| 日本精品在线播放| 国产性生活免费视频| 国产激情精品久久久第一区二区| 亚洲欧美卡通动漫| 欧美日韩mp4| 免费网站成人| 成人免费高清完整版在线观看| 999久久久免费精品国产| 亚洲国产精品三区| 国产亚洲成年网址在线观看| 亚洲av无码精品一区二区| 亚洲三级免费看| 成人免费毛片嘿嘿连载视频…| 亚洲精品成人a8198a| 毛片一区二区三区| 永久免费未视频| 538prom精品视频线放| caoporm免费视频在线| 亚洲精品免费网站| 欧美日本久久| 一起草在线视频| 色香蕉久久蜜桃| 日韩在线免费电影| 亚洲最大成人在线| 亚洲激情影院| 加勒比一区二区| 欧美日韩国产高清一区二区| 黄色av免费在线| 国产伦精品一区二区三区视频孕妇| 一本综合精品| 青娱乐国产视频| 欧美一区午夜精品| 国精一区二区三区| 欧美亚州在线观看| 精品中文字幕一区二区小辣椒| 18岁成人毛片| 日韩大陆毛片av| 美女视频一区| 18禁裸男晨勃露j毛免费观看| 91网站最新网址| 亚洲自拍第二页| 久久人91精品久久久久久不卡| 久久99国产精一区二区三区| 午夜视频在线网站| 亚洲a一区二区| av电影在线播放高清免费观看| 亚洲精品日产aⅴ| 亚洲永久免费精品| 我要看一级黄色录像| 亚洲成年人在线| 国产另类xxxxhd高清| 中国一级大黄大黄大色毛片| k8久久久一区二区三区| 在线视频免费观看一区| 久久噜噜噜精品国产亚洲综合| 国语产色综合| 欧美日韩一区二区三区四区五区六区 | 在线观看成人一级片| 成人黄页毛片网站|