<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 101,  comments - 29,  trackbacks - 0

            最近在做一個移動的開發(fā)項(xiàng)目,整個項(xiàng)目兼有后臺和客戶端,客戶端是安裝在android終端上的,需要和服務(wù)器端進(jìn)行龐大的數(shù)據(jù)交互。之前雖然有做過一些Web端的數(shù)據(jù)庫編程,但是還知識停留在了練習(xí)和學(xué)習(xí)的水平上,有很多現(xiàn)實(shí)的問題并沒有考慮非常多。但是這次接觸的是一個商業(yè)項(xiàng)目,而且預(yù)估的用戶群是一個非常龐大的群體,所以我們不能忽視用戶的操作感受,不能讓用戶有太久的等待,這樣是不符合一款優(yōu)秀產(chǎn)品設(shè)計初衷的,而且也是背離市場的。

           經(jīng)過一位大牛學(xué)長的講解后,對連接池的強(qiáng)大深感膜拜。。。。Orz。。。

          So,接下來就是要好好研究一下連接池的原理了,這樣我們才能更好的學(xué)以致用微笑

          首先我們需要來說一下連接池的優(yōu)勢和有點(diǎn):

            1.減少連接創(chuàng)建時間

      雖然與其它數(shù)據(jù)庫相比 GBase 提供了較為快速連接功能,但是創(chuàng)建新的 JDBC 連接仍會招致網(wǎng)絡(luò)和 JDBC 驅(qū)動的開銷。如果這類連接是“循環(huán)”使用的,使用該方式這些花銷就可避免。
      2.簡化的編程模式
      當(dāng)使用連接池時,每一個單獨(dú)的線程能夠像創(chuàng)建了一個自己的 JDBC 連接一樣操作,允許用戶直接使用JDBC編程技術(shù)。
      3.受控的資源使用
      如果用戶不使用連接池,而是每當(dāng)線程需要時創(chuàng)建一個新的連接,那么用戶的應(yīng)用程序的資源使用會產(chǎn)生非常大的浪費(fèi)并且可能會導(dǎo)致高負(fù)載下的異常發(fā)生。
      注意,每個連到 GBase 的連接在客戶端和服務(wù)器端都有花銷(內(nèi)存,CPU,上下文切換等等)。每個連接均會對應(yīng)用程序和 GBase 服務(wù)器的可用資源帶來一定的限制。不管這些連接是否在做有用的工作,仍將使用這些資源中的相當(dāng)一部分。
      連接池能夠使性能最大化,同時還能將資源利用控制在一定的水平之下,如果超過該水平,應(yīng)用程序?qū)⒈罎⒍粌H僅是變慢。

           看到如此諸多優(yōu)點(diǎn),可見連接池在大數(shù)據(jù)模型中還是能夠顯著提高效能的。

           在實(shí)際應(yīng)用開發(fā)中,特別是在WEB應(yīng)用系統(tǒng)中,如果JSP、Servlet或EJB使用JDBC直接訪問數(shù)據(jù)庫中的數(shù)據(jù),每一次數(shù)據(jù)訪問請求都必須經(jīng)歷建立數(shù)據(jù)庫連接、打開數(shù)據(jù)庫、存取數(shù)據(jù)和關(guān)閉數(shù)據(jù)庫連接等步驟,而連接并打開數(shù)據(jù)庫是一件既消耗資源又費(fèi)時的工作,如果頻繁發(fā)生這種數(shù)據(jù)庫操作,系統(tǒng)的性能必然會急劇下降,甚至?xí)?dǎo)致系統(tǒng)崩潰。數(shù)據(jù)庫連接池技術(shù)是解決這個問題最常用的方法,在許多應(yīng)用程序服務(wù)器(例如:Weblogic,WebSphere,JBoss)中,基本都提供了這項(xiàng)技術(shù),無需自己編程,但是,深入了解這項(xiàng)技術(shù)是非常必要的。

      數(shù)據(jù)庫連接池技術(shù)的思想非常簡單,將數(shù)據(jù)庫連接作為對象存儲在一個Vector對象中,一旦數(shù)據(jù)庫連接建立后,不同的數(shù)據(jù)庫訪問請求就可以共享這些連接,這樣,通過復(fù)用這些已經(jīng)建立的數(shù)據(jù)庫連接,可以克服上述缺點(diǎn),極大地節(jié)省系統(tǒng)資源和時間。
      數(shù)據(jù)庫連接池的主要操作如下:
      (1)建立數(shù)據(jù)庫連接池對象(服務(wù)器啟動)。
      (2)按照事先指定的參數(shù)創(chuàng)建初始數(shù)量的數(shù)據(jù)庫連接(即:空閑連接數(shù))。
      (3)對于一個數(shù)據(jù)庫訪問請求,直接從連接池中得到一個連接。如果數(shù)據(jù)庫連接池對象中沒有空閑的連接,且連接數(shù)沒有達(dá)到最大(即:最大活躍連接數(shù)),創(chuàng)建一個新的數(shù)據(jù)庫連接。
      (4)存取數(shù)據(jù)庫。
      (5)關(guān)閉數(shù)據(jù)庫,釋放所有數(shù)據(jù)庫連接(此時的關(guān)閉數(shù)據(jù)庫連接,并非真正關(guān)閉,而是將其放入空閑隊(duì)列中。如實(shí)際空閑連接數(shù)大于初始空閑連接數(shù)則釋放連接)。
      (6)釋放數(shù)據(jù)庫連接池對象(服務(wù)器停止、維護(hù)期間,釋放數(shù)據(jù)庫連接池對象,并釋放所有連接)。

           連接池給我們在設(shè)計大用戶連接處理時提供了有效的解決方案,能夠在一定資源耗費(fèi)程度上給我們的項(xiàng)目提供最好的用戶體驗(yàn)和軟件的穩(wěn)定性,所以連接池確實(shí)是一個好東西。。。奮斗

    posted on 2012-05-30 00:35 mixer-a 閱讀(1686) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲av无码专区在线观看亚| 亚洲毛片基地日韩毛片基地| 色屁屁在线观看视频免费| 114一级毛片免费| 亚洲喷奶水中文字幕电影 | 久9这里精品免费视频| 国产91在线免费| 黄页网址在线免费观看| 亚洲成av人片在线观看天堂无码 | 亚洲中文字幕无码一区二区三区| 亚洲国产一区二区视频网站| 国产成人人综合亚洲欧美丁香花 | 亚洲成年人电影网站| 最近中文字幕完整免费视频ww| 免费看污成人午夜网站| 亚洲一区二区三区亚瑟| 成年美女黄网站色大免费视频| 亚洲精品无码久久久| 国产亚洲高清在线精品不卡| 亚洲精品高清在线| a毛片在线还看免费网站| 亚洲天天做日日做天天欢毛片| 鲁死你资源站亚洲av| 国产成人精品免费视频软件| 猫咪免费人成在线网站| 亚洲精品无码乱码成人| 免费成人激情视频| 亚洲AV日韩综合一区| 国产AV无码专区亚洲Av| 亚洲va中文字幕| 亚洲色大成网站www永久一区 | 中国极品美軳免费观看| 亚洲日本中文字幕| 天天操夜夜操免费视频| 狠狠色伊人亚洲综合成人| 69免费视频大片| 亚洲精品永久在线观看| 国产国拍亚洲精品福利| 91禁漫免费进入| 成人嫩草影院免费观看| 亚洲理论精品午夜电影|