標籤:管理員 mysql 資料庫 redis mongodb
資料庫簡介
我這裡不是技術手冊,也不是為了傳道授業,只是一點點個人見解,閑來聊聊。
做過的都知道,web伺服器平行加10台很輕鬆,但資料庫平行加10台就很難了,即使加上去,資料也很難處理;儲存相對比較容易,在儲存前面用緩衝,可用CDN,減輕儲存的壓力;
資料庫減輕壓力,在前面用緩衝,目的是減輕壓力;(在後面不容易擴充,且效率不高);當然還可以不快取資料庫,做靜態(把資料庫的內容全匯出來做成HTML,降低資料庫的壓力);
最牛逼的架構師和資料庫管理員的目標都是盡量讓網站的請求不到達資料庫,90%就解決掉了;但剩下的10%還是撐不住(資料庫和儲存還是相當脆弱的,因為它極難擴充)。
其實,99%的互連網網站最大的瓶頸都在後端,資料庫和儲存。做營運工程師的把資料庫玩轉了,架構也就特別簡單了。
·從架構上解決資料的瓶頸,說明了一個道理:
有了問題不要自己扛,要團隊精神;
資料庫有了壓力讓前面的memcache扛,把資料靜態化,讓web伺服器扛;
同理,工作中有了問題也不自己扛,要發揮團隊作用,讓團隊一起扛。
1.資料庫介紹
1)資料庫是按照一定的資料結構來組織和儲存資料庫的的倉庫,用C和C++編寫,支援多種程式設計語言;
2)應用情境:中小型網站;
3)特點:
優勢:體積小、速度快、開放原始碼、總體成本低;
劣勢:規模小、功能有限;
2.資料庫的種類
·早期按發展曆史理論上分為三種:層次型資料庫、網路式資料庫、關係型資料庫;
·工作情境應用分類:關係型資料庫、非關係型資料庫(nosql資料庫)
注意:我們每做的每一項都要貼近互連網和工作情境。
3.關係型資料庫:
1)關係型資料庫優勢:
資料庫集中共用,資料獨立性和抽象級較高,使用者體驗較好;
2)關係型資料庫介紹:
關係型資料庫模型:二維表格形式(把複雜的資料結構歸結為二元關係);
在關係型資料庫中,對資料的操作幾乎全部都是建立在一個或多個關係表格上;
3)關係型資料庫特點:
①關係型資料庫類似於exel表格的二維表來表示的;
②訪問語言是SQL語言,結構型查詢語言來對資料進行存取的;
③典型產品:MySQL和Oracle
4.非關係型資料庫:
·非關係型資料庫也被成為NoSQL資料庫,本意是“not only SQL”;
·非關係型資料庫是作為作為傳統的關係型資料庫的一個有效補充,並不是要徹底否定關係型資料庫;
·由來:
隨著在web2.0網站的興起,非關係型資料庫為彌補關係型資料庫的在動態請求 的不足而產生。
動態請求越來越多,對資料庫的要求越來越高;而傳統的關係型資料庫遵循acid理論,存取資料很慢,還要存到磁碟裡;這樣速度就很慢了,非關係型資料庫順勢而生。
·典型產品:
商業的非關係型資料庫:Google的BigTable;Amazon的Dynamo;
開源的非關係型資料庫:Facebook額Cassandra;Apache的Hbase;Redis;Mogodb
名詞解釋:web2.0:以使用者為主題上傳下載(Live App比較多,資料庫壓力比較大)
5.常用關係型資料庫產品介紹
1)mysql資料庫
2)MariaDB
3)oracle資料庫
4)SQL Server(在微軟環境上開發會用到)
切忌:別混用,混用資料庫很棘手;
6.常用的非關係型資料庫產品:
1)memcache
memcache是純記憶體緩衝,是一款開源的、高效能的、具有分布式記憶體對象的緩衝系統。通過它可以減輕資料庫負載、加速動態web應用。
2)redis
支援記憶體緩衝、持久化,資料類型豐富,支援叢集、分布式,支援隊列。
3)mongoDB
MongoDB是一個介於關係型資料庫和非關係型資料庫之間的產品,是非關係型資料庫中功能最豐富、最想關係型資料庫的。MongDB最大的特點是它支援的查詢語言非常強大,還支援對資料建立索引。高效能、易部署、易使用,儲存資料非常方便。
本文出自 “蘭芷” 部落格,請務必保留此出處http://7826443.blog.51cto.com/7816443/1706078
mysql資料庫<一>