同时10万个事务在线,读写频繁,数据库该如何设计
磨礪技術(shù)珠磯,踐行數(shù)據(jù)之道,追求卓越價(jià)值
回到上一級(jí)頁(yè)面:?PostgreSQL雜記頁(yè)? ? ?回到頂級(jí)頁(yè)面:PostgreSQL索引頁(yè)
?如題,前領(lǐng)導(dǎo)談起此話題。
我覺(jué)得這是很有意思的。如果我是設(shè)計(jì)師,該如何來(lái)設(shè)計(jì)?
我所能想到的是:
一:應(yīng)用層面,
? ? ? 根據(jù)應(yīng)用的狀況,進(jìn)行數(shù)據(jù)庫(kù)水平分割(個(gè)人理解,就是把不同應(yīng)用的表,分發(fā)到不同數(shù)據(jù)庫(kù)節(jié)點(diǎn))。
二:每一個(gè)邏輯數(shù)據(jù)庫(kù)的層面:
? ? ? 采用集群,進(jìn)行負(fù)載分割。
? ? ? 但是集群方案需要慎重選擇,不是所有的集群方案都有負(fù)載分發(fā)的能力的。所以要采用multi-master方式來(lái)分布負(fù)載。
? ? ? ?就是說(shuō),邏輯上是一個(gè)數(shù)據(jù)庫(kù),但物理實(shí)現(xiàn)上是多個(gè)存儲(chǔ)節(jié)點(diǎn)同時(shí)參與運(yùn)算如查詢等來(lái)提高響應(yīng)速度。
三:對(duì)邏輯數(shù)據(jù)庫(kù)中的每一個(gè)表的層面:
? ? ? 采用分區(qū)表,合理運(yùn)用并行處理能力。
? ? ? 如果可能,對(duì)頻繁使用的查詢所涉及的表,采用簇表。
四:在物理數(shù)據(jù)庫(kù)節(jié)點(diǎn)層面,
? ? ? ?在成本允許的情況下,
? ? ? ?盡量多加CPU,提高并行運(yùn)算能力(max_connections的合理值,受此影響)
? ? ? ?多增加內(nèi)存,采用高速磁盤,最好是用固態(tài)硬盤,減少IO延遲。
五:在具體的SQL查詢中,如果可能,采用Hint提示,使用并行查詢
?
回到上一級(jí)頁(yè)面:?PostgreSQL雜記頁(yè)? ? ?回到頂級(jí)頁(yè)面:PostgreSQL索引頁(yè)
磨礪技術(shù)珠磯,踐行數(shù)據(jù)之道,追求卓越價(jià)值
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的同时10万个事务在线,读写频繁,数据库该如何设计的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: hdu1051 Wooden Stick
- 下一篇: 备忘录:CISCO router ENA