Beruflich Dokumente
Kultur Dokumente
Doug Judd
Zvents, Inc.
Background
What is Hypertable?
Scalable, High performance Database
Open source (GPL)
Modelled after Google’s Bigtable
Massive sparse tables
Each cell has timestamped revisions
Single primary key index
Implemented in C++
What is Hypertable not?
A relational database
No joins
No secondary indexes
A transaction system (not yet)
Hypertable Improvements
Over Traditional RDBMS
Scalable
High random insert rate
Architectural Overview
Data Model
Sparse, two-dimensional table with cell versions
Cells are identified by a 4-part key
Row (string)
Column Family (byte)
Column Qualifier (string)
Timestamp (long integer)
Table: Visual Representation
Table: Actual Representation
Scaling (part I)
Scaling (part II)
Scaling (part III)
System Overview
Range Server
Manages ranges of table data
Caches updates in memory (CellCache)
Periodically spills (compacts) cached updates to disk
(CellStore)
Client API
class Client {
IN_MEMORY Table
Batched writes 20K inserts/s (20MB/s)