4. • A distributed database for Big Data
• Scale out on commodity servers
• Best of bread performance
• Multi-master architecture, no SPOF
• Powerful multi data centre support
4
4
7. BigTable: ...
• Simple but powerful datamodel
• Write-optimised storage system
• Consistent, available but not partition tolerant
• Master-slave distribution system, SPOF
http://goo.gl/7T1Ej
7
7
8. Dynamo: ...
• Sophisticated distribution system with tradable
consistency and availability
• Over-simple datamodel
http://goo.gl/Q80b4
8
8
37. Perfect for high velocity data
Web, SCM, Retail Location Services Cloud Monitoring
Social Gaming Social Media Ad Marketplaces
Fraud Detection Smart Metering Oil/Gas Sensors
37
Confidential 6
Wednesday, 25 April 12
37
41. Data Platform
Data driven applications Web UI
Acunu Analytics
Control
Apache Cassandra
Center
Acunu Storage Engine
Configured and tuned OS
Commodity Hardware
41
42. Control Center
“I've had the EC2 instance running for a little while and I
have to say, I'm impressed. You guys have done well with
this product.”
- Lloyd, JustDevelopIt
42
43. Control Center
“The new UI has been critical in helping us work out
what is wrong in our code”
- Matt, TellyBug
43
44. Castle: Built for Big Data
• Storage engine optimized for large slow disks,
many cores, Big Data workloads
• Enterprise density on commodity hardware
• Lightning disk rebuilds:10x faster than RAID
Shared memory interface
Castle
keys
Userspace
Acunu Kernel
userspace
interface
values
In-kernel
async, shared
memory ring workloads
shared buffers
kernelspace
Streaming interface
interface
range key buffered key buffered
queries insert value insert get value get
Doubling Arrays • Opensource (GPLv2, MIT
doubling array
mapping layer
for user libraries)
insert Bloom filters
queues key
get
arrays x
range arrays
queries management
http://goo.gl/gzihe
key
•
insert merges
http://bitbucket.org/acunu
Arrays
mapping layer
•
modlist btree
key Version tree
Loadable Kernel Module,
insert btree
key
get
btree
targeting CentOS’s 2.6.18
range
queries value arrays
44
•
Cache
block mapping &
http://www.acunu.com/
cacheing layer
"Extent" layer
prefetcher
extent block
extent cache
blogs/andy-twigg/why-
freespace
allocator
manager
44
flusher