資料庫選型的一些看法2(轉)
關於資料庫平臺的選型,一般需要先對應用系統進行大致的分類,個人認為,就目前的大部分應用系統而言,可以分為以下的三類:
1,企業中用於日常生產的ERP系統。
2,企業中的資料倉儲的各項應用。
3,網際網路的一些應用系統。
這三類應用系統各有特點,這些特點也就大致的決定的資料庫的平臺:
1,ERP系統一般是內網執行,即通常意義上的OLTP系統,呈現出在某個時間段內交易事務量較大,併發會話較多,但大部分都是對單條記錄進行DML操作,對資料庫的主要要求也是交易吞吐量與事務控制的完整性,這一點,大部分的關係型資料庫都可以滿足,對於資料庫的選型,也可以根據公司的經濟情況及人力資源來決定。常規選擇一般是ORACLE,SQL SERVER,MYSQL等。對於大型企業中的大型ERP,可考慮選用ORACLE資料庫,如果選用ORACLE資料庫,則意味著需要更多的經濟成本,同時,也需要請相應的技術人員來管理與維護ORACLE資料庫。如果選用SQL SERVER資料庫,可以節省一定的經濟成本。但如果選用開源的MYSQL資料庫,雖可節省購買軟體的成本,但也需要請專業人員對MYSQL進行管理。對於這類ERP系統,一般較少公司會去選用DB2,一則,DB2資料庫開放性不好,二則,資料庫的監控也較難,三則,DB2資料庫的技術人才也較難請到。
2,資料倉儲的相關應用,目前,國內資料倉儲的應用系統主要呈現的特點是:存放在資料倉儲中的資料量非常大,一般都是TB級;大部分的應用都是報表程式,需進行大量的統計分析。針對於這些特點,如果選用一般的關係型資料庫(如DB2,ORACLE或SQL SERVER),可能會對應用統計的效能有較大的影響。因為這一類資料庫,以事務型為主,並大量的使用鎖機制,確保併發事務對資料操作的正確性,可以支援高的併發會話數。但在資料倉儲中,所有的應用都以查詢為主,較少或者不會對資料倉儲中的資料進行DML操作,此時,關係型資料庫中的鎖機制,似乎就對資料倉儲中的大量資料讀產生限制,也沒有較高的併發量,但是,由於統計程式需要統計大量的資料,這個就需要所選用的資料庫能解決IO瓶頸的問題,同時,也需要支援並行操作。針對於資料倉儲應用的這些特點及關係型資料庫的特性,如果在大型的企業級資料倉儲中,選用常規的DB2,ORACLE等資料庫,顯然顯得不太合適。從業界的資料倉儲的平臺使用情況來看,早年建立的EDW,大多選用的還是DB2(金融業)與ORACLE(製造業與通訊行業),但選SQL SERVER的較少。目前,大多數大公司的EDW基本都採用了TD,較少國內公司也採用了ORACLE公司的EXADATA一體機,當然,也有采用IBM公司的ISAS一體機。這次我們公司在資料倉儲平臺選型的POC測試中,就是從TD,ORACLE EXADATA,IBM ISAS三家資料庫中進行選型,這三家公司推出的都是一體機,資料庫本身都還是TD13,ORACLE11G,DB29.7,但是從硬進行上進行大量的優化。TD的並行性最好,也從資料倉儲這門技術是對資料庫進行大量的改進,是三家資料庫中,最適合用於資料倉儲中(比如,較少的REDO日誌,對全量表的操作的特殊處理,時序表等技術),ORACLE有效的解決了IO的瓶頸,能達到30GB/S,這一點是其它兩家所達不到的。TD與ORACLE在所有的表上均沒有索引,這有效的節約了儲存空間,但對資料的操作效能並沒有因此而下降。在本次的POC中,IBM排在了最後。
3,網際網路的應用,其主要特點就是實時性要求高,資料量非常大,但對於部分資料的事務一致性,完整性,可能要求並不是很高。比如,一般客戶的QQ聊天記錄,可能對於運營公司來說,這類資料可能都不需要儲存在資料庫中。再如現在的微信中手機搖一搖,有哪一個手機使用者對於運營公司所給出的結果進行了正確性的驗證呢,手機使用者只是知道運營公司給了結果,但運營公司是不是將同一時刻搖手機的所有使用者都返饋給手機使用者了,誰也不知道。這就是說,對於這類應用,完全可以選用一些開源的資料庫,節省公司的經濟成本,但對於關鍵型的資料,還是需要選用商用資料庫(比如,使用者資料,交易支付資料等)。對於開源資料庫,目前,使用者量最大的應屬MYSQL了。MYSQL資料庫也可以跨平臺執行,並且也可以很容易的得到幫助(無論是官方的,還是社群的)。
說了這麼多,其主要想表達的思想是:資料庫的選定,應以應用系統的特點來驅動,當然,應用系統的使用者也可決定資料庫的平臺。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24104518/viewspace-723420/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫選型的一些看法(轉)資料庫
- 資料庫選型的依據資料庫
- 資料量與資料庫選型資料庫
- 時間序列化資料庫選型?時序資料庫的選擇?資料庫
- DB2 資料庫中的資料型別DB2資料庫資料型別
- 一個真實的案例,一些真實存在的資料庫選型誤區資料庫
- SQL資料庫的一些攻擊(轉)SQL資料庫
- DB2資料庫中的各資料型別DB2資料庫資料型別
- 2、java資料型別轉換Java資料型別
- 資料庫選型解讀,分散式資料庫帶來的技術革命資料庫分散式
- 資料庫字符集的選擇(轉)資料庫
- 聊聊使用FURPS模型做資料庫選型評估中的一些問題模型資料庫
- 愛奇藝的資料庫選型大法,實用不糾結!資料庫
- 資料庫選型比對 Oracle vs sqlserver資料庫OracleSQLServer
- 主流資料庫欄位型別轉.Net型別的方法資料庫型別
- 關係型資料庫:使用正規化建立資料庫(轉)資料庫
- 運營商資料庫選型有哪些需求?資料庫
- 資料庫儲存選型經驗總結資料庫
- 資料庫選型要考慮哪些問題?資料庫
- 如何選擇各種型別資料庫?- Raj型別資料庫
- 圖資料庫選型:問題、方法與工具資料庫
- 常用資料庫選型!你做對了嗎?資料庫
- 某軟體公司國產分析型資料庫選型方法論資料庫
- 關於機器學習的一些看法機器學習
- 分析型資料庫:分散式分析型資料庫資料庫分散式
- 我對工程師轉市場的一些個人看法工程師
- 轉載:Oracle常用的資料庫欄位型別Oracle資料庫型別
- 我對專案管理的一點看法 2(轉)專案管理
- 轉:EXP 資料庫資料 QUERY 選項使用問題資料庫
- H2資料庫函式及資料型別概述資料庫函式資料型別
- 資料庫系統的一些專用詞彙表(轉)資料庫
- 從資料庫中動態選取下拉選單的方法 (轉)資料庫
- java語言操作Oracle資料庫中的CLOB資料型別 (轉)JavaOracle資料庫資料型別
- 大型Electron應用本地資料庫技術選型資料庫
- 是什麼影響了資料庫索引選型?資料庫索引
- 銀行資料庫選型需求,你真的清楚嗎?資料庫
- 不建議開發來做資料庫選型資料庫
- 圖資料庫選型:Neo4j、JanusGraph、HugeGraph資料庫