More Related Content Similar to SimpleVoc vs Memcached (20) SimpleVoc vs Memcached2. Who is triAGENS?
• Dr. Frank Celler
• Claudius Weinberger
• Martin Schönert
2011 © triAGENS GmbH | 30.03.2011 2
3. What‘s triAGENS‘ Business?
• Founded in 2004
• Vendor of High Performance Databases
• Consulting
• Project Portfolio Management
• Project Management
• Requirements Management
• Architecture
• Implementation
• Performance Test & Analysis
2011 © triAGENS GmbH | 30.03.2011 3
4. What is the SimpleVOC?
• 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
1: Limited to Enterprise Edition 2: Planned 3: Standard Edition or higher
2011 © triAGENS GmbH | 30.03.2011 4
5. What is the ‚Prefix Query‘?
• 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
Response
• Access to subsets of data HTTP/1.1 200 OKrn
Request content-type: application/jsonrn
connection: Keep-Alivern
GET /keys/tr HTTP/1.1rn server: triagens GmbH High-Performance HTTP
Host: localhost:8008rn Serverrn
Connection: Keep-Alivern content-length: 24rn
User-Agent: PHP-VOC/1.0rn rn
Content-Type: application/json; charset=utf- ["triagens", "triAGENS"]
8rn
Content-Length: 0rn
rn
2011 © triAGENS GmbH | 30.03.2011 5
6. What are ‚Extended Key Values‘?
• 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
2011 © triAGENS GmbH | 30.03.2011 6
7. SimpleVOC versus memcached
Caching
SimpleVOC memcached
• LRU (least recently used)1, 2 • LRU
• LFR (least frequently used)
• Based onExtended Key
Values1, 2
1: Limited to Enterprise Edition 2: Planned 3: Standard Edition or higher
2011 © triAGENS GmbH | 30.03.2011 7
8. SimpleVOC versus memcached
Uitlized as a Query Cache
SimpleVOC memcached
• Flexible Bucket Size • Fix Bucket Size
• The length of SQL-result sets • High memory consumption that
can vary in a wide range is eventually unused.
• The SimpleVOC adjusts the • Result sets are eventually
column length to the actual cropped when they don’t fit into
value. It is always as long as the defined length.
needed.
• Optimal memory consumption
also when used as query cache
2011 © triAGENS GmbH | 30.03.2011 8
9. SimpleVOC versus memcached
Uitlized as a Query Cache
SimpleVOC memcached
• Extended Key Value based • Flushing
deletion • Cache has to be completely
• Selective deletion of specific renewed when one record
records due to updates changes
• Applicable as primary storage • Only applicable as a pure cache
because no ‘collateral’ deletion! because flushing deletes all
records!
2011 © triAGENS GmbH | 30.03.2011 9
10. SimpleVOC versus memcached
Uitlized as a Query Cache
SimpleVOC memcached
• Statistics provide valuable • No raw statistics
data for Tuning & Tweaking
• Request Overview
• System Statistics
• Introspective Query
2011 © triAGENS GmbH | 30.03.2011 10
11. What means ‚Scalability‘?
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
1: Limited to Enterprise Edition 2: Planned 3: Standard Edition or higher
2011 © triAGENS GmbH | 30.03.2011 11
12. Scalability of the SimpleVOC
• 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 | 30.03.2011 12
13. Consistency within the SimpleVOC
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.
1: Limited to Enterprise Edition 2: Planned 3: Standard Edition or higher
2011 © triAGENS GmbH | 30.03.2011 13
14. More Features
• Up to 150,000 req./sec • Supported API
• Multi Threading • memcached compatible API
• REST Interface
• Data Locking
• Postfix
• Single Step
• Ruby2
• Multi Step1
1: Limited to Enterprise Edition 2: Planned 3: Standard Edition or higher
2011 © triAGENS GmbH | 30.03.2011 14
15. More Features
• Web Admin • Monitoring
• System Statistics • Monitoring Nagios3
• Configuration • Monitoring SNMP1
• Log-Viewer • Pagination3
• User Management3
• Request Overview
• Introspective Query3
1: Limited to Enterprise Edition 2: Planned 3: Standard Edition or higher
2011 © triAGENS GmbH | 30.03.2011 15
16. 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.
Created by:
Karsten Salewski
triAGENS GmbH
Brüsseler Straße 89-93
50672 Köln
www.triagens.de
30.03.2011