電子商務(wù)網(wǎng)站開發(fā)之構(gòu)建數(shù)據(jù)庫的主從架構(gòu)
最新消息,日前,宜家的控股公司Interogo Holding AG斥資17億瑞典克朗(約1.90億美元)買入海恩斯莫里斯(H&M)集團(tuán)0.6%的股份,并擁持有了后者0.3%的投票權(quán)。這是Interogo Holding AG第一次擁有快時(shí)尚公司的股份。
作為一個(gè)小型電商公司,數(shù)據(jù)庫的主從架構(gòu)應(yīng)該是最基礎(chǔ)的。任何大型的系統(tǒng)架構(gòu),都是不斷演進(jìn)的。主從架構(gòu)便是數(shù)據(jù)庫架構(gòu)中,最基礎(chǔ)的架構(gòu)。所以研究完主從架構(gòu),也就能看懂更加復(fù)雜的架構(gòu)了。
首先為什么要讀寫分離?
對于一個(gè)小型網(wǎng)站,可能單臺數(shù)據(jù)庫服務(wù)器就能滿足需求,但是在一些大型的網(wǎng)站或者應(yīng)用中,單臺的數(shù)據(jù)庫服務(wù)器可能難以支撐大的訪問壓力,升級服務(wù)器性能,成本又太高,必須要橫向擴(kuò)展。還有就是,單庫的話,讀、寫都是操作一個(gè)數(shù)據(jù)庫,數(shù)據(jù)多了之后,對數(shù)據(jù)庫的讀、寫性能就會有很大影響。同時(shí)對于數(shù)據(jù)安全性,和系統(tǒng)的穩(wěn)定性,也是挑戰(zhàn)。
數(shù)據(jù)庫的讀寫分離的好處?
1. 將讀操作和寫操作分離到不同的數(shù)據(jù)庫上,避免主服務(wù)器出現(xiàn)性能瓶頸;
2. 主服務(wù)器進(jìn)行寫操作時(shí),不影響查詢應(yīng)用服務(wù)器的查詢性能,降低阻塞,提高并發(fā);
3. 數(shù)據(jù)擁有多個(gè)容災(zāi)副本,提高數(shù)據(jù)安全性,同時(shí)當(dāng)主服務(wù)器故障時(shí),可立即切換到其他服務(wù)器,提高系統(tǒng)可用性;
讀寫分離的基本原理就是讓主數(shù)據(jù)庫處理事務(wù)性增、改、刪操作(INSERT、UPDATE、DELETE)操作,而從數(shù)據(jù)庫處理SELECT查詢操作。數(shù)據(jù)庫復(fù)制被用來把事務(wù)性操作導(dǎo)致的變更同步到其他從數(shù)據(jù)庫。以SQL為例,主庫負(fù)責(zé)寫數(shù)據(jù)、讀數(shù)據(jù)。讀庫僅負(fù)責(zé)讀數(shù)據(jù)。每次有寫庫操作,同步更新到讀庫。寫庫就一個(gè),讀庫可以有多個(gè),采用日志同步的方式實(shí)現(xiàn)主庫和多個(gè)讀庫的數(shù)據(jù)同步。
一:Sql Server 讀寫分離的配置
SQL Server 提供了三種技術(shù),可以用于主從架構(gòu)之間的數(shù)據(jù)同步的實(shí)現(xiàn):日志傳送、事務(wù)復(fù)制和SQL 2012 中新增的功能Always On 技術(shù)。各自優(yōu)劣,具體的大家自己去百度吧,這里提供網(wǎng)上的朋友的配置方式,僅供參考。
1. 日志傳送:SQL Server 2008 R2 主從數(shù)據(jù)庫同步。
2. 事務(wù)復(fù)制:SQL Server 復(fù)制:事務(wù)發(fā)布
二:C# 數(shù)據(jù)庫讀寫操作
C#的請求數(shù)據(jù)庫操作,單數(shù)據(jù)庫和主從架構(gòu)的數(shù)據(jù)庫還是不一樣的。主從架構(gòu)的數(shù)據(jù)庫,為了保證數(shù)據(jù)一致性,一般主庫可讀可寫,從庫只負(fù)責(zé)讀,不負(fù)責(zé)寫入。所以,實(shí)際C#在請求數(shù)據(jù)庫的時(shí)候,還是要區(qū)別對待。
1. 最簡單的就是:配置兩個(gè)數(shù)據(jù)庫連接,然后在各個(gè)數(shù)據(jù)庫調(diào)用的位置,區(qū)分讀寫請求相應(yīng)的數(shù)據(jù)庫服務(wù)器
2.第二種解決方案就是判斷SQL語句是寫語句(insert 、update、Create、 Alter)還是讀語句(Select)。demo 下載
同時(shí),增加相關(guān)的數(shù)據(jù)庫配置
<hishop(m.hydrodefense.cn)是國內(nèi)知名企業(yè)級電商平臺提供商,為企業(yè)級商家提供最佳的系統(tǒng)開發(fā)(多種模式電商平臺搭建:B2B/B2B2C/B2C/O2O/新零售等)、供應(yīng)鏈系統(tǒng)搭建及電商行業(yè)解決方案服務(wù)>
-
B2B2C多用戶商城系統(tǒng)支持企業(yè)自營與商戶入駐模式共存 會員一站式精細(xì)化營銷工具 多用戶分銷,帶來爆發(fā)式增長
系統(tǒng)支持平臺自營+供應(yīng)商店鋪共存的經(jīng)營模式(類天貓&京東模式),幫助企業(yè)打造生態(tài)級商業(yè)平臺為目的的電子商務(wù)系統(tǒng)。
免費(fèi)試用系統(tǒng) -
B2B2B電商交易系統(tǒng)優(yōu)化供應(yīng)鏈協(xié)作 授信及賬期支付 商品按照數(shù)量階梯設(shè)價(jià)
全渠道訂貨/采購及經(jīng)銷商管理數(shù)字化系統(tǒng),實(shí)現(xiàn)供應(yīng)鏈整合和交易便捷化。
免費(fèi)試用系統(tǒng) -
S2B2B電商交易系統(tǒng)供銷一體化,提高市場集中度 集團(tuán)管控一體化,有效實(shí)現(xiàn)供需匹配 移動(dòng)應(yīng)用一體化,提高運(yùn)營綜合效率
上下游資源整合數(shù)字化解決方案,賦能產(chǎn)業(yè)供應(yīng)鏈,構(gòu)建產(chǎn)業(yè)互聯(lián)網(wǎng)生態(tài)體系。
免費(fèi)試用系統(tǒng)
