AntPickax

AntPickax は、Yahoo! JAPAN がオープンソースとして提供する基礎ライブラリ、コンポーネント、システムのプロダクト群です。

背景

Yahoo! JAPANでは、多くのオープンソースを利用し、また貢献していますが、次のような背景があり、AntPickax の制作を開始しました。

作成されたソフトウエアのうち、既存のOSSと比較しても遜色のない性能を持ち、かつ、既存のOSSにない便利な機能を持つソフトウエアを、AntPickax プロダクトとしてオープンソースとして公開しています。

AntPickax プロダクト一覧

AntPickax プロダクトの公開しているオープンソースには、以下のものがあります。

AntPickax プロダクト

k2hdkc

k2hdkcK2Hash based Distributed Kvs Cluster)は、k2hash, chmpxをベースとした高速で自動化された分散KVS(Distributed Key Value Store)です。

k2hdkcは、高可用性でスケーラブルな分散型KVSクラスタリングシステムであり、以下の機能・特徴を備えています。

詳しくは、ソースコードドキュメント を参照してください。

k2hftfuse

k2hftfusek2hash File Transaction by FUSE based file system)とは、FUSE(Filesystem in Userspace) によるユーザースペースでのマウント機能を利用したファイル/メッセージ転送システムです。

k2hftfuseは、 確実高速 なファイル/メッセージ転送を低コストで実現するために開発されたシステムです。 k2hftfuseは、仮想ファイルシステムを提供し、マウントしたディレクトリにファイルを書き込むだけで利用でき、ログファイルやデータなどを集約できます。 既存プログラムの出力ファイルのディレクトリをk2hftfuseでマウントするだけで、既存プログラムの変更なしにファイル/メッセージ転送ができます。

詳しくは、ソースコードドキュメント を参照してください。

k2hash

k2hashは、NoSQL Key Value Store(KVS)libraryです。
k2hashは、基本的なKVSの機能と、以下に示す独自の特徴を備えています。

詳しくは、ソースコードドキュメント を参照してください。

chmpx

chmpxConsistent Hashing Mq inProcess data eXchange)は、ネットワークをまたぐプロセス間におけるバイナリ通信を行うための通信ミドルウエアです。

詳しくは、ソースコードドキュメント を参照してください。

k2htp_dtor

k2htp_dtork2hash Transaction Plugin Distributed Transaction Of Repeater)は、k2hash のトランザクションデータを chmpx を利用して他ホストへ転送を行い、k2hashデータの複製を容易に実現します。
k2hashライブラリに対応したYahoo! JAPANの提供する標準トランザクションプラグインであり、トランザクションをトリガとして独自処理のための一般的な手段を提供します。

詳しくは、ソースコードドキュメント を参照してください。

fullock

fullockFast User Level LOCK library)は、マルチプロセス、マルチスレッドから安全で、高速なロック機能を提供する低レベルのロックライブラリです。
このライブラリは、k2hash, chmpxなど他の AntPickax プロダクトでも利用されています。

詳しくは、ソースコードドキュメント を参照してください。