Hypertable is a high performance, open source, massively scalable database modeled after Bigtable, Google's proprietary, massively scalable database. [05][06][04]
- Website
- https://hypertable.com/[01]
- Source Code
- https://github.com/hypertable/hypertable[02]
- Developer
- Country of Origin
- US
- Start Year
- 2008 [07]
- End Year
- 2016 [10]
- Acquired By
- Project Types
- Commercial, Open Source
- Written in
- C++
- Inspired By
- Cloud BigTable
- Compatible With
- H-Store
- License
- GPL v3
Hypertable runs on top of a distributed file system such as the Apache HDFS, GlusterFS or the CloudStore Kosmos File System (KFS). It is written almost entirely in C++ as the developers believed it had significant performance advantages over Java.
Hypertable is a high performance, open source, massively scalable database modeled after Bigtable, Google's proprietary, massively scalable database. Hypertable runs on top of a distributed file system such as the Apache HDFS, GlusterFS or the CloudStore Kosmos File System (KFS). It is written almost entirely in C++ as the developers believed it had significant performance advantages over Java.[05][06][04]
History[07][04][08][09][10]
Hypertable software was originally developed at the company Zvents before 2008. Doug Judd was a promoter of Hypertable. In January 2009, Baidu, the Chinese language search engine, became a project sponsor. A version 0.9.2.1 was described in a blog in February 2009. Development ended in March 2016.
Compression[13][14][15]
Over time, the RangeServers will write in-memory CellCaches to on-disk files, called CellStores. CellStores contain a series of sorted blocks of compressed sorted key/value pairs. These blocks are the minimum unit of data transfer from disk. User can choose the compressor used to compress CellStore blocks in each access group. The compressor option includes zlib, lzo, quicklz, snappy, bmz, none. The default compressor is quicklz.
Concurrency Control[16]
The system uses Multi-Version Concurrency Control (MVCC) and by default will auto-assign revision numbers using a timestamp.
Data Model[05]
Hypertable uses a set of related columns known as a column family. Users may supply an optional column qualifier and specify the qualified column as family:qualifier.
Query Interface[17]
The Hypertable Query Language (HQL) allows you to create, modify, and query tables and invoke administrative commands. HQL is interpreted by the following interfaces: - The hypertable command line interface (ht shell), - The hql_exec and hql_query Thrift API methods, - The Hypertable::HqlInterpreter C++ class.
Storage Architecture[14]
Hypertable is capable of running on top of any filesystem. To achieve this, the system has abstracted the interface to the filesystem by sending all filesystem requests through a File System (FS) broker process. FS brokers have been developed for HDFS, MapR, Ceph, KFS, and local (for running on top of a local filesystem).
System Architecture[14]
The diagram below provides a high-level overview of the Hypertable system followed by a brief description of each system component.

Hyperspace - This is Hypertable's equivalent to Google's Chubby service. Hyperspace is a lock manager and provides a filesystem for storing small amounts of metadata.
Master - The master handles all meta operations such as creating and deleting tables. The master is also responsible for detecting range server failures and re-assigning ranges if necessary.
Range Server - Range servers are responsible for managing ranges of table data, handling all reading and writing of data.
FS Broker - Hypertable is capable of running on top of any filesystem. To achieve this, the system has abstracted the interface to the filesystem by sending all filesystem requests through a File System (FS) broker process. The FS broker provides a normalized filesystem interface and translates normalized filesystem requests into native filesystem requests and vice-versa. FS brokers have been developed for HDFS, MapR, Ceph, KFS, and local (for running on top of a local filesystem).
ThriftBroker - Provides an interface for applications written in any high-level language to communicate with Hypertable. The ThriftBroker is implemented with Apache Thrift and provides bindings for applications written in Java, PHP, Ruby, Python, Perl, and C++.
Citations
18 sources- Error hypertable.com
- GitHub - hypertable/hypertable: A flexible database focused on performance and scalability · GitHub github.com
- http://www.hypertable.com/documentation hypertable.com
- Hypertable - Wikipedia wikipedia.org
- Error hypertable.com
- Google Code Archive - Long-term storage for Google Code Project Hosting. google.com
- Zvents releases open-source cluster database | Network World networkworld.com
- http://www.linux-mag.com/id/6645/ linux-mag.com
- http://www.googlestack.com/50226711/taking_hypertable_0921_for_a_ride.php googlestack.com
- Error hypertable.com
- Error hypertable.com
- Error hypertable.com
- Error hypertable.com
- Error hypertable.com
- Error hypertable.com
- Error hypertable.com
- Error hypertable.com
- https://cdn.hypertable.com/pub/hypertable-goes-realtime-at-baidu.pdf hypertable.com