タグ

ブックマーク / yut.hatenablog.com (8)

  • 【進撃の巨大データ】Log集計用DBとシステム構成の美しい設計を考える - Y's note

    [:W560] Log集計用DB設計 考える問題 Document無しのAgile開発をガチで推奨したい@yutakikuchi_です。【進撃の巨大データ】の第2回目として巨大アクセスLog集計用DBの設計について勉強した内容についてメモしたいと思います。DB周りはそこまで詳しく無いので詳しい皆様からの突っ込み大歓迎でございます。また図々しいですが知恵をください(笑)。 今日の主目的は下の2要件を叶えるためのDB設計を考える事です。特に問題になるのがRealTimeの話でTableにLogDataを書き込む処理と集計のSQLをどのように組み立てるか、それ以外にもSystemPerformanceとArchitectureにも関わってきます。 リアルタイムで大量データを集計したい 定期処理で大量データを集計したい 使うもの Fluentd : Fluentd: Open Source Log

    【進撃の巨大データ】Log集計用DBとシステム構成の美しい設計を考える - Y's note
  • 検索Crawlerを作る - Y's note

    Solr in Action 作者: Trey Grainger,Timothy Potter出版社/メーカー: Manning Pubns Co発売日: 2014/04/05メディア: ペーパーバックこの商品を含むブログを見る Nutch + Solr + Hbase + Zookeeper Nutchで特定のWebPageをCrawlingしてSolrのIndexを作ろうとした時にかなり嵌ってしまったので作業のメモを記録しておきます。(※タイトルに語弊があるようですが、検索Crawler自体を作るという話ではありません。)特にNuth/Hbase間のVersion依存があるので、installしてみたけど動かなかったという人の参考になればと思います。Webを色々と探してみるとNutch2.2.1とHbase0.90.Xを組み合わせると良いようです。僕が試してみた環境は以下のものです。因

    検索Crawlerを作る - Y's note
  • MongoDBのCapped CollectionとTailable Cursorを使ったRealTimeAccess集計 - Y's note

    Index RealTimeAccess集計 Capped Collection Tailable Cursor まとめ RealTimeAccess集計 RealTimeAccess集計をするためにMongoDBの利用を考えます。サーバーの構成は上図のようなイメージで各種ApplicationServerからFluentdでLogAggregatorにRealTimeでLogデータを転送し、LogAggregator MasterがMongoDBにFluentdで書き込んで行きます。ここで言うRealTimeAccess集計の機能要件を整理すると以下のようになります。 Access発生後、1分以内で集計結果をWebツール上で確認したい。集計区間も1分単位など。 複数条件が指定可能で、柔軟なCross集計がしたい。 RealTimeAccess集計のSystem負荷を出来る限り抑えたい。

    MongoDBのCapped CollectionとTailable Cursorを使ったRealTimeAccess集計 - Y's note
  • 【進撃の巨大データ】RealTimeLog集計を目的としたRedisの活用 - Y's note

    Log集計の設計を再考 【進撃の巨大データ】Log集計用DBとシステム構成の美しい設計を考える - Yuta.Kikuchiの日記 人生を前向きに楽しむことを心に誓った@yutakikuchi_です。最近はこのブログで【進撃の巨大データ】というタイトルで何回かBigDataに関する記事を書いています。前回はLog集計用DBとシステム構成の美しい設計を考えるという題でInnoDB、InfiniDBを使ったLog集計のmerit/demerit、SystemPerformanceについて記述しました。それから時間をおいて再考し、InnoDBを使う場合のメリット/デメリットと注意事項が不足している事に気づいたのでここで追記します。更に集計の緊急度に合わせて使用するDBを変えます。リアルタイムではRedis、定期処理ではMysqlを使って集計することを試してみたいと思います。 Log集計方法のme

    【進撃の巨大データ】RealTimeLog集計を目的としたRedisの活用 - Y's note
    bluele
    bluele 2013/07/17
  • Pythonでbase64エンコード・デコードする方法 - Y's note

    import base64でできる バイナリデータをASCII文字列化する手段の一つであるbase64encode・decodeをpythonでやる方法。import base64によりすごく簡単にできる。エンコード:base64.b64encod、decode:base64.b64decode。Paddingには'='が使用される様子。以下はサンプルサンプルコードでバイナリ形式のimageファイルを読み込み、base64encodeを行い、encodeした文字列からdecode関数で元ファイルのバイナリと同じであるかどうかを確認している。 #! /usr/bin/env python # -*- coding:utf-8 -*- import base64 #file読み込み file = open('./image.jpg', 'rt').read() #base64でencode e

    Pythonでbase64エンコード・デコードする方法 - Y's note
  • Pythonでの暗号化/復号化(AEC-DES,RSA) - Y's note

    概要 Pythonで文字列の暗号化を行う場合は、Python Cryptography Toolkitを利用すると簡単に実装ができます。 Python Cryptography ToolkitGoogle App Engineでもサポートされています。 http://www.amk.ca/python/code/crypto.html http://code.google.com/intl/ja/appengine/docs/python/tools/libraries.html#PyCrypto この記事ではAES-DES,RSAの実装について説明したいと思います。 始めに注意 Google App Engineのサーバに下記のプログラムを配布すれば利用ができますが、 localの場合は最初に http://www.amk.ca/python/code/crypto.html からファ

    Pythonでの暗号化/復号化(AEC-DES,RSA) - Y's note
  • Support Vector Machinesを用いた「魔法少女まどか☆マギカ」人物予測モデル - Y's note

    言語処理のための機械学習入門 (自然言語処理シリーズ) 作者: 高村大也,奥村学出版社/メーカー: コロナ社発売日: 2010/07メディア: 単行購入: 13人 クリック: 235回この商品を含むブログ (39件) を見る 人物予測モデル 記事のタイトルがだいぶ固い内容になっていまいましたがやりたい事はとても簡単です。過去に発せられたまど☆マギ台詞の形態素を学習し、予測モデルを作成します。その後に未分類の形態素のデータセットを与えた時にどれだけ人物のラベル付けが正しく行われたかを評価します。予測モデルの対象となる人物は鹿目まどか/暁美ほむら/美樹さやか/キュゥべえ/佐倉杏子/巴マミの合計6名です。機械学習にはSVMを利用します。先に実験の結果をお伝えしておくと、台詞の形態素ベクトルでは十分なマルチラベリングができていません。それでもこの記事が気になる方は読み進めてください。処理手順の詳

    Support Vector Machinesを用いた「魔法少女まどか☆マギカ」人物予測モデル - Y's note
    bluele
    bluele 2012/11/30
  • SpiderMonkeyでのコマンドラインJavascript - Y's note

    Javascriptの実行はWebブラウザ上に限定されたものではない。ターミナル上でもスクリプト言語として実行可能だし、構文チェックも可能。今日はあまり知られていない非ブラウザでのJavascriptの話。SpiderMonkeyをターミナル上で動かすことを中心にまとめる。 SpiderMonkeyとは 世界初のJavascriptエンジンのコード名。 Mozilla Foundationによって保守運用。 C言語で開発され、インタプリタ、コンパイラ/逆コンパイラ、ガーベージコレクション、標準クラス群を提供。 LinuxMacにinstallするとコマンドラインからJavascriptが操作可能。構文チェックも可能。 install Macにinstallする方法を挙げる。以下2つのどちらかの方法を採用すれば良い。 ※sourceからのbuildmacの場合色々と設定が大変だったのでp

  • 1