1. 大型網站一般是什麼資料庫
大型網站:
多數使用oracle或DB2。特點是比較安全;
中小型網站:
多數使用mssql資料庫或者mysql資料庫。特點是小巧靈活。
2. 電子商務網站的資料庫設計
一個資料庫的設計,決不是你說的這些。就沖你說的這些,說明你對需求都沒怎麼明白。
資料庫設計,需要設計師參透需求。其次才是ER設計。
別一上來就弄表。悠著點。
3. 大型電商用什麼資料庫
oracle集群
Oracle RAC是業界最流行的產品。其架構的最大特點是共享存儲架構(Shared-disk),整個RAC集群是建立在一個共享的存儲設備之上的,節點之間採用 高速網路互連。在 Oracle RAC 環境中,每個 Oracle 數據塊都被賦予一個(且只有一個)「主」Oracle RAC 節點。該 Oracle RAC 節點的全局緩存服務 (GCS) 負責管理對這些數據塊集的訪問。當其中一個 Oracle 節點需要訪問某個 Oracle 數據塊時,它必須首先與該數據塊協商。然後,該主節點的 GCS 或者指示請求的 Oracle 節點從磁碟中獲取該數據塊,或者指示該Oracle 數據塊的當前持有者將被請求的數據塊發送到請求節點。Oracle 嘗試跨所有 RAC 節點統一分發該數據塊的所有權。在 Oracle RAC 環境中,數據塊大致相等的所有節點都將被指定為主節點。(如果 Oracle RAC 節點數是 Oracle 數據塊數的約數,則所有 RAC 節點都是具有同樣數量的數據塊的主節點。)
mysql集群
MySQL cluster和Oracle RAC完全不同,它採用Shared-nothing架構。整個集群由管理節點(ndb_mgmd),處理節點(mysqld)和存儲節點(ndbd)組 成,不存在一個共享的存儲設備。MySQL cluster主要利用了NDB存儲引擎來實現,NDB存儲引擎是一個內存式存儲引擎,要求數據必須全部載入到內存之中。數據被自動分布在集群中的不同存 儲節點上,每個存儲節點只保存完整數據的一個分片(fragment)。同時,用戶可以設置同一份數據保存在多個不同的存儲節點上,以保證單點故障不會造成數據丟失。
MySQL cluster的優點在於其是一個分布式的資料庫集群,處理節點和存儲節點都可以線性增加,整個集群沒有單點故障,可用性和擴展性都可以做到很高,更適合 OLTP應用。但是它的問題在於:1.NDB存儲引擎必須要求數據全部載入到內存之中,限制比較大,但是目前NDB新版本對此做了改進,允許只在內存中加 載索引數據,數據可以保存在磁碟上。2.目前的MySQL cluster的性能還不理想,因為數據是按照主鍵hash分布到不同的存儲節點上,如果應用不是通過主鍵去獲取數據的話,必須在所有的存儲節點上掃描, 返回結果到處理節點上去處理。而且,寫操作需要同時寫多份數據到不同的存儲節點上,對節點間的網路要求很高。
分布式資料庫拆分
資料庫分片
Sharding 不是一個某個特定資料庫軟體附屬的功能,而是在具體技術細節之上的抽象處理,是水平擴展(Scale Out,亦或橫向擴展、向外擴展)的解決方案,其主要目的是為突破單節點資料庫伺服器的 I/O 能力限制,解決資料庫擴展性問題。
把熱度高的數據劃分開來,使用配置剛好的硬體,提高訪問速度,增強用戶體驗
把不同的用戶的數據根據用戶的id放到不同的資料庫中,不同用戶對應的交易數據也跟著到不同的資料庫;之後可以把交易完成和正在交易的資料庫分開。
一個全國經濟信息系統,可以按照不同地區把不同數據放到不同資料庫中,隨著時間增加數據也會越來越大,到時還可以工具年份在重新劃分資料庫。
一個大中型的電子商的電子商務網站一定會遇到數據量巨大的問題,可以根據用戶對象或者使用和被使用的數據進行分片。這樣避免了在一個庫中數據膨脹而帶來的瓶頸。
在資料庫分片時最好分到不同的伺服器中,或者不同的存儲中,避免磁碟競爭
資料庫分片存在比較大問題就是人查詢或者統計涉及到跨庫就比較麻煩。特別是join時如果涉及到多個節點,將非常困難,應該盡量避免。
資料庫水平分片
讀寫分離
讀寫分離架構利用了資料庫的復制技術,將讀和寫分布在不同的處理節點上,從而達到提高可用性和擴展性的目的。
讀寫分離簡單的說是把對資料庫讀和寫的操作分開對應不同的資料庫伺服器,這樣能有效地減輕資料庫壓力,也能減輕io壓力。主資料庫提供寫操作,從資料庫提供讀操作,其實在很多系統中,主要是讀的操作。當主資料庫進行寫操作時,數據要同步到從的資料庫,這樣才能有效保證資料庫完整性。Quest SharePlex就是比較牛的同步數據工具,聽說比oracle本身的流復制還好,mysql也有自己的同步數據技術。mysql只要是通過二進制日誌來復制數據。通過日誌在從資料庫重復主資料庫的操作達到復制數據目的。這個復制比較好的就是通過非同步方法,把數據同步到從資料庫。
主資料庫同步到從資料庫後,從資料庫一般由多台資料庫組成這樣才能達到減輕壓力的目的。讀的操作怎麼樣分配到從資料庫上?應該根據伺服器的壓力把讀的操作分配到伺服器,而不是簡單的隨機分配。mysql提供了MySQL-Proxy實現讀寫分離操作。不過MySQL-Proxy好像很久不更新了。oracle可以通過F5有效分配讀從資料庫的壓力。
上面說的資料庫同步復制,都是在從同一種資料庫中,如果我要把oracle的數據同步到mysql中,其實要實現這種方案的理由很簡單,mysql免費,oracle太貴。好像Quest SharePlex也實現不了改功能吧。好像現在市面還沒有這個工具吧。那樣應該怎麼實現數據同步?其實我們可以考慮自己開發一套同步數據組件,通過消息,實現非同步復制數據。其實這個實現起來要考慮很多方面問題,高並發的問題,失敗記錄等。其實這種方法也可以同步數據到memcache中。聽說oracle的Stream也能實現,不過沒有試過。
通過ebay讀寫分離的結構圖,通過Share Plex 近乎實時的復制數據到其他資料庫節點,再通過F5特定的模塊檢查資料庫狀態,並進行負載均衡,IO 成功的做到了分布,讀寫分離,而且極大的提高了可用性。目前讀寫分離技術比較多,比較有名的為amoeba,有興趣的同學可以研究下。
資料庫緩存
讀寫分離現在應用非常廣泛,特別是時國內外大型網站,都使用的非常多,很多都是自己研發緩存系統,淘寶還開源了Tair系統,有興趣的可以研究下。比較有名的是memcached使用memcached最好的可能算facebook了。通過memcached分擔讀的操作,把常用的對象數據存儲到memcached中,當有讀操作過來時先訪問memcached如果memcached沒有該數據再從資料庫獲取,同時把數據放到memcached中,下次訪問就可以直接訪問memcached了。
有一次在和一個朋友聊天時他們正在著手在線文檔系統架構設計,由於文檔訪問壓力非常大,每次請求資料庫也非常大,由於大量的的文檔數據在服務端和客戶端傳輸,會經常造成網路堵塞。我建議他可以把文檔分片,減少一次性大文件傳輸。再根據文檔熱度把一些文檔保持到緩存中。其實文檔也好,資料庫也好,很多方法只要根據業務要求也可以達到異曲同工的之效。
4. 電子商務網站資料庫設計
有幾種方法可以解決這個問題的
1、你說的那方法,類產品一個表
2、一個表,做最多的冗餘
3、一個表,做較少的冗餘,然後另一個附加屬性表,在第一個表不夠的時候,存附加屬性表
4、其他的暫時沒想到
5. 高分求電子商務網站B2C模式資料庫設計方案
本人現在做一個B2C模式的電子商務網站,參考了下淘寶和中關村的商品模專塊,對資料庫建屬表很是棘手,因為它們各類商品的屬性個數不固定,因此商品表不能將屬性列固定死,但是用公有屬性和私有屬性時又會出現一個問題,那就...
6. 電子商務網站資料庫設計時,商品表如何設計的問題
你開始並沒有說清楚
按你的最新要求,應該是:
一個商品表,一個屬性表(欄位不重專復了)
然後就是賣家商品屬表,欄位如下:
賣家id 商品id 商品數量
明白嗎?
如果多個店賣同一種商品,那數據都在賣家商品表裡
需要商品名時,從商品表關聯取數據,
需要商品屬性時,從屬性表關聯
你想的復雜了
就2個表,一個商品表,一個屬性表
商品表欄位:id 品名
屬性表欄位:商品id 屬性名 屬性值
也就是說一個屬性一條記錄
7. 設計一套B2B的電商網站資料庫大約多少錢一套呢
看你需要什麼樣的功能了,B2B的電商網站其資料庫一般是由程序員寫的,這個要看你需要什麼技術的,Java的資料庫大概要5000元以上吧,PHP的是開源的技術,大概要6000元左右,像麥多B2B電商系統的資料庫設計出來就是4500元左右吧,你也可以直接找這個團隊設計。
8. 電子商務網站資料庫設計急
放到一個抄表是不現實的。我襲在學校做的練習中,
應該是每種商品一個表,而且還應抽取出商品的共有屬性,設計 顏色表、商品規格表、商品價格表等等。這樣當增加一款商品,這款商品有不同顏色時,在該商品表中只需增加一條數據。在顏色表中添加多條,用多對一,減少大量冗餘數據。
而像 作者 出版社這些屬性,直接寫在『book』表中作為欄位就成了。
為了view層抽取數據時方便,應有 』分類表『 比如說 電腦、剃須刀等,歸為電子類。
剩下的就是 用戶表 訂單表(訂單表中,應以商品id+商品顏色id+價錢id等等來唯一確定一個商品),基本各一張就搞定了。
9. 如何設計電子商務網站的資料庫並E-R圖
先進行了解需求,分析其中的實體和關系,再用資料庫建模工具比如powerdesigner,進行繪制er圖
10. 中型或者大型電子商務系統資料庫解決方案
你可以試一下華創信息管理平台,無論想管理什麼建表即可,而且無需編程,面向非專業人士,可以直接在線使用。
與其它軟體相比,最大特點是無需編程、自由建表,可根據業務變化隨時調整、隨時擴展,適用性強。