自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

微博 請(qǐng)問(wèn)你是怎么優(yōu)化數(shù)據(jù)庫(kù)的?

原創(chuàng)
數(shù)據(jù)庫(kù) MySQL 數(shù)據(jù)庫(kù)運(yùn)維
大家是否知道微博的開發(fā)模式嗎?數(shù)據(jù)庫(kù)是如何部署的?又是如何優(yōu)化的?這些問(wèn)題一出,必要找達(dá)人為我們解惑。51CTO有幸請(qǐng)到新浪首席DBA楊海潮先生來(lái)為我們解一解上述的疑惑。

【51CTO綜合報(bào)道】圍脖,織圍脖——這是什么?冬天到了,織條圍脖保暖嗎?錯(cuò),這是網(wǎng)絡(luò)流行用語(yǔ)。這還是大家的生活方式,生活態(tài)度。“找我?來(lái)我微博?。?rdquo;最近身邊的朋友都在織啊織,你不織?你就是“奧特曼”。那么大家是否知道微博的開發(fā)模式嗎?數(shù)據(jù)庫(kù)是如何部署的?又是如何優(yōu)化的?這些問(wèn)題一出,必要找達(dá)人為我們解惑。51CTO有幸請(qǐng)到新浪***DBA楊海潮先生來(lái)為我們解一解上述的疑惑。

專訪人物介紹

楊海潮,新浪***DBA,在大規(guī)模高并發(fā),海量訪問(wèn)有豐富的管理經(jīng)驗(yàn)。熱衷于數(shù)據(jù)庫(kù)設(shè)計(jì),性能優(yōu)化,分布式部署方案和高可用性方面的研究。

之前從事大訪問(wèn)量網(wǎng)站的部署以及優(yōu)化工作,加入新浪后主要負(fù)責(zé)整個(gè)公司的數(shù)據(jù)庫(kù)管理工作。

[[22260]] 

 
51CTO:新浪現(xiàn)在的開發(fā)模式還是LAMP嗎?

楊海潮:目前大部分業(yè)務(wù)還是使用LAMP方式,也有部分采用LNMP方式。

51CTO:新浪數(shù)據(jù)庫(kù)是如何部署的?

楊海潮:目前NoSQL和MySQL是結(jié)合使用的,根據(jù)應(yīng)用的特點(diǎn)選擇合適存儲(chǔ)方式。
 
51CTO:Sharding策略是很好的數(shù)據(jù)庫(kù)擴(kuò)展方案,但是這種方案也不是***的,新浪是如何選取sharding的形式,來(lái)適應(yīng)不同的應(yīng)用場(chǎng)景?

楊海潮:如圖:

 

sharding只用于數(shù)據(jù)量大同時(shí)有性能瓶頸的庫(kù),大部分庫(kù)不進(jìn)行sharding處理。

對(duì)于數(shù)據(jù)量比較大的庫(kù),在一開始就考慮sharding策略,例如索引數(shù)據(jù)和內(nèi)容數(shù)據(jù)分開設(shè)計(jì),每類數(shù)據(jù)庫(kù)根據(jù)業(yè)務(wù)邏輯選擇恰當(dāng)?shù)膒artitioning key,拆分成一定數(shù)量的表。

然后隨著壓力的增加進(jìn)行垂直拆分,垂直拆分后的庫(kù)再遇到性能瓶頸時(shí)首先考慮用硬件來(lái)解決。

當(dāng)硬件解決不了時(shí)才開始考慮水平拆分。

在選擇sharding方案時(shí)仔細(xì)考慮業(yè)務(wù)邏輯。對(duì)于讀密集型應(yīng)用,基本上通過(guò)增加slave來(lái)解決,對(duì)于寫密集型應(yīng)用才進(jìn)行垂直和水平拆分工作。
 
51CTO:跨越越多的sharding,帶來(lái)的開銷就越大,這個(gè)數(shù)量是如何控制的?

楊海潮:目前我在設(shè)計(jì)之前就避免跨表操作,選擇適當(dāng)?shù)?a >paritioning key,也即合適的拆分維度,避免對(duì)后期業(yè)務(wù)的影響。

根據(jù)業(yè)務(wù)邏輯的重要程度,如果業(yè)務(wù)邏輯是查詢某一個(gè)用戶的信息,那么會(huì)按用戶進(jìn)行拆分,那么保證一個(gè)用戶的數(shù)據(jù)是落在一張表里面。按時(shí)間維度進(jìn)行拆分,那么會(huì)分析數(shù)據(jù)的冷熱程度,把80%以上的數(shù)據(jù)放在一個(gè)表,避免過(guò)多的跨表查詢。

在這種拆分維度滿足不了業(yè)務(wù)需求時(shí),我們會(huì)利用空間換時(shí)間的思想,同一份數(shù)據(jù)按多種維度進(jìn)行拆分,讓每種業(yè)務(wù)邏輯的查詢語(yǔ)句都有很高的效率。

51CTO:很多用戶都會(huì)把sharding和partitioning混淆,您能講講您是怎么區(qū)分sharding與partitioning的異同。

楊海潮:sharding通常是指垂直拆分和水平拆分,是一個(gè)總體的概念,mysql的partitioning是實(shí)現(xiàn)sharding的一種技術(shù)。
 
51CTO:新浪現(xiàn)在采用SQL+NoSQL結(jié)合的數(shù)據(jù)庫(kù)部署,那么對(duì)于兩種數(shù)據(jù)庫(kù),分別是如何進(jìn)行優(yōu)化的呢?

楊海潮:目前NoSQL和MySQL是結(jié)合使用的,根據(jù)應(yīng)用的特點(diǎn)選擇合適存儲(chǔ)方式。譬如:關(guān)系型數(shù)據(jù),例如:索引使用MySQL存儲(chǔ),非關(guān)系數(shù)據(jù)庫(kù),例如:一些K/V需求的,對(duì)并發(fā)要求比較高的放入NoSQL產(chǎn)品存儲(chǔ),或者通過(guò)關(guān)系數(shù)據(jù)復(fù)制到NoSQL(redis)來(lái)顯示不同的應(yīng)用需求。

針對(duì)MySQL做的優(yōu)化比較多,從硬件(使用SSD,Fusion-IO,Cachecade等),文件系統(tǒng)(嘗試XFS),調(diào)整IO調(diào)度,優(yōu)化參數(shù),調(diào)整索引到減少應(yīng)用對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)和交換等。

NoSQL(redis)通過(guò)修改源碼滿足自己的業(yè)務(wù)需求:完善它的replication機(jī)制,加入position的概念,讓維護(hù)更容易,同時(shí)failover能力也大大增強(qiáng)。改善Hashset在rdb里面的存儲(chǔ)方式,提升復(fù)雜數(shù)據(jù)類型的加載速度。

 

51CTO:如何保證數(shù)據(jù)庫(kù)的安全性的呢?

楊海潮:主要通過(guò)幾個(gè)方面進(jìn)行考慮:

  1. 只通過(guò)內(nèi)網(wǎng)進(jìn)行訪問(wèn)。
  2. 對(duì)來(lái)源IP做限制。
  3. 使用一定復(fù)雜度的密碼策略。
  4. 從程序的角度對(duì)于輸入進(jìn)行檢查,例如使用綁定變量防止SQL注入。
  5. 對(duì)一些敏感的信息會(huì)記錄上操作日志,定期以報(bào)表的形式發(fā)給相關(guān)人員。

【編輯推薦】

  1. 這些事項(xiàng)你注意了嗎? 淺談數(shù)據(jù)庫(kù)優(yōu)化注意事項(xiàng)
  2. MySQL數(shù)據(jù)庫(kù)的優(yōu)化(上)單機(jī)MySQL數(shù)據(jù)庫(kù)的優(yōu)化
  3. MySQL數(shù)據(jù)庫(kù)的優(yōu)化(下)MySQL數(shù)據(jù)庫(kù)的高可用架構(gòu)方案
  4. 數(shù)據(jù)庫(kù)sharding Lookup技術(shù)探討
責(zé)任編輯:艾婧 來(lái)源: 51CTO
相關(guān)推薦

2011-04-28 11:17:17

微博數(shù)據(jù)庫(kù)設(shè)計(jì)

2019-07-23 09:40:42

MySQL數(shù)據(jù)庫(kù)索引數(shù)據(jù)結(jié)構(gòu)

2011-06-30 16:57:03

數(shù)據(jù)壓縮

2015-04-16 10:35:08

微博微博如何實(shí)現(xiàn)

2011-03-08 08:49:55

MySQL優(yōu)化單機(jī)

2015-06-02 16:16:17

mysql優(yōu)化mysql讀寫分離mysql主從復(fù)制

2017-06-16 21:36:14

2011-03-03 17:56:52

MySQL數(shù)據(jù)庫(kù)優(yōu)化

2011-05-19 10:29:40

數(shù)據(jù)庫(kù)查詢

2013-09-17 10:32:08

Android性能優(yōu)化數(shù)據(jù)庫(kù)

2011-03-31 09:19:54

數(shù)據(jù)庫(kù)優(yōu)化

2014-07-18 09:33:53

數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)優(yōu)化

2010-08-26 14:39:54

Infobright數(shù)

2013-01-04 10:00:12

MySQL數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)查詢優(yōu)化

2013-05-21 10:06:11

數(shù)據(jù)庫(kù)查詢優(yōu)化

2009-05-15 10:11:55

數(shù)據(jù)庫(kù)查詢查詢性能分頁(yè)瀏覽

2018-08-06 10:50:02

新浪微博短視頻

2010-05-10 15:50:39

Oracle數(shù)據(jù)庫(kù)性能

2023-07-12 08:55:16

PawSQL數(shù)據(jù)庫(kù)

2010-07-29 09:44:35

DB2數(shù)據(jù)庫(kù)優(yōu)化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)