SimpleVoc vs Memcached

16
triAGENS SIMPLEVOC MORE THAN A KEY/VALUE STORE 30.03.2011 1 2011 © triAGENS GmbH |

description

Short discussion of query caches with comparison of triAGENS SimpleVOC

Transcript of SimpleVoc vs Memcached

Page 1: SimpleVoc vs Memcached

triAGENS SIMPLEVOC

MORE THAN A KEY/VALUE STORE

30.03.2011 1 2011 © triAGENS GmbH |

Page 2: SimpleVoc vs Memcached

Who is triAGENS?

30.03.2011 2

• Dr. Frank Celler

• Claudius Weinberger

• Martin Schönert

2011 © triAGENS GmbH |

Page 3: SimpleVoc vs Memcached

What‘s triAGENS‘ Business?

30.03.2011 3 2011 © triAGENS GmbH |

• Founded in 2004

• Vendor of High Performance Databases

• Consulting

• Project Portfolio Management

• Project Management

• Requirements Management

• Architecture

• Implementation

• Performance Test & Analysis

Page 4: SimpleVoc vs Memcached

What is the SimpleVOC?

30.03.2011 4 2011 © triAGENS GmbH |

• SimpleVOC adds Performance to your High Traffic Web Application:

• Ready to use

• Easy to Operate

• memcached compatible API, PHP-Extension, REST-API, Postfix-API, Ruby

• Meta data based annotation of Key/Value-Pairs1

• Meta data based selection and deletion of values

• Flexible bucket size

2: Planned 3: Standard Edition or higher 1: Limited to Enterprise Edition

Page 5: SimpleVoc vs Memcached

What is the ‚Prefix Query‘?

30.03.2011 5 2011 © triAGENS GmbH |

• Partially qualified search

• All keys starting with the search string

• Detects data even when only a part of the key is available

• Representation of hierarchal data structures

• Access to subsets of data

Request

GET /keys/tr HTTP/1.1\r\n

Host: localhost:8008\r\n

Connection: Keep-Alive\r\n

User-Agent: PHP-VOC/1.0\r\n

Content-Type: application/json; charset=utf-

8\r\n

Content-Length: 0\r\n

\r\n

Response

HTTP/1.1 200 OK\r\n

content-type: application/json\r\n

connection: Keep-Alive\r\n

server: triagens GmbH High-Performance HTTP

Server\r\n

content-length: 24\r\n

\r\n

["triagens", "triAGENS"]

Page 6: SimpleVoc vs Memcached

What are ‚Extended Key Values‘?

30.03.2011 6 2011 © triAGENS GmbH |

• Additional meta data assigned to the actual ‘payload’

• Meta data can be defined by the engineer during implementation

• Meta data can be stored and read at runtime

• Unlike the ‘Value’ meta data is typed.

• Use Cases:

• Sorting

• Filtering

• Deleting

Page 7: SimpleVoc vs Memcached

SimpleVOC versus memcached

Caching

SimpleVOC memcached

• LRU (least recently used)1, 2

• LFR (least frequently used)

• Based onExtended Key

Values1, 2

• LRU

30.03.2011 7 2011 © triAGENS GmbH |

2: Planned 3: Standard Edition or higher 1: Limited to Enterprise Edition

Page 8: SimpleVoc vs Memcached

SimpleVOC versus memcached

Uitlized as a Query Cache

SimpleVOC memcached

• Flexible Bucket Size

• The length of SQL-result sets

can vary in a wide range

• The SimpleVOC adjusts the

column length to the actual

value. It is always as long as

needed.

• Optimal memory consumption

also when used as query cache

• Fix Bucket Size

• High memory consumption that

is eventually unused.

• Result sets are eventually

cropped when they don’t fit into

the defined length.

30.03.2011 8 2011 © triAGENS GmbH |

Page 9: SimpleVoc vs Memcached

SimpleVOC versus memcached

Uitlized as a Query Cache

SimpleVOC memcached

• Extended Key Value based

deletion

• Selective deletion of specific

records due to updates

• Applicable as primary storage

because no ‘collateral’ deletion!

• Flushing

• Cache has to be completely

renewed when one record

changes

• Only applicable as a pure cache

because flushing deletes all

records!

30.03.2011 9 2011 © triAGENS GmbH |

Page 10: SimpleVoc vs Memcached

SimpleVOC versus memcached

Uitlized as a Query Cache

SimpleVOC memcached

• Statistics provide valuable

data for Tuning & Tweaking

• Request Overview

• System Statistics

• Introspective Query

• No raw statistics

30.03.2011 10 2011 © triAGENS GmbH |

Page 11: SimpleVoc vs Memcached

What means ‚Scalability‘?

30.03.2011 11

Scalability: Growing # of accesses and/or growing amount of data

by keeping the response time low.

Scalability can be classified to the following aspects:

• Consistency, Availability und Partition Tolerance

Practically achievable according to the CAP Theorem:

• Consistency / Availability2, 3

• Consistency / Partition Tolerance1, 2

• Availability / Partition Tolerance1, 2

2011 © triAGENS GmbH |

2: Planned 3: Standard Edition or higher 1: Limited to Enterprise Edition

Page 12: SimpleVoc vs Memcached

Scalability of the SimpleVOC

30.03.2011 12

• SimpleVOC can be configured to either CA, CP or AP.

• SimpleVOC supports Master/Master or Master/Slave configuration

(CA)

• CP resp. AP can be achieved due to client based redundant read

operations

Sharding

• Distributes the data to different locations

=> decreases access time

2011 © triAGENS GmbH |

Page 13: SimpleVoc vs Memcached

Consistency within the SimpleVOC

30.03.2011 13

In order to prevent data loss due to a server failure the content of the

SimpleVOC can be persisted.

• Persistency2

• Via Snap Shots; The content is periodically written to the hard disk. The snap

shot period can be configured. During recovery the snap shot will be

imported.

• Transaction Log1; A transaction log is kept. All changes are stored into a

journal. At recovery time all changes are applied to the last known status.

• Write after n Operations2; The snap shot is written to the hard disk after a

configurable # of operations has been reached.

2011 © triAGENS GmbH |

2: Planned 3: Standard Edition or higher 1: Limited to Enterprise Edition

Page 14: SimpleVoc vs Memcached

More Features

30.03.2011 14

• Up to 150,000 req./sec

• Multi Threading

• Data Locking

• Single Step

• Multi Step1

• Supported API

• memcached compatible API

• REST Interface

• Postfix

• Ruby2

2011 © triAGENS GmbH |

2: Planned 3: Standard Edition or higher 1: Limited to Enterprise Edition

Page 15: SimpleVoc vs Memcached

More Features

30.03.2011 15

• Web Admin

• System Statistics

• Configuration

• Log-Viewer

• User Management3

• Request Overview

• Introspective Query3

• Monitoring

• Monitoring Nagios3

• Monitoring SNMP1

• Pagination3

2011 © triAGENS GmbH |

2: Planned 3: Standard Edition or higher 1: Limited to Enterprise Edition

Page 16: SimpleVoc vs Memcached

30.03.2011

Created by:

triAGENS GmbH

Brüsseler Straße 89-93

50672 Köln

www.triagens.de

About us

The triAGENS GmbH is a service company in the area of complex IT Systems and web

based business solutions with high requirements on performance, scalability and

security.

triAGENS supplies high performance databases based on NoSQL database

technology, which is utilized for example at the Deutsche Post.

Karsten Salewski