• No results found

Database Scalability with Parallel Databases

N/A
N/A
Protected

Academic year: 2021

Share "Database Scalability with Parallel Databases"

Copied!
61
0
0

Loading.... (view fulltext now)

Full text

(1)

http://www.parelastic.com/

Database Scalability

with Parallel Databases

Boston MySQL Meetup

(2)

http://www.parelastic.com/

What should I do while you

yabber along for 1 hour?

1. Eat Pizza …

2. Ask questions, and keep me honest

3. Tweet about us, include #parelastic or

(3)

http://www.parelastic.com/

The background

December 10, 2012 3

CDN

CDN

We try very hard to avoid hitting the database

But there are times when you cannot avoid it!

Application

Cache

database

(4)

http://www.parelastic.com/

December 10, 2012 4

Why?

(5)

http://www.parelastic.com/

Some alternatives

Scale Up

Scale Out

(6)

http://www.parelastic.com/

Viability of scale-up (1)

December 10, 2012 6

0

1000

2000

3000

4000

5000

6000

7000

Small

Large

Xlarge

2XLarge

4XLarge

tpmC

RDS Instance Size

Measured tpmC on Amazon RDS

Source: Amazon RDS TPC-C Benchmark. Md. Borhan Uddin, Bo He, Radu Sion,

Cloud Computing Center, SUNY Stony Brook.

Viewed online http://digitalpiglet.org/research/sion2010cloud-rds.pdf

(7)

http://www.parelastic.com/

Viability of scale-up (2)

December 10, 2012 7

Source: Amazon RDS TPC-C Benchmark. Md. Borhan Uddin, Bo He, Radu Sion,

Cloud Computing Center, SUNY Stony Brook.

Viewed online http://digitalpiglet.org/research/sion2010cloud-rds.pdf

(8)

http://www.parelastic.com/

Database Scale Out: It’s been around!

[1986] The Case for Shared

Nothing (Michael

Stonebraker)

[1991] Parallel database

systems: the future of high

performance database

systems (David Dewitt, Jim

Gray)

[2004] MapReduce:

simplified data processing

on large clusters (Jeffrey

Dean, Sanjay Ghemawat)

[1984] Teradata releases

the world's first parallel

data warehouses and

data marts.

[1997] Teradata customer

creates world's largest

production database at

24 terabytes.

[2001-3] Netezza, Vertica,

Greenplum, Datallegro, …

[2004] MapReduce

[2010] ParElastic

(9)

http://www.parelastic.com/

What is a parallel database?

A system that seeks to improve performance

through the parallelization of various operations

such as scanning, restriction, aggregation,

sorting, loading, index management, and system

recovery.

Typically based on the “Shared Nothing”

architecture

Shared disk is also common

Shared memory is less common

Often for Analytics (Netezza, Vertica, …)

But not always (Oracle Exadata)

(10)

http://www.parelastic.com/

A “shared-nothing” parallel database

December 10, 2012 10

Application

Application

Application

Application

Application

database

slice 1

database

slice 2

database

slice 3

database

slice 4

database

slice 5

database

slice 6

Query Orchestration

System

Management

Transaction

Management

Parser &

Planner

System

Metadata

(11)

http://www.parelastic.com/

da

taba

se

slice 3

da

taba

se

slice 1

da

taba

se

slice 2

How it works: The scenario

(12)

http://www.parelastic.com/

da

taba

se

slice 3

da

taba

se

slice 1

da

taba

se

slice 2

How it works: The scenario

December 10, 2012 12

Customer (CID, Name)

(13)

http://www.parelastic.com/

da

taba

se

slice 3

da

taba

se

slice 1

da

taba

se

slice 2

How it works: The scenario

December 10, 2012 13

Customer (CID, Name)

Items (IID, Name)

(14)

http://www.parelastic.com/

da

taba

se

slice 3

da

taba

se

slice 1

da

taba

se

slice 2

How it works: The scenario

December 10, 2012 14

Customer (CID, Name)

Orders(OID, CID, IID)

Items (IID, Name)

(15)

http://www.parelastic.com/

da

taba

se

slice 3

da

taba

se

slice 1

da

taba

se

slice 2

How it works: The scenario

December 10, 2012 15

CID

Name

1 Abel 4 Dave 7 Grace 10 Julia

OID

CID

IID

1002 1 101 1006 1 102 1007 7 102 1011 7 106 1014 10 104 1014 10 101

IID Name

101 Cup 104 Plate

CID

Name

2 Baker 5 Ed 8 Henry 11 Kim

OID

CID

IID

1001 2 103 1005 8 102 1009 2 101 1010 5 105 1013 11 105 1015 8 105

IID Name

102 Bowl 105 Spoon

CID

Name

3 Charles 6 Fred 9 Ivan 12 Louis

OID

CID

IID

1003 6 102 1004 3 103 1008 9 101 1012 3 104 1016 12 103 1017 9 104

IID Name

103 Fork 106 Knife

(16)

http://www.parelastic.com/

da

taba

se

slice 3

da

taba

se

slice 1

da

taba

se

slice 2

How it works: The scenario

December 10, 2012 16

CID

Name

1 Abel 4 Dave 7 Grace 10 Julia

OID

CID

IID

1002 1 101 1006 1 102 1007 7 102 1011 7 106 1014 10 104 1014 10 101

IID Name

101 Cup 104 Plate

CID

Name

2 Baker 5 Ed 8 Henry 11 Kim

OID

CID

IID

1001 2 103 1005 8 102 1009 2 101 1010 5 105 1013 11 105 1015 8 105

IID Name

102 Bowl 105 Spoon

CID

Name

3 Charles 6 Fred 9 Ivan 12 Louis

OID

CID

IID

1003 6 102 1004 3 103 1008 9 101 1012 3 104 1016 12 103 1017 9 104

IID Name

103 Fork 106 Knife

(17)

http://www.parelastic.com/

da

taba

se

slice 3

da

taba

se

slice 1

da

taba

se

slice 2

How it works: The scenario

December 10, 2012 17

CID

Name

1 Abel 4 Dave 7 Grace 10 Julia

OID

CID

IID

1002 1 101 1006 1 102 1007 7 102 1011 7 106 1014 10 104 1014 10 101

IID Name

101 Cup 104 Plate

CID

Name

2 Baker 5 Ed 8 Henry 11 Kim

OID

CID

IID

1001 2 103 1005 8 102 1009 2 101 1010 5 105 1013 11 105 1015 8 105

IID Name

102 Bowl 105 Spoon

CID

Name

3 Charles 6 Fred 9 Ivan 12 Louis

OID

CID

IID

1003 6 102 1004 3 103 1008 9 101 1012 3 104 1016 12 103 1017 9 104

IID Name

103 Fork 106 Knife

(18)

http://www.parelastic.com/

da

taba

se

slice 3

da

taba

se

slice 1

da

taba

se

slice 2

How it works: The scenario

December 10, 2012 18

CID

Name

1 Abel 4 Dave 7 Grace 10 Julia

OID

CID

IID

1002 1 101 1006 1 102 1007 7 102 1011 7 106 1014 10 104 1014 10 101

IID Name

101 Cup 104 Plate

CID

Name

2 Baker 5 Ed 8 Henry 11 Kim

OID

CID

IID

1001 2 103 1005 8 102 1009 2 101 1010 5 105 1013 11 105 1015 8 105

IID Name

102 Bowl 105 Spoon

CID

Name

3 Charles 6 Fred 9 Ivan 12 Louis

OID

CID

IID

1003 6 102 1004 3 103 1008 9 101 1012 3 104 1016 12 103 1017 9 104

IID Name

103 Fork 106 Knife

(19)

http://www.parelastic.com/

da

taba

se

slice 3

da

taba

se

slice 1

da

taba

se

slice 2

How it works: The scenario

December 10, 2012 19

CID

Name

1 Abel 4 Dave 7 Grace 10 Julia

OID

CID

IID

1002 1 101 1006 1 102 1007 7 102 1011 7 106 1014 10 104 1014 10 101

IID Name

101 Cup 104 Plate

CID

Name

2 Baker 5 Ed 8 Henry 11 Kim

OID

CID

IID

1001 2 103 1005 8 102 1009 2 101 1010 5 105 1013 11 105 1015 8 105

IID Name

102 Bowl 105 Spoon

CID

Name

3 Charles 6 Fred 9 Ivan 12 Louis

OID

CID

IID

1003 6 102 1004 3 103 1008 9 101 1012 3 104 1016 12 103 1017 9 104

IID Name

103 Fork 106 Knife

(20)

http://www.parelastic.com/

da

taba

se

slice 3

da

taba

se

slice 1

da

taba

se

slice 2

How it works: The scenario

December 10, 2012 20

CID

Name

1 Abel 4 Dave 7 Grace 10 Julia

OID

CID

IID

1002 1 101 1006 1 102 1007 7 102 1011 7 106 1014 10 104 1014 10 101

IID Name

101 Cup 104 Plate

CID

Name

2 Baker 5 Ed 8 Henry 11 Kim

OID

CID

IID

1001 2 103 1005 8 102 1009 2 101 1010 5 105 1013 11 105 1015 8 105

IID Name

102 Bowl 105 Spoon

CID

Name

3 Charles 6 Fred 9 Ivan 12 Louis

OID

CID

IID

1003 6 102 1004 3 103 1008 9 101 1012 3 104 1016 12 103 1017 9 104

IID Name

103 Fork 106 Knife

(21)

http://www.parelastic.com/

da

taba

se

slice 3

da

taba

se

slice 1

da

taba

se

slice 2

How it works: The scenario

December 10, 2012 21

CID

Name

1 Abel 4 Dave 7 Grace 10 Julia

OID

CID

IID

1002 1 101 1006 1 102 1007 7 102 1011 7 106 1014 10 104 1014 10 101

IID Name

101 Cup 104 Plate

CID

Name

2 Baker 5 Ed 8 Henry 11 Kim

OID

CID

IID

1001 2 103 1005 8 102 1009 2 101 1010 5 105 1013 11 105 1015 8 105

IID Name

102 Bowl 105 Spoon

CID

Name

3 Charles 6 Fred 9 Ivan 12 Louis

OID

CID

IID

1003 6 102 1004 3 103 1008 9 101 1012 3 104 1016 12 103 1017 9 104

IID Name

103 Fork 106 Knife

(22)

http://www.parelastic.com/

da

taba

se

slice 3

da

taba

se

slice 1

da

taba

se

slice 2

How it works: The scenario

December 10, 2012 22

CID

Name

1 Abel 4 Dave 7 Grace 10 Julia

OID

CID

IID

1002 1 101 1006 1 102 1007 7 102 1011 7 106 1014 10 104 1014 10 101

IID Name

101 Cup 104 Plate

CID

Name

2 Baker 5 Ed 8 Henry 11 Kim

OID

CID

IID

1001 2 103 1005 8 102 1009 2 101 1010 5 105 1013 11 105 1015 8 105

IID Name

102 Bowl 105 Spoon

CID

Name

3 Charles 6 Fred 9 Ivan 12 Louis

OID

CID

IID

1003 6 102 1004 3 103 1008 9 101 1012 3 104 1016 12 103 1017 9 104

IID Name

103 Fork 106 Knife

(23)

http://www.parelastic.com/

da

taba

se

slice 3

da

taba

se

slice 1

da

taba

se

slice 2

Who bought a bowl?

December 10, 2012 23

CID

Name

1 Abel 4 Dave 7 Grace 10 Julia

OID

CID

IID

1002 1 101 1006 1 102 1007 7 102 1011 7 106 1014 10 104 1014 10 101

IID Name

101 Cup 104 Plate

CID

Name

2 Baker 5 Ed 8 Henry 11 Kim

OID

CID

IID

1001 2 103 1005 8 102 1009 2 101 1010 5 105 1013 11 105 1015 8 105

IID Name

102 Bowl 105 Spoon

CID

Name

3 Charles 6 Fred 9 Ivan 12 Louis

OID

CID

IID

1003 6 102 1004 3 103 1008 9 101 1012 3 104 1016 12 103 1017 9 104

IID Name

103 Fork 106 Knife

SELECT C.NAME FROM CUSTOMERS C, ORDERS

O, ITEMS I WHERE C.CID = O.CID AND

O.IID = I.IID AND I.NAME = ‘Bowl’;

(24)

http://www.parelastic.com/

da

taba

se

slice 3

da

taba

se

slice 1

da

taba

se

slice 2

Scanning in parallel

December 10, 2012 24

CID

Name

1 Abel 4 Dave 7 Grace 10 Julia

OID

CID

IID

1002 1 101 1006 1 102 1007 7 102 1011 7 106 1014 10 104 1014 10 101

IID Name

101 Cup 104 Plate

CID

Name

2 Baker 5 Ed 8 Henry 11 Kim

OID

CID

IID

1001 2 103 1005 8 102 1009 2 101 1010 5 105 1013 11 105 1015 8 105

IID Name

102 Bowl 105 Spoon

CID

Name

3 Charles 6 Fred 9 Ivan 12 Louis

OID

CID

IID

1003 6 102 1004 3 103 1008 9 101 1012 3 104 1016 12 103 1017 9 104

IID Name

103 Fork 106 Knife

(25)

http://www.parelastic.com/

Scanning in parallel

December 10, 2012 25

16 m 08.4 s

03 m 11.4 s

00:00.0

05:00.0

10:00.0

15:00.0

20:00.0

MySQL Native

ParElastic (5 MySQL slices)

Time to scan a 2b row table

M1.4XLarge

($1.80/hour)

5 x M1.Large

($1.30/hour)

Note: Amazon EC2 pricing for spot instances, December 2012. m1.4xlarge $1.80/hour, m1.large $0.26/hour

(26)

http://www.parelastic.com/

Counting rows in a table

Table is distributed on a number of database

sites

I want to count the number of rows in the

table

December 10, 2012 26

SELECT COUNT(*)

FROM CUSTOMERS;

(27)

http://www.parelastic.com/

Counting rows in a table

December 10, 2012 27

SELECT COUNT(*) FROM CUSTOMERS;

RETURN:

SELECT SUM(CT) AS “COUNT(*)”

FROM T1;

CONSOLIDATE INTO T1:

SELECT COUNT(*) AS CT

FROM CUSTOMERS;

CUSTOMERS

agg

agg

(28)

http://www.parelastic.com/

ParElastic: A parallel database

December 10, 2012 28

ParElastic

Database Virtualization Engine

Multiple off-the-shelf MySQL servers acting as one

Application

No changes to the

application

Standard

interfaces

(29)

http://www.parelastic.com/

A simple join

December 10, 2012 29

SELECT C.NAME

FROM CUSTOMERS C, ORDERS O, ITEMS I

WHERE C.CID = O.CID

AND O.IID = I.IID

AND I.NAME = ‘Bowl’;

ITEM

Name = ‘Bowl’

ORDERS

CUSTOMERS

JOIN

O.CID = C.CID

C.NAME

I.IID

O.CID

C.CID, C.NAME

JOIN

O.IID = I.IID

O.IID

(30)

http://www.parelastic.com/

The parallel (distributed) join

December 10, 2012 30

SELECT C.NAME

FROM CUSTOMERS C, ORDERS O, ITEMS I

WHERE C.CID = O.CID

AND O.IID = I.IID

AND I.NAME = ‘Bowl’;

ITEM

Name = ‘Bowl’

I.IID

How is this

stream

distributed?

(31)

http://www.parelastic.com/

The parallel (distributed) join

December 10, 2012 31

SELECT C.NAME

FROM CUSTOMERS C, ORDERS O, ITEMS I

WHERE C.CID = O.CID

AND O.IID = I.IID

AND I.NAME = ‘Bowl’;

ITEM

Name = ‘Bowl’

I.IID

Distributed

according to

table ITEMS (IID)

(32)

http://www.parelastic.com/

The parallel (distributed) join

December 10, 2012 32

SELECT C.NAME

FROM CUSTOMERS C, ORDERS O, ITEMS I

WHERE C.CID = O.CID

AND O.IID = I.IID

AND I.NAME = ‘Bowl’;

ITEM

Name = ‘Bowl’

ORDERS

I.IID

JOIN

O.IID = I.IID

How is this

stream

distributed?

Distributed

according to

table ITEMS (IID)

(33)

http://www.parelastic.com/

The parallel (distributed) join

December 10, 2012 33

SELECT C.NAME

FROM CUSTOMERS C, ORDERS O, ITEMS I

WHERE C.CID = O.CID

AND O.IID = I.IID

AND I.NAME = ‘Bowl’;

ITEM

Name = ‘Bowl’

ORDERS

I.IID

JOIN

O.IID = I.IID

O.IID

Distributed

according to

table ITEMS (IID)

Distributed

according to

ORDERS (CID)

(34)

http://www.parelastic.com/

The parallel (distributed) join

December 10, 2012 34

SELECT C.NAME

FROM CUSTOMERS C, ORDERS O, ITEMS I

WHERE C.CID = O.CID

AND O.IID = I.IID

AND I.NAME = ‘Bowl’;

ITEM

Name = ‘Bowl’

ORDERS

I.IID

JOIN

O.IID = I.IID

O.IID

Distributed

according to

table ITEMS (IID)

Distributed

according to

ORDERS (CID)

(35)

http://www.parelastic.com/

The parallel (distributed) join

December 10, 2012 35

SELECT C.NAME

FROM CUSTOMERS C, ORDERS O, ITEMS I

WHERE C.CID = O.CID

AND O.IID = I.IID

AND I.NAME = ‘Bowl’;

ITEM

Name = ‘Bowl’

ORDERS

I.IID

JOIN

O.IID = I.IID

O.IID

Broadcast to all

sites for join

Distributed

according to

ORDERS (CID)

(36)

http://www.parelastic.com/

The parallel (distributed) join

December 10, 2012 36

SELECT C.NAME

FROM CUSTOMERS C, ORDERS O, ITEMS I

WHERE C.CID = O.CID

AND O.IID = I.IID

AND I.NAME = ‘Bowl’;

ITEM

Name = ‘Bowl’

ORDERS

CUSTOMERS

JOIN

O.CID = C.CID

I.IID

O.CID

C.CID, C.NAME

JOIN

O.IID = I.IID

O.IID

How is this

stream

distributed?

How is this

stream

distributed?

(37)

http://www.parelastic.com/

The parallel (distributed) join

December 10, 2012 37

SELECT C.NAME

FROM CUSTOMERS C, ORDERS O, ITEMS I

WHERE C.CID = O.CID

AND O.IID = I.IID

AND I.NAME = ‘Bowl’;

ITEM

Name = ‘Bowl’

ORDERS

CUSTOMERS

JOIN

O.CID = C.CID

C.NAME

I.IID

O.CID

C.CID, C.NAME

JOIN

O.IID = I.IID

O.IID

(38)

http://www.parelastic.com/

The parallel (distributed) join

December 10, 2012 38

SELECT C.NAME

FROM CUSTOMERS C, ORDERS O, ITEMS I

WHERE C.CID = O.CID

AND O.IID = I.IID

AND I.NAME = ‘Bowl’;

ITEM

Name = ‘Bowl’

ORDERS

CUSTOMERS

JOIN

O.CID = C.CID

C.NAME

I.IID

O.CID

C.CID, C.NAME

(39)

http://www.parelastic.com/

The parallel (distributed) join

December 10, 2012 39

SELECT C.NAME

FROM CUSTOMERS C, ORDERS O, ITEMS I

WHERE C.CID = O.CID

AND O.IID = I.IID

AND I.NAME = ‘Bowl’;

ITEM

Name = ‘Bowl’

ORDERS

CUSTOMERS

JOIN

O.CID = C.CID

C.NAME

I.IID

O.CID

C.CID, C.NAME

BROADCAST TO T1:

SELECT IID FROM ITEMS

WHERE NAME = ‘Bowl’;

RETURN:

SELECT C.NAME

FROM CUSTOMERS C,

ORDERS O, T1

WHERE C.CID = O.CID

AND O.IID = T1.IID;

(40)

http://www.parelastic.com/

Parallel Databases vs. Sharding

Parallel Database

Database architecture

Application is data location

agnostic

Application perceives a

single database

Requires

no

application

rewrites

Application

is

not

constrained by parallel

database architecture

A parallel database

handles any schema

Sharding

Application architecture

Application is data location

aware

Application perceives a

collection of databases

Requires application

rewrites

Application

is

constrained

to the limitations of the

sharding architecture

Not all schemas are

shard’able

(41)

http://www.parelastic.com/

Off-the-Shelf MySQL Databases (persistent)

Transparent partitioning, sharding and replication

ParElastic Architecture

December 10, 2012 Boston MySQL Meetup 41

ParElastic

Database Virtualization Engine

Application

Multiple database servers act as one

Off-the-Shelf MySQL Databases (dynamic)

Elastic database processing capacity (add and remove as needed)

Processing

Storage

Add storage without moving existing data

(42)

http://www.parelastic.com/

ParElastic data distribution

Data distribution based on role in the schema

Table data can be distributed

Randomly

Deterministically based on some attributes

Broadcast, XA for transaction consistency

Other distribution methods for multi-tenancy

Later in this presentation

(43)

http://www.parelastic.com/

Off-the-Shelf MySQL Databases (persistent)

Simple Select

December 10, 2012 Boston MySQL Meetup 43

ParElastic

Database Virtualization Engine

Application

Off-the-Shelf MySQL Databases (dynamic)

Processing

Storage

Standard Interfaces SELECT * from customers

(44)

http://www.parelastic.com/

Off-the-Shelf MySQL Databases (persistent)

Query by Distribution Key

December 10, 2012 Boston MySQL Meetup 45

ParElastic

Database Virtualization Engine

Application

Off-the-Shelf MySQL Databases (dynamic)

Processing

Storage

Standard Interfaces SELECT * from orders

(45)

http://www.parelastic.com/

Off-the-Shelf MySQL Databases (persistent)

Local Join

December 10, 2012 Boston MySQL Meetup 47

ParElastic

Database Virtualization Engine

Application

Off-the-Shelf MySQL Databases (dynamic)

Processing

Storage

Standard Interfaces

select customers.name, orders.iid from customers, orders where customers.cid = orders.cid;

(46)

http://www.parelastic.com/

Off-the-Shelf MySQL Databases (persistent)

Ordered Result

December 10, 2012 Boston MySQL Meetup 49

ParElastic

Database Virtualization Engine

Application

Off-the-Shelf MySQL Databases (dynamic)

Processing

Storage

Standard Interfaces select customers.name, orders.iid from customers, orders where customers.cid =

(47)

http://www.parelastic.com/

Off-the-Shelf MySQL Databases (persistent)

A Cross Node Query

December 10, 2012 Boston MySQL Meetup 51

ParElastic

Database Virtualization Engine

Application

Off-the-Shelf MySQL Databases (dynamic)

Processing

Storage

Standard Interfaces

select items.name, count(*) from customers, orders, items where customers.cid = orders.cid and

orders.iid = items.iid and customers.name like '%e%' group by items.name;

(48)

http://www.parelastic.com/

What’s the overhead?

December 10, 2012 53

Machine 1

Test Client

Machine 2

mysqld

Machine 1

Test Client

Machine 3

mysqld

Machine 4

mysqld

Machine 2

ParElastic

Network RTT

0.35ms

Query Time

15.72ms

Query Time

17.03ms

ParElastic overhead ~ 1.31ms

(49)

http://www.parelastic.com/

The power of parallelism

(50)

http://www.parelastic.com/

The power of parallelism

December 10, 2012 55

Let’s look at this

one some more …

(51)

http://www.parelastic.com/

SaaS Applications and

(52)

http://www.parelastic.com/

SaaS application multi-tenancy

December 10, 2012 Boston MySQL Meetup 57

Simple MT

Each tenant gets their

own database &

tables

Application switches

to appropriate

database

In application MT

Application code

consolidates tenants

into a single database

ParElastic

MT

Each tenant believes it

has its own database

and tables

ParElastic virtualizes

and consolidates

databases

Simplicity

Isolation of data

Many databases

causes performance

issues

Bad neighbor effect

Improves utilization,

reduces # databases

Code complexity

Bad neighbor effect

Lock-Step Upgrades

Restricts

customization

Simplicity

Isolation of data

Rolling upgrades

Customizations

supported

PR

OS

C

ONS

(53)

http://www.parelastic.com/

ParElastic Adaptive Multi-Tenancy

Drupal: A SaaS Application

Tens of thousands of Drupal sites

Each site has its own database

With its own tables and data

Schema customizations / modules

Thousands of MySQL servers

Thousands of Application Servers

Rolling software upgrades

Some with schema changes

(54)

http://www.parelastic.com/

Database Scalability at Acquia

11/21/12 ParElastic Overview 59

Before ParElastic

After ParElastic

ZERO lines of code

change in Drupal!

(55)

http://www.parelastic.com/

Impact of large database count

(56)

http://www.parelastic.com/

ParElastic data distribution

Data distribution based on role in the schema

Table data can be distributed

Randomly

Deterministically based on some attributes

Broadcast, XA for transaction consistency

Multi-tenant systems use all of the above plus

Tenant based distribution semantics

(57)

http://www.parelastic.com/

And now, a demonstration

(58)

http://www.parelastic.com/

The demonstration

It’s hard to demonstrate plumbing

Much easier to demonstrate a faucet!

We demonstrate a Drupal site powered by

ParElastic

And to simulate traffic

We ingest data with specific #hashtags from

Twitter

So go ahead and tweet with #mysql or #parelastic

and you will generate traffic for the demo

(59)

http://www.parelastic.com/

So what’s ParElastic?

A local start-up

Based in Waltham, R&D office in Toronto

We’re hiring!

ParElastic is Database Virtualization Software

Make groups of MySQL databases act as one

The cardinality of the group can change

Based on data size

Based on workload

(60)

http://www.parelastic.com/

I want it, where can I get it?

We’re in closed beta

Working with some very exciting early adopters

Happy to work with you as well!

(61)

http://www.parelastic.com/

Contact information

ParElastic

Web: http://www.parelastic.com/

Email:

info@parelastic.com

Twitter: @parelastic

Me

Email:

amrith@parelastic.com

Twitter: @amrithkumar

References

Related documents

Proposed Paradigm Replication Manager RR Algorithm / Voting WatchDog UDDI Web Service IIS Application Database Web Service IIS Application Database Client Port Application

Spectrum sensing operations such as detection, spectrum estimation, waveform or modulation recognition, and specific emitter identification are examples of tasks that future

For a thorough examination of the HRS, the quality of the data, and comparisons with other data sets, see Juster and Smith (1997) and Smith (1995). See also the data.. 1)

Although in China there were immediate suspicions of Japanese involvement, the main newspapers supported the thesis that the authors were Nationalist agents (OM and TA 5 June

December 19, 2012 thirty members of Ansaru, a splinter group of Boko Haram that officially emerged in 2012 but is considered connected to the May 2011 kidnappings, attacked

− As assigned, perform database administration duties; provide support to programming staff in planning, designing and implementing application databases; maintain database

 Active / Active Application Server Cluster with Database Sharing on z/OS in a Parallel Sysplex..  Active / Active Application Server Cluster with Database Sharing on z/OS

within a few weeks of signing your Pwc, your Prestart consultant will make contact to arrange appointments for you to sign your new home contract, make your colour sections