對於大資料問題,最終都會反饋到資料瓶頸上。那麼今天就是搞得資料庫啦!
木桶理論:
桶裝水能力是由最短的那塊板決定的。
在乙個系統中,或者說是乙個企業裡,資料時最重要的。所以我們是一定要保證資料的正確性,唯一性。
資料 二八原則:
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攻擊防護 對於高併發並沒有什麼通用解決方案,必須根據業務場景進行分析,不同的業務場景對於架構的取捨是不一樣的.但萬變不離其...