38
1/38 111/08/22 DBLAB @ NTOU XML XML 資資資資資資資資資資資資 資資資資資資資資資資資資 Group-by and Order-by Query Group-by and Order-by Query Processing for XML data Processing for XML data 資資資資 資資資資 : : 資資資 資資 資資資 資資 資資資 資資資 : : 資資資 資資資

XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

  • Upload
    asabi

  • View
    105

  • Download
    5

Embed Size (px)

DESCRIPTION

XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data. 指導教授 : 張雅惠 博士 研究生 : 黃治中. 大綱. 背景說明 資料結構 系統架構 實驗 結論與未來方向. 背景說明. 目前分群處理的方法 用 XQuery 實作 Group-By Query 利用巢狀結構 grouping 語法 效能好,但是需要將 XML 文件整份輸入 研究目的 如何在 grouping 語法中,加快 Group-By 處理速度. - PowerPoint PPT Presentation

Citation preview

Page 1: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

1/38112/04/21 DBLAB @ NTOU

XMLXML 資料分群與排序查詢之研究資料分群與排序查詢之研究Group-by and Order-by Query Processing for Group-by and Order-by Query Processing for XML dataXML data

指導教授指導教授 :: 張雅惠 博士張雅惠 博士

研究生研究生 :: 黃治中黃治中

Page 2: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

2/38112/04/21 DBLAB @ NTOU

大綱 背景說明 資料結構 系統架構 實驗 結論與未來方向

Page 3: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

3/38112/04/21 DBLAB @ NTOU

背景說明 目前分群處理的方法

用 XQuery 實作 Group-By Query 利用巢狀結構

grouping 語法 效能好,但是需要將 XML 文件整份輸入

研究目的 如何在 grouping 語法中,加快 Group-By 處理速度

FOR $i IN distinct-values(document(“ catalog.xml” ))//Year)RETURN { $i } { FOR $a IN distinct-values((document(“ catalog.xml” )//Name) WHERE $i = $a/Year RETURN $a/Price { $a } { FOR $b IN document(“ bib.xml” )//Book WHERE $a = $b/Name RETURN $b/#Sold } }

XQuery

group //Bookby //Name return ( //Name, //Price) then by /Year return ( /Year, //#Sold ) )

grouping語法

Page 4: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

4/38112/04/21 DBLAB @ NTOU

XML 樹 (with extended dewey encoding)

Catalog

Subject

Title Author YearPrice

Publisher

Name Location

McGraw-Hill NY

Name Book Book

DatabasesSystem

Database

Johnson $50

#Sold

1200 1997

Title Author YearPrice

Advanced Database Systems

Johnson $60

#Sold

700 2005

Subject

Title Author YearPrice

Publisher

Name Location

Thomson LA

Name Book Book

Data Networks

Network

Jeff $50

#Sold

1500 2005

Title Author YearPrice

FDDI Networking

Tim $60

#Sold

1200 2005

(1)

(1.1) (1.2)

(1.1.1) (1.1.2) (1.1.3)(1.2.1) (1.2.2) (1.2.3)

(1.1.3.1) (1.1.3.2) (1.1.3.4) (1.2.3.1) (1.2.3.2) (1.2.3.4)

(1.1.3.2.1) (1.1.3.2.2) (1.1.3.2.3) (1.1.3.2.4) (1.1.3.2.5) (1.1.3.3.1) (1.1.3.3.2) (1.1.3.3.3)(1.1.3.3.4) (1.1.3.3.5) (1.2.3.2.1) (1.2.3.2.2)(1.2.3.2.3) (1.2.3.2.4) (1.2.3.2.5) (1.2.3.3.1)(1.2.3.3.2)(1.2.3.3.3) (1.2.3.3.4) (1.2.3.3.5)

Page 5: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

5/38

<!ELEMENT Catalog (Publisher*)><!ELEMENT Publisher (Name, Location, Subject*)><!ELEMENT Subject (Name, Book*)><!ELEMENT Book (Title, Author+, Price, Sold, Year)><!ELEMENT Author (Name, City)><!ELEMENT City (#PCDATA)><!ELEMENT Name (#PCDATA)><!ELEMENT Location (#PCDATA)><!ELEMENT Title (#PCDATA)><!ELEMENT Price (#PCDATA)><!ELEMENT Sold (#PCDATA)><!ELEMENT Year (#PCDATA)>

112/04/21 DBLAB @ NTOU

Master Entity 若一個元素在 DTD 的定義中為一個 “ * ” ,則稱其為

Entity Master Entity: 針對一個 XML 中的元素 N ,若節點 A 是

N 的祖先,為一個實體,且離此節點最近且包含自己,則稱此節點 A 為節點 N 的 Master Entity

Catalog

Subject

Title Author YearPrice

Publisher

Name Location

McGraw-Hill NY

Name Book Book

DatabasesSystem

Database

Johnson $50

#Sold

1200 1997

Title Author YearPrice

Advanced Database Systems

Johnson $60

#Sold

700 2005

Subject

Title Author YearPrice

Publisher

Name Location

Thomson LA

Name Book Book

Data Networks

Network

Jeff $50

#Sold

1500 2005

Title Author YearPrice

FDDI Networking

Tim $60

#Sold

1200 2005

Page 6: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

6/38112/04/21 DBLAB @ NTOU

Group-By Query 的語法 Group-By Query 分類

Group-By 語法是由“ Extending XQuery for Analytics” 論文所提出

Group-By 語法 - 分成 (α 、 β 、 λ 、 ε 、 ω 、 γ) 節點 α ( 基準運算式 ) - for 子句 β ( 分群運算式 ) - group by 和 then by 子句 λ ( 限制運算式 ) - having 子句 ε ( 排序運算式 ) - order by 子句 ω ( 基準運算式 ) - rank 子句 γ ( 回傳運算式 ) - return 子句 L01 for //Book

L02 group by //Price order by //Price return (

L03 //Price, //Author

L04 then by //Year

L 05 having avg(#Sold)> 1400 rank > 1 return (

L06 //Year, avg(#Sold)

L07 ) )

Page 7: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

7/38

Answer Tree Template 根節點( Root ) : 我們以 XML 文件的根節點標籤 子樹根節點( Subtree Root ) : 將每一層 β 運算式內所有

的標籤串接起來,最後加上“ -group” 樹葉節點( Leaf Node ) : 樹葉節點對應到 β 和 γ 運算式

,其下虛線為對應的元素內容

...

Root

Subtree Root

LN LN Nested Subtree Root

LN LN

Subtree Root

LN LN Nested Subtree Root

LN LN

DBLAB @ NTOU112/04/21

Page 8: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

8/38112/04/21 DBLAB @ NTOU

Answer Tree 結構Catalog

Subject

Title Author YearPrice

Publisher

Name Location

McGraw-Hill NY

Name Book Book

DatabasesSystem

Database

Johnson $50

#Sold

1200 1997

Title Author YearPrice

Advanced Database Systems

Johnson $60

#Sold

700 2005

Subject

Title Author YearPrice

Publisher

Name Location

Thomson LA

Name Book Book

Data Networks

Network

Jeff $50

#Sold

1500 2005

Title Author YearPrice

FDDI Networking

Tim $60

#Sold

1200 2005

L01 for //Book

L02 group by //Price order by //Price return (

L03 //Price, //Author

L04 then by //Year

L 05 having avg(#Sold)> 1400 rank > 1 return (

L06 //Year, avg(#Sold)

L07 ) )

Catalog

Book-group

Price

Book-group

50

Author

Johnson

Author

Jeff

Year-group Year-group

Year

1997

avg(#Sold)

1200

Year

2005

avg(#Sold)

1500

Price

60

Author

Johnson

Author

Tim

Year-group

Year

2005

avg(#Sold)

950

XML Tree

Answer Tree

Query

Page 9: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

9/38112/04/21 DBLAB @ NTOU

資料結構 - 索引結構 元素編碼表( EC-Table)

延伸杜威編碼 主實體延伸杜威編碼 屬性

內容索引 (Value-Index) 相同標籤的元素值收集起來,索引以 Value 為 Key , Master

Entity Deweyid 為 Value

McGraw-Hill

Name

Network

Database

1.1.3

McGraw-Hill

1.1

Network

1.2.3

Thomson

1.2

Page 10: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

10/38112/04/21 DBLAB @ NTOU

資料結構 - 索引結構 ( 續 )

主實體索引 (Master Entity-Index) 相同標籤的元素值收集起來,索引以Master Entity 為 Key,元素的 Value 為 Value

1.1.3

Name

1.2

1.1

McGraw-Hill

1.1.3

Database

1.2

Thomson

1.2.3

Network

Page 11: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

11/38112/04/21 DBLAB @ NTOU

ABList結構 用以紀錄處理完分群運算和排序運算的結果, ABList 是由一個個

ABNode 所串接起來 TagValueList: 每層 query裏的分群運算式標籤和內容值 Master List:記錄符合該 Tag-Value 限制的元素 sibling ptr:同層 query所產生的 ABNode連接 nest ptr:連接到下一層 query所產生的 ABList 的第一個節點

TagValueList

Master List

nest ptr sibling ptr

Price 50

1.1.3.2

Year 1997

Subject

Title Author YearPrice

Publisher

Name Location

McGraw-Hill NY

Name Book

DatabasesSystem

Database

Johnson $50

#Sold

1200 1997

(1.1)

(1.1.1) (1.1.2) (1.1.3)

(1.1.3.1) (1.1.3.2)

(1.1.3.2.1) (1.1.3.2.2) (1.1.3.2.3) (1.1.3.2.4) (1.1.3.2.5)

Page 12: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

12/38

系統架構 Parse Query 模組

使用者輸入一個 Group-By Query,建立 Query List

BuildABList 模組 對 Query List 中的每層 Query ,

去處理排序運算式( ω )和分群運算式( β )

CreateAnswerTree 模組 依據 ABList 的結構建立 Answer

Tree ProcessHavingConstraint 模組

依據 Query List 裡面的每一個限制運算式,刪除 Answer Tree 裏不符合限制的子樹

ProcessRankConstraint 模組 刪除不符合 Rank 限制的子樹

112/04/21 DBLAB @ NTOU

Value-Index

V1

Vm

V2

Master Entity-Index

E1

Em

E2

BuildABList

Parse Query

Input Query

QueryList

CreateAnswerTree( Calculate agg )

AllByList

ProcessHavingConstraint

ProcessRankConstraint

AnswerTree

AnswerTree with having

Result

Page 13: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

13/38112/04/21 DBLAB @ NTOU

系統架構 - 建立索引

針對 XML資料建立索引 元素內容的資訊建立於內容

索引 (Value-Index ) 針對每個標籤的主索引和元素值建立主實體索引 (Master Entity Index)

Value-Index

V1

Vm

V2

Master Entity-Index

E1

Em

E2

BuildABList

Parse Query

Input Query

QueryList

CreateAnswerTree( Calculate agg )

AllByList

ProcessHavingConstraint

ProcessRankConstraint

AnswerTree

AnswerTree with having

Result

Page 14: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

14/38112/04/21 DBLAB @ NTOU

系統架構 -Parse Query 模組

將使用者輸入之 XQuery 查詢句建立 QList

依巢狀結構切割成一個個的QueryNode

Value-Index

V1

Vm

V2

Master Entity-Index

E1

Em

E2

BuildABList

Parse Query

Input Query

QueryList

CreateAnswerTree( Calculate agg )

AllByList

ProcessHavingConstraint

ProcessRankConstraint

AnswerTree

AnswerTree with having

Result

Page 15: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

15/38112/04/21 DBLAB @ NTOU

QList QList

將使用者所輸入的查詢句,依巢狀結構切割成一個個的 QueryNode 同一層 group by or then by 子句得到分群運算式,該運算式也在排

序運算式中 ,會把該資料儲存在 β 中,但另外標示 “ order” return 子句得到回傳運算式,若該運算式也在分群運算式中,則資

料只會儲存在 QueryNode 的 β 中

L01 for //Book

L02 group by //Price order by //Price return (

L03 //Price, //Author

L04 then by //Year

L 05 having avg(#Sold)> 1400 rank > 1 return (

L06 //Year, avg(#Sold)

L07 ) )

outer nest0

α

β

γλ

ε

XPath

α

//Price

//Author

XPath

order β

γλ

ε

//Yearavg(#Sold)

order//Price

1

avg(#Sold) > 1400>

Page 16: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

16/38112/04/21 DBLAB @ NTOU

系統架構 - 建立 ABList 模組

以 QueryList 建立 ABList 建立同層的 ABList 建立同層的 ABList- 改善 建立祖先的 ABList 建立子孫的 ABList

Value-Index

V1

Vm

V2

Master Entity-Index

E1

Em

E2

BuildABList

Parse Query

Input Query

QueryList

CreateAnswerTree( Calculate agg )

AllByList

ProcessHavingConstraint

ProcessRankConstraint

AnswerTree

AnswerTree with having

Result

Page 17: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

17/38

112/04/21

DBLAB @ NTOU

建立同層的 ABList

for //Bookgroup by //Price, //Year return ( //Price, Year, #Sold )

Price 50

1.1.3.2

Price 60

1.2.3.4

Year 1997

1.1.3.2

Year 2005

1.1.3.4

//Price

1.2.3.4

1.1.3.41.2.3.2

1.2.3.2

MatchListPrice 50

1.1.3.2

Year 1997

112/04/21

NotMatchList

1.2.3.2

//Year

Price 50

1.1.3.2

Year 1997

MatchNode

Page 18: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

18/38

112/04/21

DBLAB @ NTOU

建立同層的 ABList

for //Bookgroup by //Price, //Year return ( //Price, Year, #Sold )

Price 50 Price 60

1.2.3.4

Year 2005

1.1.3.4

//Price

1.2.3.4

1.1.3.41.2.3.2

1.2.3.2

MatchListPrice 50

1.1.3.2

Year 1997

112/04/21

NotMatchList

//Year

Price 50

1.2.3.2

Year 2005

MatchNode

Price 50

1.2.3.2

Year 2005

Page 19: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

19/38

112/04/21

DBLAB @ NTOU

建立同層的 ABList

for //Bookgroup by //Price, //Year return ( //Price, Year, #Sold )

Price 60

1.2.3.4

Year 2005

1.1.3.4

//Price

1.2.3.4

1.1.3.4

MatchListPrice 50

1.1.3.2

Year 1997

112/04/21

NotMatchList

//Year

Price 60

1.1.3.4

Year 2005

MatchNode

Price 50

1.2.3.2

Year 2005

1.2.3.4

Price 60

1.1.3.4

Year 2005

1.2.3.4

Page 20: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

20/38

建立同層的 ABList- 改善

112/04/21 DBLAB @ NTOU

Price 50

1.1.3.2

Price 60

1.2.3.41.1.3.41.2.3.2

Master Entity-Index

E1

Em

E2

Price 50

1.1.3.2

Year 1997

Price 50

1.2.3.2

Year 2005

Price 60

1.1.3.4

Year 2005

1.2.3.4

MatchList

//Price

編碼對應到 Year 的內容

1.1.3.21.2.3.21.1.3.41.2.3.4

1997200520052005

Page 21: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

21/38112/04/21 DBLAB @ NTOU

建立祖先的 ABList

for //Bookgroup by //Price, //anc::Subject/Name return ( //Price, //anc::Subject/Name, //Name ) )

Price 50

1.1.3.2

Price 60

1.2.3.4

Name Database

1.1.3

//Price

1.1.3.41.2.3.2

Price 50

1.1.3.2

Tag Database

Price 60

1.2.3.2

Tag Network

Price 50

1.1.3.4

Tag Database

MatchList

anc::Subject/Name

Name Network

1.2.3

Price 60

Tag Network

1.2.3.4

節點內的 Tag 代表 anc::Subject/Name

Page 22: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

22/38112/04/21 DBLAB @ NTOU

建立子孫的 ABList

for //Subjectgroup by //Name, dec::/Book/Price return ( //Name, dec::/Book/Price , //Title ) )

Name Database

1.1.3

Name Network

1.2.3

Price 50

1.1.3.2

Price 60

1.1.3.4

//Name

dec::/Book/Price

1.2.3.2

MatchList

1.2.3.4

Name Database

1.1.3.2

Price 50

Name Database

1.1.3.4

Price 60

Name Network

1.2.3.2

Price 50

Name Network

1.2.3.4

Price 60

Page 23: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

23/38112/04/21 DBLAB @ NTOU

系統架構 - 建立答案樹

將 ABList轉成 Answer Tree 建立 Return 節點 計算 Return 節點是

Aggregation結果

Value-Index

V1

Vm

V2

Master Entity-Index

E1

Em

E2

BuildABList

Parse Query

Input Query

QueryList

CreateAnswerTree( Calculate agg )

AllByList

ProcessHavingConstraint

ProcessRankConstraint

AnswerTree

AnswerTree with having

Result

Page 24: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

24/38112/04/21 DBLAB @ NTOU

建立答案樹( Answer Tree )Price 50 Price 60

1.1.3.41.1.3.2

Year 1997

1.1.3.2

Year 2005

1.2.3.2

Year 2005

1.1.3.4

1.2.3.2 1.2.3.4

1.2.3.4Master

Entity-Index

E1

Em

E2Catalog

Book-group

Price

Book-group

50

Author

Johnson

Author

Jeff

Year-group Year-group

Year

1997

avg(#Sold)

1200

Year

2005

avg(#Sold)

1500

Price

60

Author

Johnson

Author

Tim

Year-group

Year

2005

avg(#Sold)

950

outer nest0

α

β

γλ

ε

XPath

α

//Price

Author

XPath

order β

γλ

ε

//Yearcount(*)

order//Price

1

avg(#Sold) > 1400>

Answer Tree

ABList

QList

Index

Page 25: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

25/38112/04/21 DBLAB @ NTOU

系統架構 - 處理 Having 限制

依 QList處理每一棵子樹的Having限制

Value-Index

V1

Vm

V2

Master Entity-Index

E1

Em

E2

BuildABList

Parse Query

Input Query

QueryList

CreateAnswerTree( Calculate agg )

AllByList

ProcessHavingConstraint

ProcessRankConstraint

AnswerTree

AnswerTree with having

Result

Page 26: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

26/38112/04/21 DBLAB @ NTOU

處理 Having 限制

Catalog

Book-group

Price

Book-group

50

Author

Johnson

Author

Jeff

Year-group Year-group

Year

1997

avg(#Sold)

1200

Year

2005

avg(#Sold)

1500

Price

60

Author

Johnson

Author

Tim

Year-group

Year

2005

avg(#Sold)

950

Page 27: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

27/38112/04/21 DBLAB @ NTOU

系統架構 - 處理 Rank 限制

處理 Rank ,以傳回前 N 筆資料

Value-Index

V1

Vm

V2

Master Entity-Index

E1

Em

E2

BuildABList

Parse Query

Input Query

QueryList

CreateAnswerTree( Calculate agg )

AllByList

ProcessHavingConstraint

ProcessRankConstraint

AnswerTree

AnswerTree with having

Result

Page 28: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

28/38112/04/21 DBLAB @ NTOU

處理 Rank 限制

Catalog

Book-group

Price

Book-group

50

Author

Johnson

Author

Jeff

Year-group Year-group

Year

1997

#Sold

1200

Year

2005

#Sold

1500

Price

60

Author

Johnson

Author

Tim

Year-group

Year

2005

#Sold

700

#Sold

1200

Page 29: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

29/38112/04/21 DBLAB @ NTOU

實驗 實驗環境

CPU : Core 2 Quad 6600 CPU 的每一顆核心時脈是 2.4 GHz 記憶體 : 4 GB 作業系統 : Windows Server 2003 實作工具 : Visual C++ 2008

比較系統 本論文的系統 : Index 和 Index1 [GGKL+07] 中 NGB_Disk 之作法 : 稱作 Scan

Data Set DBLP 大小約 100MB左右 XMark 大小約 100MB左右

Page 30: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

30/38112/04/21 DBLAB @ NTOU

各模組時間分析 BuildABList 模組

主要將使用者 XQuery 查詢句建立成 ABList 以 BuildABList Time 紀錄

CreateAnswerTree 模組 主要將 ABList 轉成 AnswerTree 抓取回傳運算式資料 以 CreateTree Time 紀錄

計算 Aggregation 時間 Calculate AggTime

ProcessHavingConstraint 和 ProcessRankConstraint 模組 Having 限制式處理時間 Rank 限制式處理時間 以 ProcessHavingTime 紀錄

Page 31: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

31/38112/04/21 DBLAB @ NTOU

限制 Return運算式數量影響 控制回傳結點數量 , 分別為 1 、 2 、 3 、 4

和 5for //proceedingsgroup by //year return ( //year,//title,//booktitle,//url,//editor

0

1

2

3

4

5

6

7

8

Q1 Q2 Q3 Q4 Q5

Scan

Index

Page 32: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

32/38112/04/21 DBLAB @ NTOU

分群運算式數量影響 控制 β 運算式之數量 , 分別為 1 、 2 、 3 、 4

for //proceedingsgroup by //year,//author return ( //year,//author,//journal )

0

2

4

6

8

10

12

14

Q1 Q2 Q3 Q4

Scan

Index

Index1

Page 33: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

33/38112/04/21 DBLAB @ NTOU

Nested 層數量影響 控制 Nested 層數量 , 分別為

1 、 2 、 3 、 4 for //proceedingsgroup by //year return ( //year,//booktitle thenby //title return ( //title,//volume ) )

0

2

4

6

8

10

12

14

Q1 Q2 Q3 Q4

Scan

Index

Page 34: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

34/38112/04/21 DBLAB @ NTOU

Selective 高低數量影響 控制 Selective 高低 , 分別為 author 、 booktitle 、和 pages

for //proceedingsgroup by //author return ( //author,//title,//volume )

3100

3150

3200

3250

3300

3350

3400

3450

3500

Q1 Q2 Q3

Selective數量

0

1

2

3

4

5

6

7

8

Q1 Q2 Q3

Scan

Index

Page 35: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

35/38112/04/21 DBLAB @ NTOU

Complex Query 影響 Q1: 處理 Query having 、 rank 、和 aggregation Q2: 回傳結點 min ( Year ) Q3: having //min ( Year ) > 2003 Q4: rank < 100

0

2

4

6

8

10

12

Q1 Q2 Q3 Q4

Scan

Index

Page 36: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

36/38112/04/21 DBLAB @ NTOU

不同結構限制影響 Q1: 一個 β 為 α 的祖先 Q2: 兩個 β 為 α 的祖先 Q3: 兩個 β 為 α 的子孫 Q4: 一個 β 為 α 的祖先和一個 β 為 α 的子孫

0

1

2

3

4

5

6

7

8

9

Q1 Q2 Q3 Q4

Scan

Index

Page 37: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

37/38112/04/21 DBLAB @ NTOU

結論與未來方向 提出的 ABList 結構和建立 ABList 演算法,使得 Query

可以處理 Order-By 、 Rank 限制 未來的研究方向

可以針對分群查詢句中的 γ 運算式做更快速的擷取 考慮分群查詢處理的最佳化。

Page 38: XML 資料分群與排序查詢之研究 Group-by and Order-by Query Processing for XML data

38/38112/04/21 DBLAB @ NTOU

The End Thank you!