<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                :-: pgsql調研報告 --: 時間:2018.09.12 作者:Darren.liu * * * * * ### 業務場景需求: 能不能找一款數據庫,同時具有MySQL結構化數據存儲,及MongoDB非結構化數據存儲的結合體?! ### pgsql一句概括: pgsql是最強大的開源數據庫,且號稱最先進的數據庫。它有強大的擴展功能;本身的多線程架構,支持必行處理;它的流式同步復制,可以保證數據的零丟失。 ### 自身特性: 1.MySQL不支持MPP(大規模并行處理),但支持支持SMP(對稱多處理器),但是如果每個處理器超過4或8個核(core)時,Mysql的擴展性表現較差。而PostgreSQL是類似Oracle數據庫的架構,是多進程的架構,而不像MySQL是多線程的架構,所以能支持MPP(大規模并行處理)。 2.擴張性能好,Postgres天生就是為擴展而生的,除了支持sql語句編寫函數,你可以在PG中用Python、C、Perl、TCL、PLSQL等語言來擴展功能函數。 ### 數據類型: 1.pgsql支持的數據類型遠優于MySQL,除了共有的數據類型,它還包括位串、幾何、數組、json、range、復合、還包括自定義及引用,它每一種數據類型都對應著自己的運算符和函數操作,所以支持的業務場景多,運算能力強大。 2.Mysql查詢優化器對于子查詢、復制查詢如多表關聯、外關聯的支持等較弱,特別是在關聯時對于三大join技術:hash join、merge join、nestloop join的支持方面,Mysql只支持最后一種nestloop join(據說未來會支持hash join),而多個大表關聯分析時hash join是必備的利器,缺少這些關鍵功能非常致命。pgsql在這方面的能力就非常突出。 ### 優化性能: 1.pgsql支持對同一字段建立不同的索引類型,規劃器會自己選擇最合適的索引類型應用。 2.pgsql靈活易用的專有sql,使語句更加簡潔且功能強大,如ditinct on,ilike等。 3.Pgsql在常用的參數優化數量上,并沒有MySQL那么多且復雜。(個人認為主要是存儲引擎單一) ### 維護管理: 1.pgsql在用戶管理和權限上他支持繼承的特性,MySQL是沒有的。 2.Pgsql在庫創建的時候,是復制模板template1,所以完全可以根據業務場景不同封裝特有的庫。 3.Pgsql管理工具pgadmin,它是由官方開發維護的,他的強大之處是你所有的管理操作都可以通過界面化實現,而且支持內存,io的監控等(強大吧) ### 主從應用: 最后他的復制,由最初的預寫日志復制到后來的流式復制,大大提高了復制的性能和響應速度,同樣支持同步復制,異步復制。自身就支持重新選主特性,不需要手動切換,這是MySQL做不到的。 ### pgsql缺點: 暫不支持json數據類型的批量更新,與我們場景使用不符合。 ### 壓力測試結果: 環境配置 CentOS 7-CPU 1core-RAM 1G-SATA 20G PG 10.5 Vmware 10 1)//1個session 5個事物 1個線程 ./pgbench -c 1 -t 5 -j 1 -r postgre latency average = 2.607 ms tps = 383.564565 (including connections establishing) tps = 494.973495 (excluding connections establishing) 2)//150個session 5個事物 1個線程 ./pgbench -c 150 -t 5 -j 1 -r postgre latency average = 697.466 ms tps = 215.064125 (including connections establishing) tps = 215.523529 (excluding connections establishing) 3)150個session 5個事物,調整線程數量8 、16線程測試信息如下 8線程 latency average = 340.330 ms tps = 440.748272 (including connections establishing) tps = 446.363146 (excluding connections establishing) 16線程 latency average = 325.124 ms tps = 461.362132 (including connections establishing) tps = 475.233399 (excluding connections establishing) ***綜上所述,在我們用戶連接數不斷增加情況下,數據庫tps性能是有所下降的,但是增加線程并發,數據庫的新能得到很大提升。 由于環境設備有限,只采取了基礎測試,僅供參考。***
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看