<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人片在线观看无码不卡| 日韩午夜理论免费TV影院| 国产无遮挡裸体免费视频在线观看| 18禁超污无遮挡无码免费网站| 国产精品成人观看视频免费| 成年人免费的视频| 久久久久亚洲AV无码永不| 亚洲欧洲无码AV不卡在线| 一级毛片一级毛片免费毛片 | 精品无码一级毛片免费视频观看 | 亚洲色偷偷偷综合网| 精品国产污污免费网站入口 | 亚洲国产精品人人做人人爱| 亚洲精品乱码久久久久久按摩| 亚洲丝袜中文字幕| 国产又黄又爽又大的免费视频| 成熟女人特级毛片www免费| 久久精品亚洲福利| 亚洲最大中文字幕无码网站| 成人最新午夜免费视频| 久久精品国产亚洲av品善| 外国成人网在线观看免费视频| 亚洲国产精品碰碰| 久久免费福利视频| 中文字幕专区在线亚洲| 国产成人精品免费久久久久| 亚洲国产精品美女| 亚洲视频免费一区| 亚洲高清在线视频| 亚洲国产精品网站久久| 麻豆国产入口在线观看免费| 亚洲国产精品第一区二区| 五月婷婷综合免费| 亚洲国语精品自产拍在线观看| 1000部拍拍拍18勿入免费视频软件| 亚洲精品国产精品乱码视色| 8090在线观看免费观看| 久久久久亚洲AV无码麻豆| 午夜免费福利在线观看| 二个人看的www免费视频|