分布式mysql應用的要點:
1.靈活應用作業系統快取
2.正確設定索引
3.以橫向擴充套件為前提設計
1.考慮全部資料量
->保持資料量小於物理記憶體
->記憶體不足時增加記憶體等
2.考慮表結構設計對資料大小的影響
index = 索引
b+樹1.搜尋外部儲存裝置時能將尋道次數最小化的樹結構
2.搜尋複雜度:o(n) -> o(log n)
[例子]從4000萬條資料的標籤表中搜尋
無索引 = 線性查詢
-> o(n) ->最大4000萬次搜尋
有索引 = 用b樹進行二分查詢
-> o(log n) ->log 4000萬 = 最大25.25次
1.基本上,使用索引的有
->where,order by,group by條件中指定的列
2.合適索引有效
->明確地新增了索引
->主鍵,unique約束
3.mysql索引的陷阱
->想同時使用多個列上的索引,就必須使用復合索引
從索引生肖的方式來看,extra列也十分重要。除了using where之外還可能出現using filesort,using temporary等,分別表示使用外部檔案進行排序,使用臨時表時需要索引等。基本上出現了using filesort,using temporary的查詢不能說是好查詢,所以要努力調整查詢和索引,盡量不要出現這兩者。
mysql分布式搭建 MySQL分布式集群搭建
1 準備集群搭建環境 使用6臺虛擬機器來搭建mysql分布式集群,相應的實驗環境與對應的mysql節點之間的對應關係如下圖所示 管理節點 mgm 這類節點的作用是管理mysqlcluster內的其他節點,如提供配置資料,並停止節點,執行備份等。由於這類節點負責管理其他節點的配置,應該在啟動其他節點之...
Celery分布式應用
最近有應用需要部署到不同的伺服器上執行,但是有沒有pbs這樣的排程系統,就想起來python的排程神器 celery。現在針對我的實際應用做一些記錄。因為我並不注重結果而是把命令拿到不同的機器上執行,所以訊息 和結果儲存我都選擇了 redis 只需要在一台伺服器上安裝 redis,其他伺服器均使用該...
mysql分布式事務
儲引擎實現事務的通用方式是基於 redo log 和 undo log。簡單來說,redo log 記錄事務修改後的資料,undo log 記錄事務前的原始資料。所以當乙個事務執行時實際發生過程簡化描述如下 先記錄 undo redo log,確保日誌刷到磁碟上持久儲存。更新資料記錄,快取操作並非同...