AntPickax

AntPickax includes open source software products which are necessary for Internet services in Yahoo! JAPAN. It includes basic libraries, components and systems.

AntPickax is a series of a challenging product that made it easy to solve complicated problems. We hope AntPickax products are widely used and create next innovations!

We will keep challenging to publish new open source software as a AntPickax product(like an Ant working with pickax).

Background

Though we use and contribute a lot of open source software in Yahoo! JAPAN, we have started producing the AntPickax with the following background.

Among the created software, we have released software as an AntPickax product that has performance comparable to that of existing OSS and has useful functions not found in existing OSS.

AntPickax Product List

AntPickax includes the following products.

AntPickax Products

k2hdkc

k2hdkc(k2hash based Distributed Kvs Cluster) is a high performance and horizontal scalable distributed KVS cluster system based on k2hash, chmpx Distributed Key Value Store(KVS).

The k2hdkc has unique features shown below.

For details, please refer to Codes on github, Documents.

k2hdkc nodejs addon

k2hdkc nodejs addonK2HDKC nodejs addon - k2hash based distributed kvs cluster) is the Node.js addon library of k2hdkc.
Using this library, k2hdkc’s slave side client application can be implemented with Node.js based JavaScript.
k2hdkc nodejs addon provides all functions and features necessary for the slave side client of distributed KVS of k2hdkc.

For details, please refer to Codes on github, Documents.

k2hftfuse

k2hftfuse(k2hash File Transaction by FUSE based file system) is FUSE (Filesystem in Userspace) is a file/message transfer system using the user space mounting function.

k2hftfuse is a system developed to realize reliable and fast file/message transfer at low cost.
k2hftfuse provides a virtual file system, you can use it by writing the file to the mounted directory.
Just by mounting the directory of the output file of the existing program with k2hftfuse, you can transfer files/messages without changing the existing program.

For details, please refer to Codes on github, Documents.

k2hash

k2hash is the NoSQL Key Value Store(KVS) library. k2hash has basic KVS functions and unique features shown below.

For details, please refer to Codes on github, Documents.

k2hash nodejs addon

k2hash nodejs addonK2HASH nodejs addon - NoSQL Key Value Store(KVS) nodejs library) is the Node.js addon library of k2hash.
Using this library, you can operate k2hash’s data from your Node.js based JavaScript program.
k2hash nodejs addon provides all functions and features of k2hash.

For details, please refer to Codes on github, Documents.

chmpx

chmpx (Consistent Hashing Mq inProcess data eXchange) is a communication middleware for sending and receiving binary data between processes that cross network.

For details, please refer to Codes on github, Documents.

chmpx nodejs addon

chmpx nodejs addonCHMPX nodejs addon - Consistent Hashing Mq inProcess data eXchange) is the Node.js addon library of chmpx.
Using this library, both server side and slave side of communication program using chmpx can be implemented with Node.js based JavaScript program.
chmpx nodejs addon provides all functions and features of chmpx.

For details, please refer to Codes on github, Documents.

k2htp_dtor

k2htp_dtor(k2hash Transaction Plugin Distributed Transaction Of R epeater) easily duplicates the k2hash data by transferring the transaction data of k2hash to another host using chmpx.

This library is a standard transaction plugin library compatible with the k2hash library provided by Yahoo! JAPAN.
This provides a general tool for users to process their own transactions as transaction triggers.

For details, please refer to Codes on github, Documents.

k2htp_mdtor

k2htp_mdtor(k2hash Transaction Plugin Multiple Distributed Transaction Of R epeater) easily duplicates the k2hash data by transferring the transaction data of k2hash to another host using chmpx.

The main purpose of k2htp_mdtor, which loads multiple k2hash transaction plugins, is to call the arbitrary function defined in them. When calling the each function, k2htp_mdtor passes k2hash transaction logs to it as a function’s parameter. A common k2hash transaction plugin loads no other one. We recommend you to use k2htp_mdtor if you want to use multiple k2hash transaction plugins.

For details, please refer to Codes on github, Documents.

fullock

fullock(Fast User Level LOCK library) is a low-level lock library that provides a safe and fast locking function for multiprocess, multithreaded programs.
This library is also used by other AntPickax products such as k2hash, chmpx.

For details, please refer to Codes on github, Documents.