Upload
others
View
17
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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!
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
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
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.
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
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
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
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
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
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
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
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
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
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