22
http://www-dbs.inf.ethz.ch/~powerdb PowerDB PowerDB A Document Engine on a A Document Engine on a DB DB Cluster Cluster Torsten Torsten Grabs Grabs , , Klemens Böhm Klemens Böhm , Hans- , Hans- Jörg Schek Jörg Schek Institute of Information Systems Institute of Information Systems Swiss Federal Institute of Technology, Zurich Swiss Federal Institute of Technology, Zurich

PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

PowerDBPowerDB

A Document Engine on a A Document Engine on a DB DB ClusterCluster

TorstenTorsten Grabs Grabs, , Klemens BöhmKlemens Böhm, Hans-, Hans-Jörg SchekJörg SchekInstitute of Information SystemsInstitute of Information Systems

Swiss Federal Institute of Technology, ZurichSwiss Federal Institute of Technology, Zurich

Page 2: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

Our Vision

DB1 DB2 DB3 DB4

CoordinatorSecond Layer Transaction Management

Request DecompositionRequest Parallelization

DBMS1 DBMS2 DBMS3 DBMS4

Req

uest

s

Req

uest

s

Req

uest

s

Req

uest

s

Req

uest

s

DatabaseTransactions

Page 3: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

Motivation

Docu. Management

Parallelization

Transaction Mgmt.

Data Placement

System Architecture

Measurements

Conclusions

Motivation

• Current Problems for Search Engines [Kirsch 1998]:– query response time– size of index– cost of hardware– freshness of the data in the index

• Documents on the Intra-Nets: Contracts as XML-Documents– immediate availability of new documents

• PowerDB technology:– high parallelism: reduce response times– commodity HW/SW approach: reduce cost– semantic transaction management: decrease update window

→ Case Study News Search Engine

Page 4: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

• Documents from discussion groups:– author– subject– news body text

• Services offered:– insertion of a new document– retrieval of documents that qualify for (some) words

Document Management

ID Author Subject Body Text001 Beeri, Catriel DBPL-4 Queries, Languages…002 Schek, Hans-Jörg Transaction

ManagementConflicts,Serializability…

SubjectWord IDDatabase 001Transaction 002…

BodyWord IDSELECT 001Serializability 002…

Motivation

Doc. Management

Parallelization

Transaction Mgmt.

Data Placement

System Architecture

Measurements

Conclusions

Page 5: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

Parallelization

BOTInsert Into DOCS

Values(…)

Insert Into SUBJIDXValues(…)

Insert Into BODYIDXValues(…)

EOT

BOTInsert Into DOCS

Values(…)EOTBOTInsert Into SUBJIDX

Values(…)EOTBOTInsert Into BODYIDX

Values(…)EOT

Motivation

Doc. Management

Parallelization

Transaction Mgmt.

Data Placement

System Architecture

Measurements

Conclusions

Page 6: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

Transaction Management

T1 T2

InsertDocu RetrieveDocu

STA1,3 STA1,4 STA1,5 STA1,6 STA2,1 STA2,2 STA2,3 STA2,4

parallel parallel

CONFLICT

ComponentDBS1

ComponentDBS2

ComponentDBS3

RetrieveDocu

STA1,1 STA1,2

parallel

Serialization Order

Motivation

Doc. Management

Parallelization

Transaction Mgmt.

Data Placement

System Architecture

Measurements

Conclusions

Page 7: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

Data Placement

Motivation

Doc. Management

Parallelization

Transaction Mgmt.

Data Placement

System Architecture

Measurements

Conclusions

Routing

A B1 B2

Routing

A

B2

B1

A

B1

B2

A

B1

B2

data items withhash function value h1

data items withhash function value h2

data items withhash function value h3

A: relation A

B1: relation B1

B2: relation B2

Routing

A

B2

B1

A

B1

B2

A

B1

B2

(a) (b)

Routing

A B1B2

HASHLOC HASHCONS

MONOLITH DISTAB

Page 8: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

System Architecture

Motivation

Doc. Management

Parallelization

Transaction Mgmt.

Data Placement

System Architecture

Measurements

ConclusionsData Data Data Data

Requests

subtrans-actions

Databases:ORACLE 8.0.3

Middleware:Bea TUXEDO 6.1

MiddlewareExtensions

Coordinator

interconnection network

subtrans-actions

subtrans-actions

subtrans-actions

subtrans-actions

Page 9: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

MeasurementsFrom 1 component DBS to 4 component DBSs

Motivation

Doc. Management

Parallelization

Transaction Mgmt.

Data Placement

System Architecture

Measurements

Conclusions

Insertion Response Times

0.00

5.00

10.00

15.00

20.00

25.00

30.00

35.00

40.00

45.00

50.00

(1,1) (5,5) (10,10)

Workload (Concurrent Client Streams)

Seco

nds

per

Doc

. Ins

ertio

n

MONOLITH (1 DBS)

DISTAB (4 DBSs)

HASHLOC (4 DBSs)

HASHCONS (4 DBSs)

•Retrieval response times behave alike!

Page 10: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

Measurements:Coordinator Scalability

Coordinator

SchedulingConflict Test

Insertion:Delay 2.0s

Requests LOG-File

TUXEDO Processes

Retrieval:Delay 0.5s

Coordinator Response Times - Rudimentary Setup

0

0.5

1

1.5

2

2.5

3

(10,10) (20,20) (30,30) (40,40) (50,50)

Mixed Workload (Concurrent Client Streams)

Seco

nds

per

serv

ice

InsertionRetrieval

Motivation

Doc. Management

Parallelization

Transaction Mgmt.

Data Placement

System Architecture

Measurements

Conclusions

Page 11: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

Conclusions

• Document management with PC clusters is a good idea– speed-up by an order of magnitude from 1 to 4 component DBSs

• Problems solved:– response time speed-up– hardware cost– freshness of the data in the index

• Architectural propositions:– HASHLOC or HASHCONS have provided best response time results

• Concurrency control and logging at the coordinator is not abottleneck

Motivation

Doc. Management

Parallelization

Transaction Mgmt.

Data Placement

System Architecture

Measurements

Conclusions

Page 12: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

Bibliography

J. Gray: Super-Servers - Commodity Computer Clusters Pose aSoftware Challenge, BTW 1995.

Inktomi Corp.: The Inktomi Technology behind HotBot. TechnicalReport of Inktomi Corp., 1996.

M. Kamath and K. Ramamritham: Efficient Transaction Supportfor Dynamic Information Retrieval Systems, SIGIR 1996.

H. Kaufmann and H.-J. Schek: Extending TP-Monitors for Intra-Transaction Parallelism, PDIS 1996.

S. Kirsch: Infoseek‘s Experiences Searching the Internet. SIGIRForum 32(2), 1998.

Page 13: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

RDBMS Mapping (I)

• Insertion service:integer InsertDocu(text)

• Single DBMS SQL transaction for insertion service

BOT...Insert into DOCS values (id1, author1, text1);Insert into INDEX1 values (id1, t1);Insert into INDEX2 values (id1, t2);...EOT

Motivation

Doc. Management

Parallelization

Transaction Mgmt.

Data Placement

System Architecture

Measurements

Conclusions

Page 14: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

RDBMS Mapping (II)

• Retrieval service:{doctitles} RetrieveDocu({(field, term)})

• Single DBMS SQL transaction for retrieval service

BOT...Select * from DOCS where(Select * from INDEX1 where term = t1)Intersect(Select * from INDEX1 where term = t2);...EOT

Motivation

Doc. Management

Parallelization

Transaction Mgmt.

Data Placement

System Architecture

Measurements

Conclusions

Page 15: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

Transaction Management: Implementation

• Service invocation represented by bitstring signature• Bit is set iff a term occurs in doctext or query, resp.• Conflicts only between insertion and retrieval (and vice-versa)• Efficient signature checking to detect conflicts:

CON ⇒ sigInsertDocu ∧ sigRetrieveDocu = sigRetrieveDocu• „False drops“ possible• Two-phase locking protocol for signatures: not database pages

locked but signatures• Conflicts lead to sequential service execution

Motivation

Doc. Management

Parallelization

Transaction Mgmt.

Data Placement

System Architecture

Measurements

Conclusions

Page 16: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

Transaction Management: Implementation

T1 T2

RetrieveDocu(t1, t2) InsertDocu(text) InsertDocu(text)

sig: 0000.0011

sig: 1001.0000

sig: 1001.0011

SerializationSerialization

CONCON

STOPGO GOMotivation

Doc. Management

Parallelization

Transaction Mgmt.

Data Placement

System Architecture

Measurements

Conclusions

Page 17: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

Prototype System Components• Software

– „Cluster System Glue“ -- Bea Sys. TUXEDO•remote service invocation•buffered data transmission•no XOpen/XA features used

– Database Servers -- ORACLE 8.0.3– Windows NT 4.0 Server– Proprietary imlementations:

•database mapping•service decomposition and parallelization•semantic transaction management

• Hardware– 266 MHz Pentium PCs– 2 Disks: IDE, SCSI

Motivation

Doc. Management

Parallelization

Transaction Mgmt.

Data Placement

System Architecture

Measurements

Conclusions

Page 18: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

Measurements• Prototype System: dimensions of the measurements

– data placement– number of component databases: 1, 2, 4 component DBSs– workload: multi-programming degree (#retriever, #inserter)

•namely: (1,1) - (5,5) - (10,10)• Simulation Studies: bottleneck tests for coordinator

– coordinator is centralized– scalability tests in different setups with up to (50,50) clients

•Full Setup: as discussed previously•Reduced Setup: application spec. operations at coordinator•Rudimentary Setup

–DB components switched off–but: no application specific operations at coordinator

Motivation

Doc. Management

Parallelization

Transaction Mgmt.

Data Placement

System Architecture

Measurements

Conclusions

Page 19: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

MeasurementsFrom 1 component DBS to 4 component DBSs

Motivation

Doc. Management

Parallelization

Transaction Mgmt.

Data Placement

System Architecture

Measurements

Conclusions

Retrieval Response Times

0.00

1.00

2.00

3.00

4.00

5.00

6.00

7.00

8.00

9.00

(1,1) (5,5) (10,10)

Workload (Concurrent Client Streams)

Seco

nds

per

retr

ieva

l req

uest

MONOLITHDISTABHASHLOCHASHCONS

Page 20: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

Measurements

Full configuration: insertion speed-up from 1 to 4 component DBSsPlacement /Workload

DISTAB HASHLOC HASHCONS

(1,1) 2.8 2.5 3.1(5,5) 4.2 6.3 6.1(10,10) 6 12 11.2

Full configuration: retrieval speed-up from 1 to 4 component DBSsPlacement /Workload

DISTAB HASHLOC HASHCONS

(1,1) 2.7 2.7 2.5(5,5) 2.5 6.4 5.3(10,10) 2.5 15 13

Motivation

Doc. Management

Parallelization

Transaction Mgmt.

Data Placement

System Architecture

Measurements

Conclusions

Page 21: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

Full Setup

Motivation

Doc. Management

Parallelization

Transaction Mgmt.

Data Placement

System Architecture

Measurements

Conclusions

Coordinator

InsertDocu

SchedulingConflict Test

RetrieveDocu

Insertion Requests(via TUXEDO)

ORACLE

Component 1

ORACLE

MINSDOC

MRETDOC

Component 2

ORACLE

MINSDOC

MRETDOC

LOG-File

TUXEDO Processes

Page 22: PowerDB A Document Engine on a DB Clusterjimgray.azurewebsites.net/hpts99/talks/grabs_thorsten.pdf · PowerDB A Document Engine on a DB Cluster Torsten Grabs, Klemens Böhm, ... Our

http://www-dbs.inf.ethz.ch/~powerdb

Rudimentary Setup: ResultsCoordinator Response Times - Rudimentary Setup

0

0.5

1

1.5

2

2.5

3

(10,10) (20,20) (30,30) (40,40) (50,50)

Mixed WorkloadSe

cond

s pe

r se

rvic

e

InsertionRetrieval

Coordinator Throughput - Rudimentary Setup

0

5

10

15

20

25

30

35

40

45

50

(10,10) (20,20) (30,30) (40,40) (50,50)

Mixed Workload

Serv

ices

per

sec

ond

InsertionRetrieval

Motivation

Doc. Management

Parallelization

Transaction Mgmt.

Data Placement

System Architecture

Measurements

Conclusions