タグ

2013年5月20日のブックマーク (25件)

  • SQL::Abstract - Perlのデータ構造からSQL文を生成する - perldoc.jp

    名前¶ SQL::Abstract - Perlのデータ構造からSQL文を生成する 概要¶ use SQL::Abstract; my $sql = SQL::Abstract->new; my($stmt, @bind) = $sql->select($table, \@fields, \%where, \@order); my($stmt, @bind) = $sql->insert($table, \%fieldvals || \@values); my($stmt, @bind) = $sql->update($table, \%fieldvals, \%where); my($stmt, @bind) = $sql->delete($table, \%where); # それから、これらをDBIステートメントで使う my $sth = $dbh->prepare($stmt);

  • vimの設定ファイル(.vimrc)を晒してみる | Kitchen Garden Blog - I'll cook and hack new one.

    まだ途中というか、せっかく突っ込んだバンドルのコンフィグとか何も設定してなかったりするので、もうちょっと弄りたいなあと思いつつ、あまりいじれておりませんが…。2〜3年前あたりから?そこらじゅうで.vimrcを晒すのが流行っていると聞いた気がするので、僕も公開してみます。長年熟成させた人のものと比べれば、そりゃあもう酷い有様ですが。。。

  • ソーシャルゲームログ解析基盤のHadoop活用事例

    6. 1 1,000 / AP APAP AP DB d fluentd fluentd mongos mongod(PRIMARY) DB config mongod(SECONDARY) DB fluentd mongos mongod(SECONDARY) config ReplicaSets & Sharding NFS 6 8. 8.5GB 1.4GB / ID Nov 1 23:59:59 hogehoge-ap1 hogehoge ADD_MONEY 12345 [BeforeMoney] 67979 [AfterMoney] 68024 [Money] 45 Nov 1 23:59:59 hogehoge-ap2 hogehoge CONSUME_POWER 12345 [BeforePower] 25 [AfterPower] 20 [ConsumePower] 5 8 10. M

    ソーシャルゲームログ解析基盤のHadoop活用事例
  • MongoDBざっくり解説

    2. 自己紹介 Name:間 知教(ほんま とものり) Twitter:@CkReal 経歴 2008年4月∼2011年9月 国内某ITコンサルティング会社:インフラ担当 2011年9月∼ 株式会社gumi:インフラand解析チーム 今週から正社員になりました^^; 好きなMongoDBの機能:Replica Sets 2 11年12月8日木曜日 3. はじめに はじめての @doryokujin 日UNIXユーザ会 勉強会 2011/09/15 http://www.slideshare.net/doryokujin/ @doryokujinさん mongodb-9208855 3 11年12月8日木曜日

    MongoDBざっくり解説
  • MongoDB勉強会資料

    2. MongoDB勉強会 第二回 MongoDB勉強会 • 自己紹介 • 宍戸展志(ししど ひろむね) 25歳 • Twitter @joe_hrmn • 所属 • 株式会社 サイバーエージェント • Tachy(プレリリース中)担当 アプリケーションエンジニア • その他 • サッカー大好き • Piggに似てる 2

    MongoDB勉強会資料
  • MySQLの冗長化 2013-01-24

    <SKILL BASECAMP 2013> MySQLの冗長化~無停止運用を実現するには~ http://www.pasonatech.co.jp/entry/index.jsp?mode=2&d=on&no=3756Read less

    MySQLの冗長化 2013-01-24
  • MySQLレプリケーションを安全に利用するための10のテクニック

    MySQLのレプリケーションは非常に簡単に使える割には応用の幅が広いので非常に人気のある機能の一つである。レプリケーションの応用分野は例えば、 バックアップ 参照系の負荷分散 HA(高可用性) ディザスタリカバリ(サイト間レプリケーション) BI(レポーティングetc) という風にとても多くのバリエーションがある。このブログを読んで頂いている皆さんの中にもレプリケーションを使っている方は多いのではないだろうか。ご覧の通りMySQLのレプリケーション機能はミッションクリティカル分野でも利用されているが、レプリケーションの使い方が適切でないとシステムの安定稼働に支障を来してしまってDBAやシステム管理者の肉体的、精神的負担が増大してしまう。逆にレプリケーションを堅牢に運用することが出来ればマクラを高くして眠れるというものだ。レプリケーションはMySQLの代表的な機能であるので、レプリケーション

    MySQLレプリケーションを安全に利用するための10のテクニック
  • 現場指向のレプリケーション詳説

    この文書は、技術評論社刊『WEB+DB PRESS Vol.22』に執筆した記事を技術評論社の 許可を得てWWWで公開しているものです。 このWWW版は校正前の原稿を元にしている点、WWW公開後に必要があれば修正する点で、雑誌版の文章とは異なる部分があります。また、図表も雑誌版とは異なります。 予めご了承ください。 また、この文章が対象しているのはMySQL 4.0系なので、最新のリリース版と比べると説明不足な点などが多々あると思います。 レプリケーションの基をおさえるには、この文書はまだ有益だと思いますが、設定レベルの説明は最新のドキュメントを参照するようにしてください。

  • 第5章 MySQL の最適化

    言うまでもなく、システムの速度を上げる際に最も重要な要素は基設計です。また、使用するシステムの用途およびそのボトルネックを認識しておく必要もあります。 最も一般的なボトルネックは下記のとおりです。 ディスクシーク。 ディスクが 1 つのデータを検索するには時間がかかる。1999 年の最新のディスクでは、通常これにかかる平均時間が 10 ms 未満であるため、理論的には 1 秒間に 100 のシークを実行できることになる。新しいディスクではこの時間の改善が緩やかで、1 つのテーブルの最適化が非常に困難である。これを最適化する方法として、複数のディスクにデータを分散することが挙げられる。 ディスクの読み取りと書き込み。 ディスクが適切な位置にある場合、データの読み取りが必要になる。1999 年の最新のディスクでは、1 つのディスクで約 10 - 20 MB の読み取りが可能になる。これは、複

  • MySQLのインデックスについて、 質問させてください。…

    MySQLのインデックスについて、 質問させてください。 id1 int, id2 int, data1 int, data2 int, 上記のようなカラムを持つテーブルがあり、 id1×id2においてユニークである場合 A id1,id2に複合でprimaryをはり、id2に別途indexをはる B id1、id2にそれぞれindexをはる(primaryを設定しない) 上記のようなAとBのケースにおいて、 8000万レコード程度ある場合、 インデックスのサイズが、 下記のようにBの方が2倍以上大きくなっています。 A 1.7G B 4.9G この原因がわかる方いらっしゃいましたら、 教えていただけます。 またAとBではパフォーマンスにも、 大きく影響を与えるのでしょうか。 よろしくお願いします。

  • KOSHIGOE学習帳 - [MySQL] パフォーマンス関連メモ

    {{toc_here}} InnoDB パフォーマンスチューニング MySQL :: MySQL 5.1 リファレンスマニュアル :: 13.5.11 InnoDB パフォーマンス チューニング ヒント MySQL :: MySQL 5.1 Reference Manual :: 13.6.13.1 InnoDB Performance Tuning Tips 長過ぎる PRIMARY KEY を避けてディスク領域の無駄遣いを避ける セカンダリインデックス用に余計な領域を使わないよう、長い主キーを避ける 主キーが長い場合、代わりに AUTO_INCREMENT なカラムを主キーとして作成するとよい 補足 MySQL :: MySQL 5.1 リファレンスマニュアル :: 13.5.13 InnoDB テーブルとインデックス構造 MySQL :: MySQL 5.1 Reference Ma

  • 『質問の答えを書く』

    ビジネスによくあるシーン。 1. ドキュメントを作る 2. 誰かに見せる 3. 質問される 4. 質問に答える 5. 納得してもらう 例えば、報告書の類とか、我々の仕事なら設計書のレビューなどもそうだ。また、ソースコードのレビューも同じである(以下、「ドキュメント」にはソースコードも含むものとする)。 さて、上記の流れの後でそのまま終わってしまう人も多いのだが、それはよくない。 単純に考えると、質問された内容というのは、「作成したドキュメントから読み取れなかったこと」である。しかも、少なくとも聞き手が質問せずにはおられない程度に「重要なこと」なのである。 そのため、今後、別の人(たとえば上司のそのまた上司)がこのドキュメントを読んだら、同じ質問をしてくる可能性が高い。質問の機会がなければ誤解されてしまうかもしれない。また、説明を受けた人ですら、後になってその内容が思い出せなくなって、違う解

    『質問の答えを書く』
  • リファレンス - SMART 開発者のためのウェブマガジン

    リファレンスの利用方法 Perlにはスカラや配列、ハッシュのほかに、『リファレンス』という一風変わった変数があります。スカラに代表される一般的な変数は、その名のとおりデータ(値)を記録するためのものですが、リファレンスは違います。リファレンスは値を記録する代わりに、値を格納しているアドレスを記録します。 リファレンスの概要リファレンス演算子(\)を使ったリファレンスの作成リファレンスの参照参照先のデータタイプを調べるソフトリファレンス リファレンスの概要 ここでちょっと変数についておさらいしてみましょう。変数は、ユーザが指定した値を記録し、あとから変数名を使ってその値を呼び出すためのものです。このとき、変数が何をやっているかというと、指定された値をコンピュータのメモリに記録して、アドレスと変数名をリンクさせています。 リファレンスは、値の代わりに、変数名にリンクされたアドレスを記録するスカ

    リファレンス - SMART 開発者のためのウェブマガジン
  • どんぞこCGI+--

    XML::Parser::LiteHeavy XML::Parser::Liteを改良した、正規表現を利用した軽快なXMLパーサ。 JEncode.pm Perl5.8以降のEncode.pmのラッパー。インターフェースをJcode.pmと同じにしてあります。Encodeのsjisとeucの判定失敗に若干対応。正規表現関連メソッド追加。現在v.1.23 FreeStyle Wikiプラグインなど FreeStyleWiki用のプラグインやXML-RPC APIなど。 Tkppの日語化 PAR-0.76に含まれるGUI、tkppの日語化。 デスクトップアクセサリー Perlを使って、癒し系デスクトップアクセサリーをつくりました。Windows用実行形式ファイルもあります。 MIDIの実験 ふははは ついにMIDIモジュールの実験が出来ましたよ! URIを指定すると、そのページ固有の曲を作

  • Acmeモジュール入門 - Articles Advent Calendar 2011 Acme

    ついに今年もAdvent Calendarが始まりましたね!Acmeトラックの初日を担当させていただくneko_gata_sです。最近は新潟県に住んでいます。新潟はとてもごはんがおいしいので、機会があれば是非べにきてくださいね! さて、今日は初日なので、特定のモジュールの紹介の前に、Acmeとはなんぞや、というお話から始めてみたいと思います。 Acmeとは何ぞや Acmeとはそもそも「絶頂」を意味する英単語ですが、Perlの世界ではジョークモジュールの名前空間を意味します。Perlの有用なモジュールがたくさん登録されているCPANの中に、ジョークモジュールがなんの手綱もなしに野放しになっていたらまずいよね、という観点から、ジョークモジュールはAcmeという名前空間におさめよう、ということになりました。それ以来CPANのAcme名前空間には楽しいジョークモジュールがたくさんアップされ、時に

    Acmeモジュール入門 - Articles Advent Calendar 2011 Acme
  • 素晴らしきPerlモジュールの世界

    カテゴリー"Acme" CPANには大量のPerlモジュールが登録されています。暗号操作、Apacheとの連携、テキスト処理、データベースへの接続、MIDIやPDFファイルの操作等々、ありとあらゆるモジュールがプログラミングの手助けをしてくれます。これらは全てカテゴリー別に分類されています。例えば、今あげた暗号関連のモジュールなら"Crypt"に属しますし、テキスト処理に関するものは"Text"という具合です。 このなかでも、"Acme"というカテゴリーには大変素敵で野心的なものがたくさんあります。いくつか紹介してみたいと思います。 Acme::Damn さて、Perlでオブジェクト指向プログラミングを行なう場合、blessという組み込み関数を使います。 bless $object,MyClass; で、blessというのは「祝福」という意味でしてTRPGやってた人にはお馴染みですね。CP

    masashisalvador
    masashisalvador 2013/05/20
    : l ...
  • リファレンスの使い方をマスターしよう - Perl入門ゼミ

    Perl › here リファレンスとはデータを指し示すものを表現します。C言語のポインタのようなものだと考えると理解しやすいです。 配列のリファレンス 配列のリファレンスについて解説していきます。 配列 配列の作成です。 my @nums = (1, 2, 3); 配列のリファレンスの作成 配列のリファレンスの作成です。リファレンスは「\」記号を使って作成します。 my @nums = (1, 2, 3); my $nums = \@nums; 「リファレンス」とは「指すもの」を意味します。$numsは@numsを指しています。 $nums ---> @nums 無名配列のリファレンスの作成 無名配列のリファレンスの作成です。「[]」は無名配列生成子と呼ばれます。 my $nums = [1, 2, 3]; $numsは、名前を持たない「(1, 2, 3)」という配列を指し示しています。

    リファレンスの使い方をマスターしよう - Perl入門ゼミ
  • TokuLog 改めB日記

    pure kotlin な double array の実装である KDary をリリースした https://central.sonatype.com/artifact/io.github.tokuhirom.kdary/kdary https://github.com/tokuhirom/kdary KMP(Kotlin Multiplatform) 環境で Mac アプリを実装していた。その中で雑な文書要約をしたくなり、 TF-IDF を使いたくなった。日語で TF-IDF を使うには単語を分かち書きする必要があるわけだが、分かち書きするには形態素解析機を使うのが手っ取り早いということになる。しかしながら、KMP 環境では利用できる日形態素解析機は存在していない。 ないものは作るしかないので、作るのだが、日語の形態素解析を効率よくやるためには共通接頭辞検索を行う必要がある。こ

  • Cookie の概要と使い方 | futomi's CGI Café

    Web アプリケーションを作る上では欠かせない Cookieコーナーでは Cookie の仕組みを詳しく説明し、Perl スクリプトでの実装方法を簡単に解説していきます。 目次 Cookie とは? Cookie とは、サーバとの通信において特定の情報をクライアント(ブラウザー)に保持させるものです。 主にユーザーセッション識別子を保存するために使われることが多いでしょう。 この仕組みにより、ログインという仕組みを作ったり、あなた向けにパーソナライズされたコンテンツや 広告を表示するなどn仕組みを実現できるようになります。 Cookie を使うことによって多彩な機能を実現することができますので、 CGI を作成するにあたっては非常に便利な機能です。 CookieNetscape Communications Corporation が PERSISTENT CLIENT STA

  • MySQLお勉強メモ(InnoDB編) | きぬろぐ

    MySQLお勉強メモ、InnoDB編です。 特徴 データ形式 ibdata files : データ/インデックス領域。UNDO領域/データディクショナリが含まれる。 ib_logfile files : REDOログのようなもの メタデータ : データベースディレクトリに存在(テーブル名.FYM) ibdataはテーブル毎に分割することが可能。テーブルメンテナンスやパーティションで有効。 トランザクション 対応。ACID属性に準拠している。デフォルトはAUTOCOMMIT。 デフォルト分離レベルはrepeatable read。Oracleはread committed。 ロック 行ロック。完全な行レベルロックではなく、インデックスのnext_key_lock。なので、当該レコード以外の部分(中間Node等)でもロックがかかる可能性がある。 ALTER TABLE時にはテーブルロック(RE

  • VOYAGE GROUP エンジニアブログ : MySQL InnoDBでのネクストキーロックの落とし穴

    2010年06月30日14:34 カテゴリDB MySQL InnoDBでのネクストキーロックの落とし穴 はじめまして、株式会社ECナビ システム部 情報システムグループの三浦と申します。 私は主にデータベースの運用、管理を行っています。 ECナビでは様々なサービスを展開しています。そしてそれと同じ数と言っても良い程のデータベースが稼動しています。 リレーショナルデータベースがメインでサービスを支えていますが、それを補う形でキーバリューストア的なデータベースも多数存在しています。 メインで活躍しているリレーショナルデータベースは用途によりOracleMySQLNetezza等と多岐に渡っています。 今回はMySQL InnoDBで実装されているネクストキーロックの落とし穴をデッドロックと絡めて説明したいと思います。 評価環境のMySQLのバージョンは5.1.39、トランザクション分離

  • BKCon 2006 - にぽたん研究所

    昨日は BKCon 2006 に行ってきた。 BK というのは「一般的にはバッドノウハウの事」なんですが、昨日のは、BKCon と言っても、かつて開催された Bad Knowhow Conference 2004 の続編とかではなく、"B"atara "K"esuma "Con"ference 2006 です。 ※正しくは横浜 Linux ユーザグループ主催の「第 65 回カーネル読書会」のテーマ "mixi.jp: Scaling Out With Open Source" です。 ちなみに、Batara Kesuma さんというのは、株式会社ミクシィの取締役。 mixi の裏側を見せますというか、ちょっと hip な言いかたをすれば "Inside mixi's backend" ってカンジです。 とりあえず、プレゼン内容は YAPC::Asia の時と大凡同じでしたが、プレゼンの持ち

    BKCon 2006 - にぽたん研究所
  • naoyaのはてなダイアリー - MyISAM vs InnoDB

    あくまで憶測で仮説でしかないんですが。 MySQL のストレージエンジンのうち代表的な二つ、MyISAM と InnoDB はよく MyISAM: Read は速いけどテーブルロックのため並行性が低い。運用が簡単。 InnoDB: MyISAM より Read は遅いけど並行性が高い 。行レベルロックなので。あとトランザクションや外部キー制約。運用が MyISAM よりちょっとめんどくさい。 という区別がされます。ここから転じて、 MyISAM は参照系クエリが大部分を占める場合に適用すると良い。例えば blog アプリケーションとか。 InnoDB は更新系クエリが多い場合に適用すると良い。 と言わたりします。実践ハイパフォーマンスMySQL でも第2章 ストレージエンジン(テーブル型) P.30 に アプリケーションでトランザクションを使用する必要がなく、主に SELECT または I

    naoyaのはてなダイアリー - MyISAM vs InnoDB
  • データベースを用いたセッションデータ管理について - LukeSilvia’s diary

    Web アプリケーションとは切っても切れないセッション機構。DB ベースでセッション管理を行なって得られた知見と、それを元に考察した結果をまとめてみます。 セッションデータの特性 DB で管理される他のデータに比べ、セッションデータはかなり特殊です。主な特徴は次のような感じ。 データが増加するのが速い 定期的な削除が必要 頻繁に更新される リクエスト毎に読みに行く必要がある このデータを読めないとアプリケーション全体にアクセスできない アクセス頻度が高いということです。あと、1つ目の特徴からセッションデータについては意識的に管理してやる必要があります。 現在の環境 アプリケーションの領域が少し特殊で、セッションデータがやたらたまります(ユーザ数何百万のサービスとかそういうのではないです)。 RDBMS MySQL 4.0.22 ストレージエンジン InnoDB レコード数 6千万 テータサ

    データベースを用いたセッションデータ管理について - LukeSilvia’s diary
  • まつもとゆきひろ氏の「世界に通用する技術者になるためには」を聴講してきた - tadachi-net 出張所

    立命館大学の教授に,『(Rubyの)まつもと ゆきひろ氏が今度来られるけど』ってメールをもらい,速攻で参加申込みをし,先週の金曜日(5/17)に行ってきた.ちなみにメールをもらった際に,一瞬『(2chの)ひろゆき』に空目したのは秘密だ(笑) この講演は,立命館で立ち上げる『みらい塾』の記念講演という位置付け. 塾のコンセプトが『グローバルに活躍できる人材の養成』とのことなので,『世界に通用する技術者になるためには』という講演タイトルにしたのかな.生Matzは初めてなので,ワクワクしながら行った(*). (*)道中,『「放出」(地名)って何て読むんだろう?』と会話されていた老夫婦を見かけ,『「はなてん」って読むんですよ』と教えたりしながら(^^; 現地では,ノーパソを開いてtwitterで実況したり,facebookに何やら書いていたりする人がメチャクチャ多く,普通の堅苦しいエライ先生の講演

    まつもとゆきひろ氏の「世界に通用する技術者になるためには」を聴講してきた - tadachi-net 出張所