欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
提高性能的數據庫縱向分割和橫向分割

1、縱向分割(列分割)

現象:通常,隨著(zhù)開(kāi)發(fā)過(guò)程的推進(jìn),系統中主表的字段數會(huì )越來(lái)越多。但是一個(gè)表的字段個(gè)數,是受數據庫規范和性能限制的。例如,SQL Server數據庫中一個(gè)表最多可以包含1024個(gè)字段,而實(shí)際應用中一般不能超過(guò)246個(gè)字段,每行數據可以存儲8060字節,另外,對于大數據表來(lái)說(shuō),列的數量直接影響存取速度。數據的存儲結構對行的存取更加優(yōu)化,而不是列的存取。下面,提出幾種分割存儲列的情形。

案例1:

對于一個(gè)博客系統,文章標題,作者,分類(lèi),創(chuàng )建時(shí)間等,是變化頻率慢,查詢(xún)次數多,而且最好有很好的實(shí)時(shí)性的數據,我們把它叫做冷數據。而博客的瀏覽量,回復數等,類(lèi)似的統計信息,或者別的變化頻率比較高的數據,我們把它叫做活躍數據。所以,在進(jìn)行數據庫結構設計的時(shí)候,就應該考慮分表,首先是縱向分表的處理。

2、橫向分割(行分割)

現象:對于記錄行數巨大的表來(lái)說(shuō),最好的辦法是按分類(lèi)進(jìn)行行分割,讓數據存儲在多個(gè)表內。自然界有一個(gè)放之四海皆準的“二八”定律,把它應用到數據上,就可以這樣解釋?zhuān)涸谒械臄祿杏?0%的數據是可以滿(mǎn)足我們80%的需求的?!?br>

根據這個(gè)原理,通常有兩種分類(lèi)方法:

1)  按時(shí)間分類(lèi)
如果數據的時(shí)效性很強,我們可以認為所有數據中,20%近期更新的數據能夠滿(mǎn)足業(yè)務(wù)80%的需求。例如,如果我們有5年的歷史數據,那么就可以認為
其中在1年內(20%)更新過(guò)的數據(也可以是1年內創(chuàng )建的數據),能滿(mǎn)足80%的業(yè)務(wù)需求;所以我們可以把這張表拆成兩個(gè)表,分別存儲20%和80%的
數據,以達到提高效率的目的。如果兩張表仍然沒(méi)有有效的提高性能,還可以利用“二八”定律再次分割。
2) 按索引分類(lèi)
當數據的時(shí)效性不明顯時(shí),可以按索引分類(lèi)數據。所謂索引可以是任何可以用于分類(lèi)的字段,比如部門(mén)編號,員工編號,工藝編號等等。我們可以這樣假設,

表中存儲了所有零件的信息,但是在80%的情況下,1號生產(chǎn)車(chē)間只會(huì )存取自己部門(mén)用到的零件。于是,我們可以按照部門(mén)編號,把表分成多個(gè)。  

案例2:同上面的例子,博客系統。當博客的量達到很大時(shí)候,就應該采取橫向分割來(lái)降低每個(gè)單表的壓力,來(lái)提升性能。例如博客的冷數據表,假如分為100個(gè)表,當同時(shí)有100萬(wàn)個(gè)用戶(hù)在瀏覽時(shí),如果是單表的話(huà),會(huì )進(jìn)行100萬(wàn)次請求,而現在分表后,就可能是每個(gè)表進(jìn)行1萬(wàn)個(gè)數據的請求(因為,不可能絕對的平均,只是假設),這樣壓力就降低了很多很多。

3、數據庫實(shí)例分割
一般情況下,開(kāi)發(fā)人員習慣于給每個(gè)項目配置一個(gè)數據庫。但是實(shí)際上我們可以給一個(gè)應用程序更多的數據庫實(shí)例。比如,在一個(gè)網(wǎng)絡(luò )游戲服務(wù)器中,經(jīng)常會(huì )
有賬戶(hù)數據庫(用于認證)、存儲數據庫(用于存儲狀態(tài))、日志數據庫(用于存儲監控狀態(tài))、地圖數據庫(用于存儲地圖狀態(tài))等等。類(lèi)比到ERP系統中,我們可以把許多項目共同的部分抽象出來(lái),分別存儲在不同的數據庫實(shí)例中。例如,用戶(hù)信息、部門(mén)信息、系統日志信息等可以定制成通用的數據庫,每個(gè)軟件項目都可以去使用。
4、數據庫實(shí)例物理部署的分割
表分割、數據庫實(shí)例的分割,為物理部署帶來(lái)了靈活性。例如,我們對物料表按照不同的品目,進(jìn)行了表分割;又對這些表部署在了不同的數據庫實(shí)例中;這樣我們就有條件把這些數據庫實(shí)例分別部署在不同的物理數據庫服務(wù)器上。這種部署給我們帶來(lái)的好處是,物料計算時(shí),我們可以指令所有的數據庫服務(wù)器分布式計算,大大提高運算速度。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Hibernate Shards- 關(guān)系數據庫水平分割解決方案框架
大數據時(shí)代的數據存儲,非關(guān)系型數據庫MongoDB
提高系統性能數據庫設計的橫向分割和縱向分割技術(shù)
文件添加字段向一個(gè)類(lèi)添加一個(gè)新的屬性或實(shí)例變量,以便存儲新的數據或擴展現有數據的功能
用數據透視表將橫向排列的數據轉換為縱向排列(續)
數據標簽的分類(lèi)、設計及實(shí)現方法
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久