タグ

ブックマーク / techblog.yahoo.co.jp (13)

  • レプリケーションを使わないMySQLの冗長化

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、DBMSチームの三谷です。 ヤフーでは多くのサービスでMySQLを利用しています。MySQLはヤフーを支える重要な技術の1つです。 私のチームではヤフーのさまざまなサービスのデータベースを集約して管理・運用しています。 集約することでコストの削減やノウハウの蓄積といった効果を生み出しています。 今回はこの集約環境の冗長化方法についてご紹介します。 集約環境の構成 集約環境ではマスターの冗長化にレプリケーションを利用せず、エンタープライズ向けの共有ストレージを利用したアクティブ・パッシブ型のHA構成を採用しています。 データファイルを共有ストレージに置き、どのマスターサーバーからでも同じデータに対してアクセスできるように

    レプリケーションを使わないMySQLの冗長化
    miyam
    miyam 2012/11/23
  • HTML5でiOS Webアプリを作ってみました -えほんのじかん(iPad版)-

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに こんにちは、EveryWhere開発部の久下孝順、高橋淳史と申します。 先日リリースされました、iPad用Webアプリ「えほんのじかん」(iPad版)の紹介をさせていただきます。 このサービスの内容はごく単純で、たくさん並んだサムネイルから気に入ったものを選択すると、アニメーションと朗読によって構成された絵風の動画が流れる、というものです。 もともとこの「えほんのじかん」の元祖は、「テレビ版」でした。 インターネット対応テレビ向けに提供しているテレビYahoo! JAPANやYahoo! JAPAN for AQUOSなどからみることができます。 iPad版より作品収録数は多く、30作品以上を掲載しています。 テレビ

    HTML5でiOS Webアプリを作ってみました -えほんのじかん(iPad版)-
  • HTML5とは何かを簡単にまとめてみた

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに こんにちは。R&D統括部 制作部 ウェブデベロップメント部に所属しております。岡部和昌(@kzms2)と申します。 最近スマートフォンやタブレット向けのページを作成する機会が増えてきました。 なので、今回はちまたで大人気のHTML5について書きます。 若干今更な内容にも思えますが、あまりHTML5になじみがない方にもわかってもらえるような内容にしています。 HTML5の基概念や思想・実際の組み方というよりも、 HTML5で組むと今までと比べて何が違うのか などについて書いていきます。 なぜこれからHTML5なのか HTML4との違いがわからない HTML5を使う利点がわからない など疑問に思っている方はぜひ見ていた

    HTML5とは何かを簡単にまとめてみた
    miyam
    miyam 2011/05/25
  • ヤフーにおけるパッケージ管理 - Yahoo! JAPAN Tech Blog

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、R&D統括部 開発推進室 セキュリティプラットフォーム技術の戸田 薫です。 個人的に自宅では、 FreeBSD でよく遊んでいて、FreeBSDのパッケージ管理には、portsnap、portupgrade を利用していますが、ヤフーでは独自の方法で行われます。 その背景としてヤフーには、平均15億以上のPVを支えるためやサービスの付加価値のために何万台ものサーバがあり、サービスやシステムごとに大規模なシステムを構成する必要があるため、一般的なパッケージ管理システムよりもより柔軟で効率的なパッケージ管理が必要となっています。 今回は、ヤフーにおけるパッケージの管理についてご紹介します。 ヤフーインストーラ ヤフーでは

    ヤフーにおけるパッケージ管理 - Yahoo! JAPAN Tech Blog
  • Hadoopを使いこなす(1)

    まず、 1 の入力ファイルを分割する方法は、InputFormatクラスの、getSplits関数を上書きすることで、カスタマイズできます。 また、 3 のInputSplitから、KeyとValueを抽出する処理も、InputFormatクラスを通じてカスタマイズできます。 InputFormatのgetRecordReader関数を通じて、RecordReaderクラスを生成するのですが、これに任意のRecordReaderクラスを指定すればOKです。 2 のMap処理ですが、ユーザが指定したMapperクラスの処理を実行します。 Mapperクラスは、MapRunnerクラスを通じて、初期化処理、map関数を繰り返す過程、終了処理といった一連の流れを実行します。 MapRunnerクラスをカスタマイズすれば、こうした流れを制御することができます。 0.20.0からの新しいMapRed

    Hadoopを使いこなす(1)
  • JavaScript の不思議な面白さ - 最終回

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog これまで七回に渡って連載を続けてきました。 今回が最終回です。 ここまでが、私の知る JavaScript 開発の手法変化の歴史です。 最近では多くのフレームワークやライブラリが登場し、最近ではこうしたライブラリを利用した開発が一般的になりつつあります。 今回は、ここまでの手法を元にフレームワークを完成させたいと思います。 * フレームワークといっても今回作るのはごく小規模なものです。 大規模に利用する場合にはここにさまざまな機能を付け加えていく必要がありますが、ここまででも必要最低限の機能を備え、HTML を効率よく構築することに特化したフレームワークとなっています。 前回からの変更点は以下の通り ・クラスの継承を利用 ・x-i

    JavaScript の不思議な面白さ - 最終回
  • Yahoo!オークションでのMySQL 冗長化技術

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちはオークション事業部プラットホーム技術のチャックです。 オークションでは一部サービスに RDBMSMySQL を使ってサービスをご提供させていただいております。 オークションでは多くのお客様よりアクセスを頂いておりますので、大量の更新、参照の処理速度に優れた MySQL を選択し、お客様にストレスなくサービスをご利用いただけるよう 日々業務に取り組まさせていただいております。 しかし、精密機器には故障がつきもので、サービス運用の観点からは 「機器が故障するのはしかたない、しかしそれをいかに早く復旧させるか」 といったことを念頭に入れております。 実際には、障害が起こってから復旧させるのではなく、障害が発生した場合に

    Yahoo!オークションでのMySQL 冗長化技術
  • Yahoo!ショッピングにおけるログ設計と監視

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、ショッピング事業部開発部の吉野と申します。 今回は「アプリケーションログの設計と監視」について、実際にYahoo!ショッピングで採用している方法を少し交えながらお話しさせていただきます。 1.ログ設計のポイント ログ設計は、以下のポイントに注意して行うとよいでしょう。 ・ログ出力のポイントが押さえられているか ⇒セッションの始まりと終わり、処理の過程、例外処理の中など。 フローチャートのような処理フロー図があれば、そこにログ出力ポイントを書き込むとわかりやすくなります。 ・出力する情報に過不足はないか ⇒「いつ(システム時間)」「だれが(プロセスID・IPアドレスなど)」 「どこで(パスなど)」「なにをした(実行コマン

    Yahoo!ショッピングにおけるログ設計と監視
    miyam
    miyam 2009/03/12
  • Hadoopで、かんたん分散処理 (Yahoo! JAPAN Tech Blog)

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、地域サービス事業部の吉田一星です。 今回は、Hadoopについて、Yahoo! JAPANでの実際の使用例を交えながら書きたいと思います。Hadoopとは、大量のデータを手軽に複数のマシンに分散して処理できるオープンソースのプラットフォームです。 複数のマシンへの分散処理は、プロセス間通信や、障害時への対応などを考えなければならず、プログラマにとって敷居が高いものですが、 Hadoopはそういった面倒くさい分散処理を一手に引き受けてくれます。 1台では処理にかなり時間がかかるような大量のデータも、複数マシンに分散させることで、驚くべきスピードで処理を行うことができます。 例えば、今まで1台でやっていた、あるログ集計処理

    Hadoopで、かんたん分散処理 (Yahoo! JAPAN Tech Blog)
  • 開発と運用の分離

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、システム統括部の駒田です。 昨今、内部統制やJ-SOXといった言葉を良く耳にしますが、 ヤフーもご他聞に漏れず、粛々と対応を進めて参りました。 今回は、その対応の一環として行った、 「開発と運用の分離」に関してのエントリーをさせていただきます。 例えばですが... 開発成果物であるソースコードをテスト終了後に改ざんし、 不正に利益を得る様なエンジニアが存在していた場合、 それはヤフーにとって、一般のお客様に対する裏切りであり、 信用の失墜となってしまいます。 このような事態を回避するため、 当開発部では開発者と運用者とを明確に分離し、 開発者はリリースモジュールに触れる事が出来ない。 運用者はソースコードに触れる事が出

    開発と運用の分離
  • オークションシステムの簡単紹介

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、オークション事業部開発部のLiuです。 今回は「ヤフオク」のサービスを支えているオークションシステムについて、 以下3つのテーマに分けて簡単に紹介します。 システム構成 データの同期処理 データ構造 1. システム構成 以前の記事Yahoo!オークションからのご挨拶にも書かれてあるように、ヤフオクは Yahoo! JAPANの中でも最大級のサービスです。これだけ大きな規模のシステム を支えているのが、およそ数千台のFreeBSDサーバーになります。この数千台のサーバーは、 基的に機能毎に分かれていて、独立性をたもちながら互いに連携し合い、結果的に 一つの大きなオークションシステムを構成しています。 ヤフオクは、お客様

    オークションシステムの簡単紹介
  • MySQLによるデータウェアハウス構築

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、オークション事業部のWangです。 データウェアハウス(以下DWH)という言葉になじみのない方は検索していただいたほうがよいかもしれません。 検索するのがめんどい、という方は、かみ砕いた表現ができなくて恐縮ですが、 基幹系システムから抽出したデータを目的をもって再構成し、 使用可能な状態に保管されたデータの集合体、とお考えください。 オークションでは、具体的には出品、入札、落札などのトランザクションデータや、 それをいろいろな単位で集計したデータなどが該当します。 ここでいう単位というのはたとえば、日ごと、週ごと、月ごとや、以前の記事でも紹介されている カテゴリといったものになります。 こういったデータは、運用、運営、

    MySQLによるデータウェアハウス構築
    miyam
    miyam 2009/02/10
  • PHP SERIALIZEのススメ

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog オークション事業部 開発部のやまけんです。 遅ればせながら、新年明けましておめでとうございます。 さて、オークションTechBlogも第4回目となりました。 今回はWebAPIとしての一つの形態であるPHP Serializeに関してお話します。 WebAPIは、一般的にはRESTと呼ばれるXMLを主体としたレスポンスを返却し、呼び側がXMLを解析するというものが主流となっています。 (RESTには、RESTfulと呼ばれる概念がありますが、それはまた別の機会にお話したいと思います) さて、PHP Serializeですが、これはPHP言語で表現されるデータやクラスをサーバー側で文字列化して、呼び側でデータやクラスに復元するという

    PHP SERIALIZEのススメ
    miyam
    miyam 2009/01/13
  • 1