タグ

ブックマーク / ameblo.jp/principia-ca (11)

  • 『アメーバピグにおけるDB構成&対応記』

    2ヶ月前にインフルエンザとウィルス性胃腸炎でひどくダメージを受けた増田(@masudaK)です。アメーバピグは2009年2月に始まったサービスで、FLASH・Javaで作られています。そして、データストアにMySQLを用いてます。記事では、わたくしが2年ほど見続けているアメーバピグのDB環境について構成や、日々どのようにして問題と向き合っているかを紹介したいと思います。インフラ寄りの内容が多いため、アプリ寄りの話は弊社生沼の資料を御覧ください。 1. 構成と規模 1.1. 構成 まず構成ですが、読み書きはすべてマスターへ行うようにしています。そのため、スレーブには参照を向けず、ホットスタンバイとして使っています。バージョンに関しては2012年中旬までは5.0を使ってましたが、DC移転にあわせて5.5にあげました。ロック機能を用いたシャード構成をしてまして、2014年3月現在6シャードにな

    『アメーバピグにおけるDB構成&対応記』
    aki77
    aki77 2014/05/22
  • 『Velocity 2013 レポート』

    ちょりーっす!コミュニティ部門でWebデベロッパーをしています石(@t32k)です。今回は6/18-6/20、米国のサンタクララで開催されたVelocity 2013のレポートを書いてみるよ。 Velocityは『ハイパフォーマンスWebサイト』の著者でも有名なSteve Souders氏が2008年から開催している、Web Performance(フロント、バックエンド問わず), Web Operationsなどを幅広く取り扱ってるカンファレンスです。また同名のカンファレンスが、ニューヨーク、ロンドン、北京でも開催されており、まさしく世界的なカンファレンスと言ってもいいでしょう。 『ハイパフォーマンスWebサイト』を読んだ時から、私にとっていつかは行きたいと思ってた憧れのカンファレンスだったので、3日間興奮しまくりでした。その中でも特に印象的だったTwitter社のMarcel Dur

    『Velocity 2013 レポート』
  • 『はじめての RabbitMQ』

    アメーバ事業API 基盤グループでプログラマをしている @na_ga です。 API 基盤グループでは、弊社の様々なサービスから利用される共通 API の開発・運用を行なっております。今回は、私が担当した API でメッセージキューとして利用した RabbitMQ を紹介させていただきたいと思います。 はじめにAPI 基盤グループで提供している API には、リクエストをリアルタイムに処理する必要がないものもあります。例えばメール配信 API や、投稿内容の有人監視 API などが挙げられます。 これらの非同期処理が可能な API では、大量のリクエストを受け取るためにメッセージキューを使用しています。 メッセージキューを使用した構成では、リクエストを受け取るプログラムが、受け取ったリクエストから生成したメッセージをキューに格納します。キューに格納されたメッセージは、メッセージを処理

    『はじめての RabbitMQ』
    aki77
    aki77 2013/04/30
  • 『redis、それは危険なほどのスピード』

    どうも、プラットフォームDivでエンジニアをやっている Wataru です。 最近3人目の子供が産まれて、産後自宅勤務をさせてくれた弊社はとてもいい会社だと思います。出産予定のあるエンジニアのかたは是非弊社に転職を。 さて、今回はRedisの紹介をさせて頂きたいと思います。 Redisってすごくマイナーなわけではないのですが、めちゃくちゃ便利なのにあまり注目されていないなーという印象があるので、これを機会に是非使ってみてもらえると嬉しいです。 Redisって何?Redisとは「remote dictionary server」から名前が付けられたオープンソースのkey-valueデータストアです。 MemcacheDB等のKVSとの最大の違いは、格納するバリューがデータ構造というところです。 つまり、リスト・セット・ハッシュなどのデータ構造で格納できるのでバリューに対してアトミックな操作が

    『redis、それは危険なほどのスピード』
    aki77
    aki77 2012/04/04
  • 『Flashの代替としてのHTML5』

    私は入社して以来、仮想空間サービスのアメーバピグやFacebookアプリの開発などFlashベースのプロジェクトに主に関わって来ましたが(どちらかというとサーバサイドでしたが)、9月より異動になり、既存のFlashコンテンツベースのサービスのスマートフォン対応を担当することになりました。周知の通りiOS(iPhoneiPad)でFlashはサポートされず、ブラウザ上で動かすのであればHTML5関連の技術を使って何とかしなければなりません。Flash的な「タイムラインによるベクターアニメーションを使うアプリケーション」を、既存のSWF素材を活用しつつ、また確立された開発体制をなるべく崩すこと無く、スマートフォンのブラウザ環境でのHTML5においていかに実現するかが目下の課題といったところです。 さて、世間的にも、FlashでできることはHTML5でできるという主張のもと「Flash vs.

    『Flashの代替としてのHTML5』
  • 『アメブロで行ったチューニングの紹介』

    はじめまして。ブログを担当しているNと申します。 ブログ絡みの技術ネタをと依頼をされましたが、 ブログは枯れた技術を多く使っていて目新しいことはあまりないので、 以前行ったチューニング内容について紹介したいと思います。 2008年にブログの記事データについて行ったDB+アプリでのチューニングです。 ブログの記事データはMySQLのMaster-Slave構成で保持していて、 Slaveサーバーをスケールアウトしてブログの閲覧のリクエストを処理しています。 SlaveのMySQLのバージョンは4.1でEngineはMyISAMです。 記事テーブルには以下のようなデータを保持しています。 記事ID,ブログID,記事タイトル,日付,テーマ,公開区分,ステータス,・・・ チューニング前の記事テーブルには以下のようなINDEXを張っていました。Key_name Seq_in_index Collat

    『アメブロで行ったチューニングの紹介』
    aki77
    aki77 2011/07/06
  • 『サーバの構築作業やシステム管理を自動化する「Chef」』

    皆様、はじめまして。2010年9月に入社した並河です。 インフラ周りの話題を・・・ということで、今回はサーバの構築やシステム管理作業を楽にしてくれるツールである「Chef」について紹介します。 ■ Chefとは「Chef」は、サーバOSでのインストール・設定・各サービスの状態管理等、諸々のシステム構築や運用作業を自動化してくれるRuby製のシステム管理ツールで、オープンソースとして公開されており、既に、37signalsやEngine Yard、RightScaleなどでも使われており、利用実績も出始めています。 Ruby製のシステム管理ツールといえば「Puppet」を思い浮かべる方も多いのではないでしょうか。ChefはPuppetの競合ソフトウェアとなる位置付けで、出来ることだけでいうと、特別大きな差はないと感じていますが、Puppetは外部DSLとして設定を記載するのに対し、Chefは

    『サーバの構築作業やシステム管理を自動化する「Chef」』
    aki77
    aki77 2011/01/26
  • mysqlコマンドをより便利に安全にするための小粒なTIPS集|サイバーエージェント 公式エンジニアブログ

    初めまして。2010年の3月に入社した oinume です。新年1月からウィルス性胃腸炎に罹りながらもなんとかこのエントリーを書いています。今回は、mysqlコマンドに関する自分が今まで学んだ&教えてもらった細かい実践的なTIPSを紹介します。小粒ですが何かの役に立てば幸いです。 edit (¥e)コマンド mysqlプロンプトにいながら任意のエディタでSQLが編集できちゃいます。具体的には、mysqlコマンドでプロンプト待ちの状態で mysql> edit のように edit または ¥e と入力すると、環境変数EDITORで設定してあるエディタが立ち上がりSQLが編集可能になります。編集が終わったらエディタを終了して ; とやればSQLが実行されます。viなどターミナルで動くエディタに慣れている人は長いSQLを編集する時に重宝する機能でしょう。この技は前職の同僚に教えてもらって、以降便

    mysqlコマンドをより便利に安全にするための小粒なTIPS集|サイバーエージェント 公式エンジニアブログ
  • 『Hadoop/Hiveを用いたログ解析基盤の構築』

    こんにちは。Amebaのログ解析基盤を担当しているICHIROです。 今回は構築・運用中のログ解析基盤「Patriot」について書きたいと思います。 Webサービスを運営していると日々大量のログデータやユーザデータが蓄積されます。 今まではPV(ページビュー)やUU(ユニークユーザ)などアクセスログなどから取れる、大枠の指標のみを見ることがほとんどでした。 ページビューに合わせてシステムを増強するなど、システム側としては十分とも言える指標ですが、広告や課金サービスという視点から見ると十分とは言えません。 今まではAmeba内の個々のサービス担当者が必要とする指標を出すためにアプリエンジニアDBエンジニアに都度依頼をする形でデータを抽出していました。 今後の課金サービスの発展が見込まれ、よりデータ分析の重要性が高まると考えた私は、エンジニアでないサービス担当者(主にプロデューサ)がより簡単

    『Hadoop/Hiveを用いたログ解析基盤の構築』
  • 『大量サーバの yum update を考える』

    こんにちは、サイバーエージェントでサーバ・ネットワークを担当している前田拓(まえだたく)といいます(twitterは t9mdでやっています)。 さっそく題ですが、今回は私が日頃業務で使用しているCentOSのパッケージ管理について書きたい思います。 ※ 今回の内容は、CentOS を例に書いていますが、CentOS の元になっている RedHat Enterprise Linux でもおそらく適用できると思います。 50台以上の大量のサーバーを管理しており、環境も 「開発環境」、「テスト環境」、「番環境」といった様に複数ある場合、各サーバの RPM パッケージのバージョンをちゃんと管理し、アップデートしていく為にはそれなりの仕組みが必要になります。 パッケージアップデートは 1.開発環境 → 2.テスト環境 → 3.番環境 の順番で行いますが、1~3 の流れの途中で各サーバが参照す

    『大量サーバの yum update を考える』
  • 『アメーバサーチにApache Solr 1.4をつかってみた』

    皆様、こんにちわ 新規開発局コアテクGで、現在はサービスの管理ツールなどの開発を担当しているGakuです。 現在は担当していないのですが、以前に担当しており、全面的に作り直したアメーバサーチについて書かせていただこうかと思います(一番大変だったんですが、一番楽しい開発でした)。 ■以前のアメーバサーチ Lucene使用(RMI機能を使ってました) 検索対象:6000万件ほど(直近3ヶ月~6ヶ月) スケールアップがしにくいつくり Luceneのバージョンアップもむずかしい(バージョンアップ後はRMIは非推奨化予定でした。使えないなと) 「アクセス過多のため・・・・・」と検索できない事が頻発 QPS(一秒辺りの検索数) 50ぐらい(4セット合計で) 急激にアメブロの記事数が増えていた為、明らかにキャパオーバに陥ってしまっていました。 それで・・・・・・・・・ ユーザの方々からおおいにお怒りの声

    『アメーバサーチにApache Solr 1.4をつかってみた』
  • 1