資料的儲存必然是任何**必須經歷的事,我們可以將資料存放在不同地方,資料庫、檔案、記憶體、程式本身、cookie,session中都可以,但是只要需要持久化保留的資料,那麼最終肯定還是落在磁碟之上的,我們的磁碟可以格式化成各種型別的檔案系統,也可以由應用程式直接呼叫裸盤
一.儲存型別
塊儲存檔案儲存
物件儲存
塊儲存,顧名思義,就是乙個單純的塊裝置,上面不包含檔案系統,一般我們新買的磁碟掛載到伺服器上,叫/dev/sdb這種就是乙個塊儲存,比如iscsi,共享過來你發現他直接掛載掛不了,提示要先格式化,因為它是乙個裸裝置,你可以將他格式化成任意的檔案系統來掛載使用,就是送給你一塊硬碟的意思
檔案儲存就是格式化了塊裝置,現在我們一般使用xfs格式了,以前是ext4,,比如最常用的nfs,它的體現是共享過來我們可以直接掛載解除安裝,但是上面的檔案系統是共享者那面格好的,你不能更改,就是送給你乙個目錄的意思
物件儲存大多就是分布式的了,它是為了解決塊儲存不容易共享檔案儲存不夠快而出現的,如果物件儲存提供了fuse,那麼物件儲存也可以方便的掛載使用,這也是glusterfs的優勢,否則的話就是根據元資料去訪問對應資料的,ceph遵循restfulapi 模式,你需要訪問對應的uri
二.儲存連線方式
das儲存 (直連式儲存direct-attached storage),直接連線在伺服器上的儲存,第一反應就是磁碟嘍
nas儲存 (網路接入儲存network-attached storage),通過網路來建立的儲存,sab,nfs就是
san儲存 (儲存區域網路storage area network),通過專門的光纖連線給伺服器使用的儲存,多於大型應用或資料庫系統,缺點是成本高,很高….
所以隨著業務的不斷增長,使用分布式檔案系統是我們無法逃避的過稱
分布式檔案系統現在有很多了,推薦大家學習使用ceph跟glusterfs,glusterfs可以用於生產,ceph是現在乙個叼叼的分布式檔案系統,他整合了塊儲存,檔案儲存,物件儲存三種方式,與openstack可以很好的結合,底層是乙個物件儲存庫,本質意義上還是乙個物件儲存
三.資料庫相關
提到資料庫,大家的第一反應都是,效能瓶頸,慢慢慢,不敢出事,出事了就可以辭職了,要是有dba是多麼美好的事情
資料庫內儲存資料的架構有如下幾種:
一台mysql拯救世界。這種做法一般就在於企業最初期、測試環境使用,因為出事了也無傷大雅
一主一從,高可用。讀寫都是主庫,然後同步到從庫,主庫出問題了手動切換到從庫,好處是最簡單,也保證了資料的備份,現在使用的人很多;缺點是你需要手動切換,中間還是會有延遲,而且還需要人為參與的延遲,要是他跑去上廁所或者手機關機那真是bi了poi了,再就是壓力都在主庫,讀寫同步都需要
一主一從,讀寫分離。寫主庫,同步到從庫,讀資料讀從庫的,但是必須毫無延遲的還是讀主庫,相比於上一種減少了大部分讀壓力;缺點在於需要開發人員的配合,因為只有他知道哪些資料可以延遲哪些不能延遲,還需要多記ip,開發人員不配合那真是bi了poi了
一主多從,讀寫分離,讀壓力更加分散,因為一般讀資料的頻率遠大於寫;缺點是各個從節點都需要從主同步資料,從節點越多,需要完全同步完成的時間越長
一主多從,負載均衡。使用lvs為讀從節點做集群,寫只寫主節點,好處是原本**中控制的讀ip統一交給了lvs處理,只需要有兩個ip乙個讀從ip乙個寫主ip;缺點跟之前還是一樣的,主依然需要同步給每個從
6.主主複製雙寫。之前一直優化的只要點都是讀操作,寫並沒有針對性優化過,這個架構好處就是分成了兩個完全平級的資料庫,每人都有可以操作,任務量減少一半。缺點是需要開發配合,還有兩個庫的自增序號需要分配奇偶數
7.主主複製單寫。這跟一主一從,讀寫分離挺像的,區別在於出現故障時的處理
8.雙主雙從。其實就是將主主複製各加了乙個從庫,保證資料的冗餘
9.mha。這個就是mysql提供的方案了,資料較多,通過乙個管理節點來控制大集群
資料庫的訪問:
直接訪問,不解釋
通過**訪問,由**區分操作連線對應機器,比較有名的mycat
但是隨著時間的推移,我們的業務量變得巨大,那麼分布式資料庫是最終手段
乙個**如果發展到了如此境地,那麼也算是不枉此生了,巨大的業務量不斷的壓垮我們,我們需要進一步對資料分類,快速查詢,業務分離,服務解耦
最後,圖都是《大型**技術架構》上的,有興趣的可以看看,很好的一本書,他不會對你的技術有什麼快速提公升,但是會對你的思想有很重要的影響
web資料儲存
資料訪問 1.儲存乙個元素儲存多種資訊的陣列型別資料 var message 定義乙個名字為message的物件 message.name which name one 定義message的.name屬性 message.phone which name two 定義message的.phone屬性...
Web儲存機制
web storagede 的兩個主要目標是 1 提供一種在cookie之外的儲存會話資料的途徑 2 提供一種儲存大量可以跨會話存在的資料的機制。1.storage型別 storage型別提供最大的儲存空間 因瀏覽器而異 來儲存名值對。storage的例項與其他物件類似,有如下方法 clear 刪除...
web本地儲存
localstorage sessionstorage localstorage 長期儲存 資料依然會一直存在 手動清除 1.儲存資料到本地 sessionstorage.setitem email gengwenx yeah.net localstorage.setitem email gengw...