タグ

ブックマーク / frsyuki.hatenablog.com (9)

  • 並列データ転送ツール『Embulk』リリース! - Blog by Sadayuki Furuhashi

    こんにちは。古橋です。 先日の*1 データ転送ミドルウェア勉強会で、新しいオープンソースツール Embulk をリリースしました。 Embulk, an open-source plugin-based parallel bulk data loader from Sadayuki Furuhashi Embulk は、リアルタイムなログ収集では常識となった fluentd のバッチ版のようなツールで、ファイルやデータベースからデータを吸い出し、別のストレージやデータベースにロードするためのコンパクトなツールです。 fluentd と同様にプラグイン型のアーキテクチャを採用 しているため、RubyJavaで簡単なコードを書くことで、様々なファイルフォーマットやストレージに対応することができます。一方で fluentd とは異なり、高速性やトランザクション制御、スキーマを使ったデータのバリ

    並列データ転送ツール『Embulk』リリース! - Blog by Sadayuki Furuhashi
    ji_ku
    ji_ku 2015/02/18
  • リトライと冪等性のデザインパターン - Blog by Sadayuki Furuhashi

    リトライを肴に一晩酒が飲める古橋です。 大規模なデータに触れることが日常茶飯事になっている今日この頃。この分野のおもしろいところは、いつまで経っても終わらないプログラムを簡単に作れてしまうことかもしれません。エラー処理、リトライそして冪等性*1の3つを抑えていないプログラムは、小規模なデータなら問題ないが、データ量が多くなると使い物にならなくなる可能性が大です。 大規模データをバッチ処理するケース以外でも、リトライは一般にプログラムの信頼性に関わる重要な問題です。 そんなわけで、リトライに関わるいくつかのデザインパターンを、連載でまとめておこうと思います*2。 では、第1回は背景から: なぜリトライが必要なのか プログラムは色々な理由で失敗する。例えば、 A) 通信先のプログラムが高負荷すぎて応答できなかった B) メモリを消費しすぎてメモリ確保に失敗した。またはOOM KIllerに殺さ

    リトライと冪等性のデザインパターン - Blog by Sadayuki Furuhashi
  • 古橋貞之の日記 - 開発環境としてのMac OS Xカスタマイズ

    Mac OS Xを使っていないプログラマは、時間の80%を無駄にしている、かどうかは知りませんが、堅いGUIとUNIX系のコマンドラインツールを使えるMac OS Xは、開発環境として使いやすいことは確か。 が、デフォルトのままでは、Terminal.appで日語が表示できないとか、lsやfindがGNU系じゃなくてBSD系だとか、要するにOSだってカスタマイズしてなんぼというわけであります。 というわけで、私のMac OS Xのカスタマイズをこのあたりに書いておきます。 ※2008/2/3追記: Leopard版書きました > 開発環境としてのMac OS X Leopard Terminal.app Mac OS Xにはデフォルトで「ターミナル」(/Applications/Utilities/Terminal.app)が付いてきますが、これがデフォルトではまったくイケてない。主要な

    古橋貞之の日記 - 開発環境としてのMac OS Xカスタマイズ
  • MessagePack for Java ついに 0.6 リリース! - Blog by Sadayuki Furuhashi

    先日の fluent に引き続き、新しいソフトウェアのリリースです。 満を持して、MessagePack for Java 0.6 をリリースしました! 9ヶ月ぶりのメジャーバージョンアップです。 以前のバージョン 0.5 の API をすべて見直し、互換性を維持しながらも、数多くの機能を新たに搭載しました。動的オブジェクトAPI や リフレクション機能の強化、JRubyとの連携、JSONサポート などなど。もちろん、性能も大きく向上しています。 このバージョン 0.6 のリリースによって、MessagePack の応用範囲は大きく広がります。MessagePackは、クラウドシステムからモバイルデバイスデバイスまで、多種多様なシステムの連携と統合をサポートする、新しいデータ表現形式です。 さて、新機能の詳細をご覧下さい: JSONシリアライザ・デシリアライザを統合 MessagePack

    MessagePack for Java ついに 0.6 リリース! - Blog by Sadayuki Furuhashi
  • イベントログ収集ツール fluent リリース! - Blog by Sadayuki Furuhashi

    こんにちは。Treasure Data の古橋です^^; 先日の Treasure Data, Inc. 壮行会 で、イベントログ収集ツール fluent をリリースしました! Fluent event collector fluent は syslogd のようなツールで、イベントログの転送や集約をするためのコンパクトなツールです。 ただ syslogd とは異なり、ログメッセージに テキストではなく JSON オブジェクト を使います。また プラグインアーキテクチャ を採用しており、ログの入力元や出力先を簡単に追加できます。 Twitterでも話題沸騰中です:イベントログ収集ツール #fluent 周りの最近の話題 背景 「ログの解析」は、Webサービスの品質向上のために非常に重要です。Apacheのアクセスログだけに限らず、アプリケーションからユーザの性別や年齢などの詳しい情報を集め

    イベントログ収集ツール fluent リリース! - Blog by Sadayuki Furuhashi
    ji_ku
    ji_ku 2011/10/06
  • kumofsから学ぶNot only SQLの技術 - Blog by Sadayuki Furuhashi

    NoSQLを知る〜kumofsから学ぶNot only SQL技術 と題して、Developers Summit 2010で発表しました。 twitterの#devsumi2010 kumofsを見る限りでは大変ご好評をいただいたようで、ひとまずほっとしています。 プレゼンテーションの資料を公開しました。内容はどれも同じですが、クリックで進むムービー版がオススメです。 クリックで進むムービー(クリック/矢印キーで進む) PDF Keynoteファイル(Keynote '09が必要) NoSQLを知るView more presentations from frsyuki. Consistent Hashingとdouble-hash-spaceアルゴリズムの紹介は、68ページ以降にあります。 第101回 カーネル読書会 2月25日に楽天タワーで行われるカーネル読書会でも、kumofs関連

    ji_ku
    ji_ku 2011/05/22
    Bylineから kumofsから学ぶNot only SQLの技術 - 古橋貞之の日記 NoSQLを知る〜kumofsから学ぶNot only SQLの技術 と題して、Developers Summit 2010で発表しました。twitterの#devsumi2010 kumofsを見る限りでは大変ご好評をいただいたようで、ひとま
  • Webサイトをgithubで管理してpush時に自動的に同期する方法 - Blog by Sadayuki Furuhashi

    Webサーバに Subversion のサーバを立てておき、HTMLCSS を commit することでWebサイトを更新する方法は、良く知られているテクニック、らしいですね*1。更新の履歴を残すことができるし、ましてチマチマとFTPやsftpでアップロードするよりずっと簡単です。 しかし SVN の代わりに git を使おうとすると、pushしてもリポートリポジトリではファイルを更新してくれません。 また、リポジトリはWebサーバ上に作るよりも、便利な管理インタフェースがある github(や噂のgitosis)に置いておきたいところです。 そこで、github の Post-Receive Hook を使うと、リポジトリに変更を push すると同時に、Webサーバにも同期させることができます*2。 Webサーバに同期する前に、Sphinxでドキュメントを整形したり、SassをC

    Webサイトをgithubで管理してpush時に自動的に同期する方法 - Blog by Sadayuki Furuhashi
    ji_ku
    ji_ku 2011/04/03
  • 高速メッセージングシステムMessagePack - 楽天テクノロジーカンファレンス2010 - Blog by Sadayuki Furuhashi

    もはや先月のことですが、楽天テクノロジーカンファレンス2010で発表してきました。 MessagePackについて、かなり詳しく紹介しています。 MessagePack Rakuten Technology Conference 2010View more presentations from frsyuki. Ustream.tvの録画はこちら MessagePackの概要(7ページ目〜) MessagePack は、It's like JSON, but very fast and small. のフレーズの通り、「JSONみたいに使えるけど速くて小さい」シリアライズ形式です。 JSONがテキスト形式のシリアライズフォーマットであるのに対し、MessagePackは様々な工夫を取り入れたバイナリ形式のシリアライズフォーマットです。 MessagePack-RPC は、MessagePa

    高速メッセージングシステムMessagePack - 楽天テクノロジーカンファレンス2010 - Blog by Sadayuki Furuhashi
  • 54行で分散KVSを実装する(レプリケーション機能付き) - Blog by Sadayuki Furuhashi

    Ruby と MessagePack-RPC があれば、簡単なkey-valueストレージは簡単に作れます。54行で書けます(レプリケーションと負荷分散機能付き。サーバー38行、クライアント16行)。 簡単なKVSをベースにして、ログ集計や遠隔デプロイ、遠隔管理機能などの機能を追加していけば、ちょっと便利なサーバープログラムをサクサク自作できるハズ。 この分散KVSは、(keyのハッシュ値 % サーバーの台数)番目のサーバーにkeyを保存します。また、サーバーの名前順でソートしたときの「次のサーバー」と「次の次のサーバー」にデータをレプリケーションします。 すべてのサーバーで同じ設定ファイルを使います。サーバーごとの設定は引数を自分のホスト名に書き換えるだけなので、デプロイが容易です。 MessagePack-RPC for Ruby を使うと、分散しないkey-valueストレージ*1は

    54行で分散KVSを実装する(レプリケーション機能付き) - Blog by Sadayuki Furuhashi
    ji_ku
    ji_ku 2009/11/27
  • 1