亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > PostgreSQL > 正文

PostgreSQL7.0手冊-開發者手冊 -63. 數據庫系統里的基因查詢優化

2019-09-08 23:34:06
字體:
來源:轉載
供稿:網友
第六十三章. 數據庫系統里的基因查詢優化
內容 
作為復雜優化問題的查詢處理 
基因算法?。℅A) 
Postgres 里的基因查詢優化(GEQO) 
Postgres GEQO未來的實現任務 
作者:由德國弗來堡礦業及技術大學自動控制系 Martin Utesch 書寫.
作為復雜優化問題的查詢處理
在所有關系型操作符里,最難以處理和優化的一個是 join.一個查詢需要回答的可選規劃的數目將隨著該查詢包含的 join 的個數呈指數增長.在訪問關系的分支時的進一步的優化措施是由多種多樣的 聯接方法(join methods)?。ɡ?,在 Postgres 里的嵌套循環,索引掃描,融合聯接等(nested loop, index scan, merge join?。﹣碇С痔幚愍毩ⅰoin?。摻樱┖投喾N多樣的 索引(indices)?。ㄈ?,Postgres里的 r-tree,b-tree,散列(hash)). 
目前 Postgres 優化器的實現在候選策略空間里執行一個近似完全搜索 (near- exhaustive search)?。@個查詢優化技術對包含有極廣的查詢需要的數據庫應用領域,例如人工智能等,支持得不夠. 

德國弗來堡礦業及技術大學自動控制系的成員在試圖把Postgres DBMS 作為用于一個電力網維護中做決策支持的知識庫系統的后端時,碰到了上面的問題.該 DBMS 需要為知識庫系統的推導機處理很大的 join (聯接)查詢. 

在可能的查詢規劃空間里進行檢索的惡劣性能引起了人們對發展新的優化技術的需要. 

在隨后的內容里,我們提出一個 基因算法 (Genetic Algorithm) 的實現作為解決數據庫查詢優化問題的一個選擇. 
 


--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

基因算法(GA)
GA 是一種啟發式的優化法(heuristic optimization method),它是通過既定的隨機搜索進行操作.優化問題的可能的解的集合被認為是個體 (individuals) 組成的的 人群(population)?。粋€個體對它的環境的適應程度由它的健康度(fitness)表示. 
一個個體在搜索空間里的參照物是用染色體(chromosomes)表示的,實際上那是一套字符串.一個基因?。╣ene)是染色體的一個片段,基因對被優化的單個參數進行編碼.對一個基因的典型的編碼可以是 二進制 (binary)或整數(integer)。 

通過仿真進化過程的重組?。╮ecombination)。突變?。╩utation),和選擇 (selection)找到新一代的搜索點,它們的平均健康度要比它們的祖先好. 

根據 "comp.ai.genetic" FAQ,我們不論怎么強調 GA 在解決一個問題時不是純隨機搜索都不過份.GA 使用隨機處理,但是結果明顯不是隨機的(比隨機更好). 

GA 結構化框圖:
---------------------------

P(t)    generation of ancestors at a time t
P''(t)  generation of descendants at a time t

+=========================================+
|>>>>>>>>>>>  Algorithm GA  <<<<<<<<<<<<<<|
+=========================================+
| INITIALIZE t := 0                       |
+=========================================+
| INITIALIZE P(t)                         |
+=========================================+
| evalute FITNESS of P(t)                 |
+=========================================+
| while not STOPPING CRITERION do         |
|   +-------------------------------------+
|   | P'(t)  := RECOMBINATION{P(t)}       |
|   +-------------------------------------+
|   | P''(t) := MUTATION{P'(t)}           |
|   +-------------------------------------+
|   | P(t+1) := SELECTION{P''(t) + P(t)}  |
|   +-------------------------------------+
|   | evalute FITNESS of P''(t)           |
|   +-------------------------------------+
|   | t := t + 1                          |
+===+=====================================+

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

Postgres 里的基因查詢優化(GEQO)
GEQO 模塊是試圖解決類似漫游推銷員問題(TSP)的查詢優化問題的.可能的查詢規劃被當作整數字串進行編碼.每個字串代表查詢里面一個關系到下一個關系的 join 的順序.例如,下面的查詢樹 
       //
      // 2
     // 3
    4  1
是用整數字串 '4-1-3-2' 編碼的,這就是說,首先聯接關系 '4' 和 '1',然后 '3',然后是 '2',這里的 1,2,3,4都是 Postgres 里的關系標識(relids)?!?
GEQO 模塊的一部分是采用的 D. Whitley 的 Genitor 算法. 

在 Postgres 里的 GEQO 實現的一些特性是: 

穩定狀態 (steady state) GA 的使用(替換全體中最小健康度的個體,而不是整代的替換)允許向改進了的查詢規劃快速逼近.這一點對在有效時間內處理查詢是非常重要的;
邊緣重組交叉 (edge recombination crossover ) 的使用特別適于在用GA 解決 TSP 問題時保持邊緣損失最低。
否決了把突變(Mutation)作為基因操作符的做法,這樣生成合法的 TSP 漫游時不需要修復機制.

與 Postgres 的查詢優化器實現相比較,GEQO 模塊對Postgres DBMS 有下面的貢獻: 
通過非完全搜索對大的 join?。摻樱┎樵冞M行操作;
改善了查詢規劃的開銷尺寸的近似值,因為不需要做規劃融合了(GEQO 模塊把查詢規劃的開銷當作一個個體來評估).

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

PostgresGEQO 未來的實現任務
基本改進
改進查詢處理完后的內存釋放
在處理大 join?。摻樱┎樵儠r,用于基因查詢優化的時間看來只是 Postgres 通過過程 MemoryContextFree(在文件 backend/utils/mmgr/mcxt.c 里)釋放內存的 一小部分(fraction).跟蹤調試顯示釋放內存的工作陷在文件 backend/utils/mmgr/oset.c 里的過程 OrderedElemPop 里的一個循環里了.在使用普通 Postgres 查詢優化算法處理長的查詢時也會產生這個問題.
改善基因算法參數設置
在文件 backend/optimizer/geqo/geqo_params.c 里的過程 gimme_pool_size 和 gimme_number_generations,我們在設置參數時不得不為兩個競爭條件做出折衷: 
查詢規劃的優化 
計算處理時間

尋找解決整數溢出的更好的辦法
在文件 backend/optimizer/geqo/geqo_eval.c 里的過程 geqo_joinrel_size,目前對防止 MAXINT 溢出的方法(hack)是把 Postgres 的整數值 rel->size to 設置為它的對數.對 backend/nodes/relation.h 里的 Rel 的變動顯然將嚴重影響整個 Postgres 的實現.
尋找解決內存耗盡的辦法
當一個查詢里的關系超過 10 個時將導致內存的耗盡.在文件 backend/optimizer/geqo/geqo_eval.c里的過程 gimme_tree 是被遞歸調用的.可能我忘記了正確地釋放某些東西了,但是我不知道是什么.當然 join 的rel 數據結構隨著更多的關系打包進入之后會越長越大.歡迎任何建議 :-(
參考
GEQ 算法的參考信息. 
The Hitch-Hiker's Guide to Evolutionary Computation, J亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久国产精彩视频美女艺术照福利| 91精品久久久久久久久久另类| 国产美女直播视频一区| 日韩一区av在线| 久久久国产视频91| 色老头一区二区三区在线观看| 最好看的2019的中文字幕视频| 亚洲深夜福利网站| 91在线播放国产| 亚洲视频网站在线观看| 欧美日韩亚洲视频| 九九热视频这里只有精品| 欧美激情视频免费观看| 国产亚洲精品美女久久久久| 欧美性xxxx极品高清hd直播| 日韩在线观看免费高清| 91性高湖久久久久久久久_久久99| 55夜色66夜色国产精品视频| 久久免费视频这里只有精品| www.久久久久久.com| 亚洲国产中文字幕久久网| 精品国产一区二区三区久久狼黑人| 成人激情视频在线观看| 欧美性受xxxx白人性爽| 久久精品久久精品亚洲人| 精品日韩美女的视频高清| 国产成人精品一区二区三区| 国产成人av在线| 国产自产女人91一区在线观看| 日韩精品在线视频美女| 欧美专区福利在线| 午夜精品福利电影| 成人日韩av在线| 亚洲自拍偷拍第一页| 国产高清视频一区三区| 亚洲成人黄色网| 亚洲永久免费观看| 国产精品1234| 亚洲成人国产精品| 欧美超级乱淫片喷水| 久久国产精品久久精品| 国产精品亚洲综合天堂夜夜| 国产婷婷色综合av蜜臀av| 久久影视电视剧免费网站清宫辞电视| 亚洲天堂免费在线| 国产成人精品一区二区三区| 最好看的2019年中文视频| 欧美精品18videosex性欧美| 成人欧美一区二区三区在线湿哒哒| 国产美女久久精品| 北条麻妃一区二区在线观看| 97精品国产97久久久久久春色| 久久精品视频一| 亚洲aaaaaa| 亲爱的老师9免费观看全集电视剧| 一区二区三区视频免费在线观看| 精品综合久久久久久97| 日韩成人在线视频| 一区二区三欧美| 中文字幕久久亚洲| 欧美日韩激情视频8区| 亚洲成人在线视频播放| 中文字幕亚洲一区在线观看| 国产激情久久久久| 国产午夜精品一区二区三区| 亚洲va久久久噜噜噜久久天堂| 欧美成人午夜剧场免费观看| 在线电影欧美日韩一区二区私密| 亚洲精品电影在线| 9.1国产丝袜在线观看| 日韩精品视频中文在线观看| 久久精品国产亚洲| 亚洲视频在线看| 国产精品成人国产乱一区| 久久久精品国产网站| 中文字幕亚洲专区| 国产精品香蕉国产| 日本精品性网站在线观看| 一本大道香蕉久在线播放29| 欧美激情2020午夜免费观看| 136fldh精品导航福利| 日韩av在线看| 欧美成人第一页| 欧美国产激情18| 国产精品久久久久久久久久新婚| 国产乱肥老妇国产一区二| 在线播放日韩欧美| 俺去啦;欧美日韩| 欧美一级淫片丝袜脚交| 欧美性猛交xxxx久久久| 亚洲午夜久久久久久久| 国产成人精品视频在线观看| 亚洲国产三级网| 成人综合国产精品| 欧美午夜影院在线视频| 欧美麻豆久久久久久中文| 日韩大片在线观看视频| 国产精品劲爆视频| 亚洲一级一级97网| 日韩美女视频中文字幕| 国产精品丝袜一区二区三区| 久久久久久久久爱| 久久久久久久久久久久久久久久久久av| 青青青国产精品一区二区| 日本精品久久中文字幕佐佐木| 啊v视频在线一区二区三区| 中日韩午夜理伦电影免费| 裸体女人亚洲精品一区| 国产亚洲一级高清| 国产精品久久久av| 国产成人精品久久亚洲高清不卡| 在线日韩欧美视频| 精品国产户外野外| 欧美高清在线播放| 奇米一区二区三区四区久久| 欧美孕妇与黑人孕交| 欧美寡妇偷汉性猛交| 国产欧亚日韩视频| www.久久久久| 久久综合88中文色鬼| 亚洲精品日韩在线| 91色视频在线导航| 久久久久久亚洲精品不卡| 超碰91人人草人人干| 96pao国产成视频永久免费| 国自产精品手机在线观看视频| 在线看国产精品| 国内免费久久久久久久久久久| 日本不卡高字幕在线2019| 在线观看国产精品淫| 国产97在线亚洲| 国产91av在线| 亚洲电影免费观看高清完整版在线| 日韩理论片久久| 欧美洲成人男女午夜视频| 日韩av在线导航| 欧美一级在线亚洲天堂| 国产精品日韩电影| 国产不卡视频在线| www.精品av.com| 国产精品丝袜白浆摸在线| 91美女片黄在线观| 狠狠躁夜夜躁久久躁别揉| 精品国产乱码久久久久久婷婷| 久久久综合av| 日韩欧美在线免费| 国产国语刺激对白av不卡| 久久99精品久久久久久噜噜| 亚洲无线码在线一区观看| 国语自产精品视频在线看抢先版图片| 欧美成人精品一区二区| 亚洲男人天堂手机在线| 亚洲国产美女久久久久| 丝袜美腿精品国产二区| 日韩精品免费在线| 全球成人中文在线| 色爱精品视频一区| 国产一区二区三区久久精品| 最新国产精品拍自在线播放| 2019亚洲日韩新视频| 国产精品精品视频一区二区三区| 欧美电影免费观看网站| 亚洲成人网av| 亚洲丝袜在线视频|