Download - triAGENS simplevoc vs_memcached
triAGENS SIMPLEVOC
MORE THAN A KEY/VALUE STORE
30.03.2011 1 2011 © triAGENS GmbH |
Who is triAGENS?
30.03.2011 2
• Dr. Frank Celler
• Claudius Weinberger
• Martin Schönert
2011 © triAGENS GmbH |
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
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
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"]
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
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
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 |
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 |
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 |
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
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 |
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
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
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
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