忘掉數(shù)據(jù)庫
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
發(fā)布時間:2012-04-05 15:48:55 來源:軟件服務社 在2010年的時候,我們就曾談起過設計財務軟件采用哪種數(shù)據(jù)庫的問題,F12.2發(fā)布后,看到一些朋友對采用MySql有點擔心,擔心數(shù)據(jù)量大了之后性能是否有問題,所以再說一下我們的想法。 數(shù)據(jù)庫是基礎,而財務軟件又極為重要,所以我們提前進行了非常慎重的考慮,對包括MySql、PostgreSql等開源數(shù)據(jù)庫和SQL Server、Oracle、Sybase等商業(yè)數(shù)據(jù)庫都進行了全面的分析,比如對PostgreSql我們還進行了幾個月的實際開發(fā)測試。最終選擇了MySql,主要原因是: 1、開源、免費:這一點十分重要。我們的產(chǎn)品是完全免費的,但如果需要使用一個費用高昂的商業(yè)數(shù)據(jù)庫,那么用戶就只有二個選擇:要么花大筆的銀子,要么用盜版,這都不是我們希望看到的,我們希望用戶能自由、免費、光明正大的使用。 2、跨平臺:這一點可以保證用戶不依賴于某種操作系統(tǒng),您可以用windows,也可以用linux。如果做不到這一點,那么用戶也只能有二個選擇:要么高價購買windows server,要么用盜版。這同樣是不行的。 3、性能:這是第一位重要的因素。但MySql的性能實際上遠優(yōu)于多數(shù)人的想象,而且由于它是開源的,因此,必要時我們可以進行針對性的優(yōu)化。 有人擔心MySql數(shù)據(jù)量大了之后性能是否有問題,這種擔心往往來自于一些軟件商的宣傳,因為很多軟件商為了宣傳其產(chǎn)品如果強大,張嘴就胡噴什么Oracle、DB2、SQL Server之類的,仿佛運行在Oracle、DB2、SQL Server之上才顯示它們的產(chǎn)品如何強大、復雜,也好象只有Oracle、DB2、SQL Server之類的數(shù)據(jù)庫才能支持他們?nèi)绱恕皬姶蟆钡漠a(chǎn)品。 但實際上,數(shù)據(jù)庫的性能很大程度取決于能否使用好。 舉一個身邊的例子:淘寶的數(shù)據(jù)量是非常大的,他們最初使用MySql,后來性能hold不住了,幾年前改成了Oracle,當時好了一段時間,但后來發(fā)現(xiàn)到一定程度后,Oracle也出現(xiàn)難以解決的瓶頸,于是最終放棄了Oracle、又改回MySql。當然,他們對MySql進行了一些優(yōu)化,結果取得了非常好的效果?,F(xiàn)在他們使用的就是MySql,即使是在光棍節(jié)促銷那種大并發(fā)量、大數(shù)據(jù)量的情況下,依然表現(xiàn)得非常給力。 又比如:我們以前使用的用友NC,那是用友號稱最高端的產(chǎn)品,使用的是商業(yè)數(shù)據(jù)庫,但在數(shù)據(jù)庫中只有2000多員工信息的情況下,查詢一個員工信息居然要用幾十秒,這是數(shù)據(jù)庫的問題嗎?顯然是使用的問題。使用不好,用什么大型數(shù)據(jù)庫都白搭。 再說一個去年我們遇到的事情:我們有一個北京的用戶福連家,是一家母嬰用品專業(yè)銷售企業(yè)。使用我們的產(chǎn)品換掉了他們原來的OA等系統(tǒng)后,感覺很好,就問起我們進銷存,說他們現(xiàn)在的系統(tǒng)花了好幾十萬,但系統(tǒng)性能差到什么程度呢:白天沒人敢做統(tǒng)計分析,因為極慢,只要有幾個人做分析系統(tǒng)就死了,所以只好讓IT部天天晚上在別人下班后才敢做一些分析,而且晚上也極慢,經(jīng)常只能等一個通宵。后來他們的IT經(jīng)理帶著營運總監(jiān)等幾個人來看我們現(xiàn)在的系統(tǒng),我們大約介紹了一下我們現(xiàn)有的數(shù)據(jù)量:在庫品種數(shù)11萬種,當前在用品種數(shù)3萬多種,年銷售記錄數(shù)X億條,年銷售額N億元,當前數(shù)據(jù)庫中保存了三年多的數(shù)據(jù)。他們估了一下,這個數(shù)據(jù)量是他們的十倍以上。我們按他們的要求做了各種數(shù)據(jù)分析,結果很多他們要做5分鐘、10分鐘甚至更長時間的分析我們幾乎都在5秒內(nèi)解決,最多的也不過15秒,而且數(shù)據(jù)分析深度、廣度比他們的需求更高。我們所用的是一臺性能不到他們服務器性能50%的一臺老機器,并且當時還有近200個同時在線的其他員工在處理各種工作。他們的總監(jiān)當時大怒,讓IT經(jīng)理用手機把過程錄下來,要回去找那個軟件商算賬(好笑的是,這位IT經(jīng)理由于天天晚上加班、被折騰得實在受不了,就問那個軟件商為什么用著那么好的服務器、數(shù)據(jù)量也不大,性能卻比我們差這么多,結果對方回復:人家牛唄?。F鋵嵾@種事情沒什么奇怪,因為很多問題我們經(jīng)歷過,我們知道問題在哪里。根本問題不在于使用什么數(shù)據(jù)庫,而是在于怎樣使用,在于優(yōu)秀的算法。 在財務軟件開發(fā)過程中,我們也遇到過性能不好的情況,比如開始有的功能要用20多秒,但這不是MySql的問題,我們調(diào)整了算法后,0.5秒內(nèi)就解決了?,F(xiàn)在,我們已經(jīng)全面評估了所有環(huán)節(jié),我們知道有哪些地方可能成為瓶頸,但可以確認,沒有任何問題會成為我們的障礙。 如果有一天,有人告訴我們說自己公司的規(guī)模太大了、數(shù)據(jù)量太大了、程序慢得難以忍受了,我們倒真的很希望遇上這樣的挑戰(zhàn),那時我們會非常高興地立刻給您解決,而且是免費的。但我們相信不會遇到能阻礙我們的問題,我們相信自己的數(shù)學能力解決這些事情不是有八成或九成的把握,而是有百分之百的把握。 我們采用MySql還有一個原因是出于整體性考慮,目前OA、HR、PB、TC、CRM等各個系統(tǒng)都是基于MySql的,所以,財務系統(tǒng)等產(chǎn)品采用同樣的數(shù)據(jù)庫,可以保持非常好的整體性,我們希望能給用戶提供整體的、全面的、可持續(xù)的解決方案。正是因為有這樣的設計考慮,所以您現(xiàn)在看到的是完整而統(tǒng)一的F-air,而不是象用友All-in-One那種假整合的騙人玩藝。 您完全不需要擔心什么數(shù)據(jù)庫的問題,實際上,用戶根本不用費心考慮這些事情、只管使用就可以了,具體的技術問題應當是開發(fā)者負責的。不只是軟件,任何產(chǎn)品都應當這樣。如果做不到這一點,那就是開發(fā)者的失職。我們甚至一直努力在使用手冊中盡可能不提Tomcat、MySql、數(shù)據(jù)庫等名詞。用戶要處理的工作很多,不應當再讓用戶考慮或擔心這些問題。這樣可以讓用戶有更多時間去優(yōu)化管理流程和核心業(yè)務,或者去爬山、睡覺、看電影…… 該文章在 2012/9/11 23:04:41 編輯過 |
關鍵字查詢
相關文章
正在查詢... |