大資料高併發學習筆記(2)

2022-04-20 12:00:34 字數 2578 閱讀 1435

對於大資料問題,最終都會反饋到資料瓶頸上。那麼今天就是搞得資料庫啦!

木桶理論:

桶裝水能力是由最短的那塊板決定的。   

在乙個系統中,或者說是乙個企業裡,資料時最重要的。所以我們是一定要保證資料的正確性,唯一性。

資料 二八原則:

80%的請求聚焦在  20%的資料上。

80%的請求都是查詢  20%是增刪改。

讀寫分離:

如圖,就是一主多從,發布訂閱 的示意圖。

發布訂閱的好處在於不限制從庫的個數,目的是為了提高請求量,均衡分散資料庫壓力。

sql server 發布訂閱 配置

1.點選配置分發,之後,點選下一步

2.配置快照資料夾位址(快照資料夾需要時共享目錄,一遍區域網內機器能夠訪問)

3.配置分發伺服器完成,點選完成按鈕,之後再點選一次完成按鈕。

4.配置發布訂閱環境。點選本地發布--->新建發布,之後選擇我們要發布的資料庫--->選擇事務發布

5.點選下一步,到快照**選項卡,勾線   立即常建立快照並....--->點選下一步-->點選安全設定--->設定**方式並且輸入賬號密碼

6.填寫發布名稱---->點選完成即可。等待發布完成。

7.建立訂閱     點選本地訂閱---->新建訂閱----->選擇剛才建立的發布伺服器----->選擇資料同步方式(push  or pull)---->點選下一步、選擇訂閱伺服器,點選下一步

8.在分發**安全性頁  點選與訂閱伺服器的連線----->指定許可權和賬號------->點選下一步直至完成。

9.至此,sql server 資料庫的主從複製步驟已完成。

另,要建立多個訂閱服務,按照上述訂閱伺服器的建立即可。

**層面需要配置處理主從庫的鏈結

1.配置好所有的資料庫鏈結。

2.鏈結資料的時候,區分讀寫操作的api。

3.在讀api的時候,做好資料庫鏈結的輪詢/加權輪詢操作進行資料庫連線。

資料庫負載均衡moebius

moebius是乙個用作負載均衡的中間層。他會協調同步分發其控制的所有資料庫的操作

例如:其控制1,2,3資料庫。對1操作之後,這個中間層會將對1的操作在2,3上面執行。

優點:省心省力

缺點:花錢,效能一般。

大資料針對大資料量的資料庫進行操作時,查詢,插入的效能都將變得很慢。我們需要採用乙個方法來提高效能。

分治思想:分庫,分表,表分割槽

表分割槽:將乙個大檔案分割為多個小檔案。需要使用sql 按照指定規則對資料進行排列。按規則查詢。

分庫:  乙個庫變為多個庫----垂直拆分和水平拆分

垂直拆分:按照業務拆分,不同業務使用不同的庫

水平拆分:按資料拆分,多個庫結構一模一樣,比如,按照地區,區域,時間對資料進行拆分。

分表:垂直分表:將表中的某些字段獨立出來進行拆分。一般來說,針對頻繁查詢的字段,大容量等字段進行拆分,也叫垂直拆分。

水平分表:將表資料橫向拆分(跟分庫差不多)。

分庫分表之後資料查詢問題

1.避免跨庫跨表查詢。-------設計時需要注意業務需求對查詢條件的影響(比如按照時間或者地區等)。

2.避免不了的話,首先,不允許link(因為link鏈結資料庫特別慢)。

|   提供服務式獲取,不要直連資料庫。

||  使用nosql進行提前的資料統計/使用全文檢索框架/業務妥協。

3.業務妥協。

大資料 高併發LVS1

yum search ipvsadm yum install ipvsadm ipvsadm幫助命令 ipvsadm h 管理集群服務 常用的管理命令 管理集群服務的rs e 修改 d t u f service address r server address 刪除 檢視刪除所有集群事務服務 儲存...

高併發 高併發測試筆記

問 高併發測試 一般你們用什麼工具來模擬 10萬級別的客戶端併發?在普通的電腦上可以模擬嗎 10萬併發需要至少10萬的套接字,套接字在核心中占用記憶體100000 6k 2 1g記憶體,系統需要能夠開啟10w個fd。一般的系統能夠能模擬 問 預設每個程序只能開1024個fd,修改後最大可以10w,那...

高併發學習

前端 非同步請求 資源靜態化 cdn 後端 請求佇列 輪詢分發 負載均衡 共享快取 資料層 redis快取 資料分表 寫佇列 儲存 raid陣列 熱備 網路 dns輪詢 ddos攻擊防護 對於高併發並沒有什麼通用解決方案,必須根據業務場景進行分析,不同的業務場景對於架構的取捨是不一樣的.但萬變不離其...