You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
AMIが公開されたのでもう一度やってみた。 AMIについてはこちらのエントリに書かれています ISUCON4 予選問題の解説と講評 & AMIの公開 : ISUCON公式Blog まず ami-e3577fe2 を m3.xlargeで起動します。 CPUは model name : Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz でした。 とりあえず、MySQLのindexを追加する。init.shに追加 $ cat init.sh cat <<'EOF' | mysql -h ${myhost} -P ${myport} -u ${myuser} ${mydb} alter table login_log add index ip (ip), add index user_id (user_id); EOF ベンチマークツールのhttp keepal
アクセスランキングを作ってみよう! 今、Rails4 を使ってアクセスログからランキング作ってみたいなぁーと思ってたんですが、みんなどうやってんだろうって聞いてみたところ、 Fluentd ってのを組み込むだけで簡単に集計とかできるよーって話だったので、使ってみました。 Fluentd とは まず読み方は、 「ふるーえんとでぃー」であって、「ふるーえんど」とかじゃないっぽいです。d はたぶんデーモンの d 。 色々説明面倒なんで省略しますが、ログ収集元とか出力先が簡単に設定できて、自分の欲しい形でログ保持できますよーって感じっぽい。なので、 「シェルスクリプトで処理した tail の処理結果をファイルに」「nginx から出力されたアクセスログを mongoDB に」とかそういう処理を自前で書く必要なく、簡単な設定だけでいけちゃう。 詳しくは → 柔軟なログ収集を可能にする「fluentd
3. 1-1 DB(MySQL)の冗長化とは何 か MySQLはMaster・Slaveの構成を行いますが、これは『更新』と『参照』と 役割が異なっているだけであり、冗長化とは意味が異なります プログラム上で『更新』『参照』についてそれぞれの宛先(IP)を役割毎 にハードコートしており、どちらか片方に障害が起こるとサービスに影響 が出ます ⇒『更新(Master)』『参照(Slave)』を、それぞれ 冗長化する必要があります 4. 1-2 冗長化に向けた設計方針 サーバーHW障害に対し、サービスが継続できること 障害時のダウンタイムが限りなくゼロであること ⇒24h/365dサービスを目指すため、ボトルネックを可能な限り減らす 障害発生時には自動的にサービス復帰する ⇒運用の自動化により、運用の安定化及び省力化を目指す プログラムは障害対応を意識せずにコーディングで
久々の更新。 土曜日は これまで何となく使っていたVagrantを本格的にいじっていたけど、知れば知る程便利だなあ。 Vagrantfileって Gruntfileみたいに何となくいじるのが面倒くさそうな印象があったんだけど、実は全くそんな事がなくて 寧ろちょろっとやれば誰でも簡単にいじれるようになるくらい学習コストが低かった(まだChefと絡めていないので Chefと連携させると若干話が変わってくるかもしれないけど)。 というわけで今回は Vagrantを使ってUbuntuサーバを2台立てて MySQLでレプリケーションを構成してみた話を。 今回に関してはどちらかというとVagrantよりMySQL寄りの話になります。 Vagrantに関しては boxの構造とかVagrantfileの事とか 色々と整理できたので 後日 初心者向けにvagrantの基本的な事柄についてまとめます。 Vag
Chrome MySQL Adminでは、 AngularJSを使って実装を行っています。Chrome appsでは、 何らかのMVC Frameworkの利用が勧められています。 AngularJSは、Controller、Directive、Template、Serviceなど、いくつかの部品群を組み合わせてアプリケーションを構成することになります。その機能の豊富さ故に、実はちゃんとしたポリシーを決めておかないと、いかようにでも作れてしまうために、かえって複雑さが増してしまうという危険性も出てきます。もちろんアプリケーションの作り始めは試行錯誤の連続なのですが、徐々に自分なりのポリシーみたいなものが確立されてくるはずです。 本エントリでは、Chrome MySQL Adminでの設計/実装ポリシーを簡単に紹介してみたいと思います。ちなみに、全てのソースコードは、以下にあります。 htt
TOPICS Programming , Database 発行年月日 2006年04月 PRINT LENGTH 320 ISBN 4-87311-281-8 原書 Learning SQL FORMAT PDF 本書『初めてのSQL』は、SQL言語に初めて触れるプログラマを対象に、SQL言語の基本を解説する書籍です。その特徴は、実践に必要なポイントを過不足なく、コンパクトにまとめたこと。「データベースの歴史」から始まり「データベースの作成と設定」「クエリ」「フィルタリング」「複数テーブルからのデータの取得」「集合」「データの作成、変換、操作」「グループ化と集約化」「サブクエリ」「結合」「条件ロジック」「トランザクション」「インデックスと制約」などについて、丁寧に解説を行います。本書のサンプルは、MySQLを使用していますが、Oracle、SQL Serverなどでも動作するように配慮さ
あるテーブルに対して複数のレコードを同時に登録したいことがあります。 このときに登録する数だけINSERTを発行するのはあまり効率がよくありません。 そこでBULK INSERTと言われる単発のSQLで一括登録する方法がよく使われます。 BULK INSERTとは 単純なbooksというテーブルを使い、BULK INSERTはどういうものか確認する。 CREATE TABLE `books` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAU
最近、MEANがイイという話をチラホラと耳にする。先日も次の記事がはてブで話題になっていた。 MEAN(MongoDB, Express, AngularJS, Node.js)スタックが優れている理由 - Mozilla Open Web Day in Tokyoを終えて - albatrosary's blog この記事の冒頭では、MEANはLAMPに変わる技術として紹介されているが、果たしてそれは正しいのだろうか。(この記事では、LAMPを例にとりつつJavaがどうのという記述があるので、恐らくはLAMPではなく既存のリレーショナルデータベースを用いたアーキテクチャ一般について述べたいのではないかと思う。)MEANについて少し思うところがあるので、今日はMEANの可能性について書き綴っておこうと思う。ただし、私自身MEANスタックと呼ばれるシロモノは使ったことがなく、構造を理解した上
最近のWebサービスでは、外部APIを活用したものが非常に多くなっています。前回は外部APIのアクセス数制限を回避するためのキャッシュ、及び具体例として位置情報サービスのfoursquare APIの結果をキャッシュする仕組みを設計しました。今回は、MySQLに保存された位置情報データのキャッシュをMySQL Spatial Extensionsを使って検索する方法について説明します。 はじめに Retty株式会社の鹿島です。前回は、最近のWebサービスでよく使われている外部のAPIおよびサービス停止に致命的な影響を与えかねないrate limitについて説明しました。またrate limitの超過を防ぐための「キャッシュ」という方法についても説明しました。 具体例として、位置情報SNSサービスであるfoursquareのAPIを取り上げ、その結果をキャッシュする仕組みの基本的な設計を説明
TOPICS クックブック , Programming , Database 発行年月日 2007年01月 PRINT LENGTH 548 ISBN 978-4-87311-315-9 原書 SQL Cookbook FORMAT PDF SQLはデータベースの世界における最高の言語です。リレーショナルデータベースに関する開発を行っている場合やリレーショナルデータベースからレポートを作成する場合、データをデータベースに格納してそれを再び取り出す能力は、結局のところSQLの知識に依存します。しかし、多くの技術者はSQLを通り一遍な方法で使っており、その処理能力に気付いていません。本書はSQLが実際にどのように役に立つか解説することで、このような状況すべてを変えることを目的としています。 本書は、日々の仕事に役立つ一般的なSQLの問題とその解決策を集めています。各レシピは関連する話題ごとに章
「MySQLソースは公に利用できるという意味ではオープンなものだが、そのソースを理解できなければ本質的にはそれはクローズなものになる。」(本書「はじめに」より) しかし、優秀なプログラマたちのアイデアと努力の結晶であるソースコードを読み解くには、彼らのインスピレーションと努力の痕跡を知る必要がある。本書は、コードに秘められたプログラマたちのアイデアに触れながら、MySQLのソースコードを読み解くための指針を提供する。MySQL内部の詳細に踏み込むための手引書である。 はじめに 1章 MySQLの歴史とアーキテクチャ 1.1 MySQLの歴史 1.2 MySQLアーキテクチャ 1.2.1 コアモジュール 1.2.2 各コアモジュールの連携 1.2.3 各コアモジュールの詳細 2章 MySQLソースコード利用の基本 2.1 Unixシェル 2.2 BitKeeper 2.3 BitKeeper
Tritonn、Ludia、そしてSennaとは…… 昨今のWeb 2.0と呼ばれるようなWebシステムでは、一般的に大量のコンテンツデータを内部に保有しているのではないでしょうか。大量のコンテンツから目的のコンテンツをユーザが選び取る手段の一つとして全文検索が挙げられます。全文検索とは、検索対象コンテンツの中身すべてに対して検索を行うことを指します。たとえば、タグやタイトルを対象にした検索だけでは、目的のコンテンツを発見できないような場合に有効な検索です。 データベースに保持された大量のデータを簡単に全文検索したい、という場合も多いことでしょう。本稿では、それを実現にする全文検索システムとして、次の2つを取り上げて紹介します。 Tritonn Ludia これらはそれぞれ、Tritonnは「MySQL」、Ludiaは「PostgreSQL」という、Webシステムを開発する上で人気の高
本書は、MySQLアプリケーション開発者ならびにMySQL管理者が求める必須の知識や手法を掘り下げて、MySQLのパフォーマンスを最大限に引き出すためのさまざまな深い問題を解説する専門書である。第2版では、初版で取り上げたすべてのテーマをさらに掘り下げながら、新しいテーマを盛り込んで、大幅な改訂がなされている。「サーバーでいろいろ試してみてようやく現実のアプリケーションを書いてみる気になったMySQLの新規ユーザーと、MySQLベースのよく調整されたアプリケーションがすでにあるが、それらのパフォーマンスを“もう少し”改善する必要がある経験豊富なユーザーに本書をお勧めする。」(Michael Wideniusによる「本書に寄せて」より)読者のMySQLのスキルを一段高いレベルに引き上げるのに役立つ労作である。 はじめに 1章 MySQLのアーキテクチャ 1.1 MySQLの論理アーキテクチャ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く