Difference between revisions of "Hypertable"
This page was last modified on 18 June 2016, at 14:35.
egor zorin (Talk | contribs) m (→Open Source) |
|||
(One intermediate revision by the same user not shown) | |||
Line 13: | Line 13: | ||
}} | }} | ||
− | + | '''Hypertable''' is an open source database system inspired by publications on the design of Google's BigTable<ref name='[1]'>Bigtable is a compressed, high performance, and proprietary data storage system built on Google File System, Chubby Lock Service, SSTable (log-structured storage like LevelDB) and a few other Google technologies. On May 6, 2015, a public version of Bigtable was launched as Google Cloud Bigtable</ref>. The project is based on experience of engineers who were solving large-scale data-intensive tasks for many years. | |
− | Hypertable is an open source database system inspired by publications on the design of Google's BigTable<ref name='[1]'>Bigtable is a compressed, high performance, and proprietary data storage system built on Google File System, Chubby Lock Service, SSTable (log-structured storage like LevelDB) and a few other Google technologies. On May 6, 2015, a public version of Bigtable was launched as Google Cloud Bigtable</ref>. The project is based on experience of engineers who were solving large-scale data-intensive tasks for many years. | + | |
Hypertable runs on top of a distributed file system such as the Apache HDFS, GlusterFS or the Kosmos File System (KFS). It is written almost entirely in C++ as the developers believe it has significant performance advantages over Java. | Hypertable runs on top of a distributed file system such as the Apache HDFS, GlusterFS or the Kosmos File System (KFS). It is written almost entirely in C++ as the developers believe it has significant performance advantages over Java. | ||
The main differences: | The main differences: | ||
Line 26: | Line 25: | ||
The following figure shows how a relational database table might look on disk. | The following figure shows how a relational database table might look on disk. | ||
− | + | [[File: Hypertable.png|center]] | |
Hypertable (and Bigtable) operate on the principle of "Log Structured Merge Tree". This approach smooths out the table structure into an ordered list of pairs key/value, each of which represents a table cell. The key includes the full row identifier and a column that provides complete address information. NULL cells are simply not included in the list that allows you to store sparse data. | Hypertable (and Bigtable) operate on the principle of "Log Structured Merge Tree". This approach smooths out the table structure into an ordered list of pairs key/value, each of which represents a table cell. The key includes the full row identifier and a column that provides complete address information. NULL cells are simply not included in the list that allows you to store sparse data. | ||
The following figure illustrates how Hypertable represents data on disk. | The following figure illustrates how Hypertable represents data on disk. | ||
− | + | [[File: Hypertable1.png|center]] | |
− | + | ||
==Installation methods== | ==Installation methods== | ||
Line 44: | Line 42: | ||
===MapR=== | ===MapR=== | ||
− | + | MapR is a scalable file system written in [[C++ (programming language)|C++]], modeled after Google File System and is 100% API compatible with Apache Hadoop. Has a built-in Hypertable MapR broker that allows it directly interacts with the MapR servers. Hypertable in conjunction with MapR achieves maximum performance. | |
− | MapR is a scalable file system written in [[C++]], modeled after Google File System and is 100% API compatible with Apache Hadoop. Has a built-in Hypertable MapR broker that allows it directly interacts with the MapR servers. Hypertable in conjunction with MapR achieves maximum performance. | + | |
==Open Source== | ==Open Source== | ||
We use the git version control system to manage the source code for Hypertable. To obtain a local copy of the repository, install the latest version of git (at least 1.5.3.7) and then issue the following commands to configure your identity in commit messages. To obtain the source: | We use the git version control system to manage the source code for Hypertable. To obtain a local copy of the repository, install the latest version of git (at least 1.5.3.7) and then issue the following commands to configure your identity in commit messages. To obtain the source: | ||
− | < | + | <console> |
cd ~/src | cd ~/src | ||
git clone git://github.com/hypertable/hypertable.git | git clone git://github.com/hypertable/hypertable.git | ||
− | </ | + | </console> |
+ | |||
===Modules=== | ===Modules=== | ||
Here is a list of all modules: | Here is a list of all modules: | ||
Line 64: | Line 62: | ||
== References == | == References == | ||
+ | {{reflist}} | ||
+ | |||
+ | == Notes == | ||
* [http://www.hypertable.com/ Official Site Hypertable] | * [http://www.hypertable.com/ Official Site Hypertable] | ||
* [http://helpers.com.ua/category/database/hypertable/ Review Hypertable] | * [http://helpers.com.ua/category/database/hypertable/ Review Hypertable] | ||
* [https://en.wikipedia.org/wiki/Hypertable Wiki Hypertable] | * [https://en.wikipedia.org/wiki/Hypertable Wiki Hypertable] | ||
− | |||
− |
Latest revision as of 14:35, 18 June 2016
Developer(s) | Zvents Inc. |
---|---|
Stable release |
0.9.7.2
/ April 3, 2013 |
Repository |
{{ |
Development status | Active |
Written in | C++ |
Operating system | Windows,Linux,Mac OS X |
Available in | English |
Website |
www |
Hypertable is an open source database system inspired by publications on the design of Google's BigTable[1]. The project is based on experience of engineers who were solving large-scale data-intensive tasks for many years. Hypertable runs on top of a distributed file system such as the Apache HDFS, GlusterFS or the Kosmos File System (KFS). It is written almost entirely in C++ as the developers believe it has significant performance advantages over Java. The main differences:
- The keys are UTF-8 strings
- No support for data types, values are treated as sequences of bytes
- No
JOIN
operations - No transaction support
Contents
Description
A relational database assumes that each column defined in the table schema will have a value for each row that is present in the table. NULL values are usually represented by a special marker (e.g. \N). Primary key and column identifier are implicitly associated with each cell based on its physical position in the layout.
The following figure shows how a relational database table might look on disk.
Hypertable (and Bigtable) operate on the principle of "Log Structured Merge Tree". This approach smooths out the table structure into an ordered list of pairs key/value, each of which represents a table cell. The key includes the full row identifier and a column that provides complete address information. NULL cells are simply not included in the list that allows you to store sparse data.
The following figure illustrates how Hypertable represents data on disk.
Installation methods
Hypertable can be installed in three different configurations, so the diversity was due with multiple ways of storing data.
Standalone
This method of work is targeted at applications that need to work Hypertable , but do not require horizontal scalability and support for MapReduce. Hypertable is configured to run on a single computer and uses the OS file system. To improve performance, on these machines I suggest to use SSD drives.
Hadoop
Hadoop is actually an open implementation of the Google Filesystem and MapReduce. It contains all the features necessary for effective work Hypertable.
MapR
MapR is a scalable file system written in C++, modeled after Google File System and is 100% API compatible with Apache Hadoop. Has a built-in Hypertable MapR broker that allows it directly interacts with the MapR servers. Hypertable in conjunction with MapR achieves maximum performance.
Open Source
We use the git version control system to manage the source code for Hypertable. To obtain a local copy of the repository, install the latest version of git (at least 1.5.3.7) and then issue the following commands to configure your identity in commit messages. To obtain the source:
cd ~/src git clone git://github.com/hypertable/hypertable.git
Modules
Here is a list of all modules:
AsyncComm
- Network communication libraryCommon
- General purpose utility libraryFsBroker
- File system brokerHyperspace
- Hyperspace libraryHypertable
- Hypertable servers and client libraryThriftBroker
- Thrift brokerTools
- Command-line tools
References
Cite error: Invalid <references>
tag;
parameter "group" is allowed only.
<references />
, or <references group="..." />
Присоединяйся к команде
ISSN:
Следуй за Полисом
Оставайся в курсе последних событий
License
Except as otherwise noted, the content of this page is licensed under the Creative Commons Creative Commons «Attribution-NonCommercial-NoDerivatives» 4.0 License, and code samples are licensed under the Apache 2.0 License. See Terms of Use for details.