タグ

2014年11月14日のブックマーク (5件)

  • AnyEventでイベント駆動プログラミング - 車輪を再発明 / koba04の日記

    Web+DB PRESSのvol.56にあったid:lestrratさんの「AnyEventでイベント駆動プログラミング」を読んで、イベント駆動プログラミングに入門してみました。 間違っている点もあるかと思うのでご指摘頂けると幸いです。 イベント駆動プログラミングとは? 処理を記述された順番に実行するのではなく、「イベントループ」と呼ばれる処理のタイミングを管理する担当者に、「したい処理」と「処理をしたいタイミング」を伝えることにより、「イベントループ」が処理をお願いしたタイミングで「したい処理」を実行してくれるというものです。 何がうれしいのか。 強力的マルチタスキング。 1つのプロセスで並列処理を行う。 あるウェブページのRSS「取得」し「解析」する場合、RSSを「解析」する処理はRSSを「取得」するまで行うことが出来ません。ですが、RSSを取得する処理は時間が掛かるので、それを待って

    AnyEventでイベント駆動プログラミング - 車輪を再発明 / koba04の日記
  • 管理が困難―分散処理の常識はZooKeeperで変わる

    管理が困難―分散処理の常識はZooKeeperで変わる:ビッグデータ処理の常識をJavaで身につける(8)(1/3 ページ) Hadoopをはじめ、Java言語を使って構築されることが多い「ビッグデータ」処理のためのフレームワーク/ライブラリを紹介しながら、大量データを活用するための技術の常識を身に付けていく連載 分散処理の課題が「管理」なのは常識 複数の計算機上で動作(分散)するアプリケーション、ソフトウェアが多く存在します。分散ソフトウェアは複数の計算機で動作することで大量のデータを扱えたり、高負荷な状況に対処します。稿では、複数の計算機(クラスタ)で動作する各サーバを「インスタンス」と呼びます。 連載で紹介した分散Key-Valueデータベースである「HBase」は複数の計算機で動作する代表的なソフトウェアです。両ソフトウェアはともに「Apache ZooKeeper」(以下、Z

    管理が困難―分散処理の常識はZooKeeperで変わる
  • ZooKeeper: 面倒な分散システムのコーディネートを支援するサービス

    ZooKeeper: 面倒な分散システムのコーディネートを支援するサービス ZooKeeper は、分散アプリケーションのためのパフォーマンスの高いコーディネーションサービスです。ZooKeeper では、名前付け、設定管理、同期化、各種グループサービスなど、利用頻度の高いさまざまなサービスが用意されているので、これらのサービスをゼロから作成する必要はありません。ZooKeeper をそのまま使えば、合意プロトコル、グループ管理プロトコル、リーダー選挙プロトコル、およびプレゼンスプロトコルを実装できます。ZooKeeper を基に、独自のニーズに対応したサービスを構築することもできます。 以下のドキュメントでは、ZooKeeper のコンセプトや ZooKeeper を使うための手順について説明しています。ドキュメントを読んでわからないことがあったら、メーリングリストに質問を投稿するか、ア

  • DLM::Client

    NAME DLM::Client - Linux DLM(Distributed Lock Manager) Client SYNOPSIS use DLM::Client qw/LKM_EXMODE/; my $lock_id = 0; if ( DLM::Client::lock_resource( 'LOCK_NAME', LKM_EXMODE, 0, $lock_id) == 0 ){ print "Locked\n"; } if ( DLM::Client::unlock_resource($lock_id) == 0 ) { print "Unlocked\n"; } DESCRIPTION DLM::Client is a direct binding to linux distributed lock manager (DLM is part of the Linux ke

    DLM::Client
  • innodb_large_prefixを使ってERROR 1071を回避する | Yakst

    大きなサイズのインデックスを生成しようとするとERROR 1071が発生することがあり、そんな時にはinnodb_large_prefixパラメータを利用すると良いことがある。 MySQLのInnoDBストレージエンジンのテーブルの長いvarcharカラムを含むカラムにインデックスを生成しようとしたことがあれば、このエラーを見たことがあるだろう。 ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes 文字数制限は、使っている文字コードに依存する。例えば latin1 であればインデックスを生成できる最大カラムは varchar(767)であるが、 utf8 の場合は varchar(255) までである。 インデックスあたり、3072バイトという別の制限もある。767バイトはカラムごとの制限な

    innodb_large_prefixを使ってERROR 1071を回避する | Yakst