タグ

DBに関するamigogrjのブックマーク (59)

  • 色々なPHPフレームワークのパフォーマンスを比較 - cakephperの日記(CakePHP, Laravel, PHP)

    PHPフレームワークの速度比較では、HelloWorldを表示するのみの単純なアプリを用いた計測を元に比較表が作られることが多いです。特に後発のフレームワークは分かりやすい特徴付けとして速度をアピールする傾向にあるため、その比較表を元に N倍速いというアピールをしています。 PHPフレームワークを使うということは、DBまで絡めたWebアプリを作ることがほとんどなため、HelloWorldアプリの比較よりは、DBからレコード取得して表示するまでの処理速度を比較したほうがより現実に近い指標になると思います。特にCakePHP1系ではDBのデータ取得も独自ドライバになっていますし、モデルの処理も重いのでそこまで含めて他と比較したほうが良いと思ってます。 今回はDBから1レコード取得して表示するという簡単なアプリで各フレームワークの速度を評価しました。フレームワークに備わっているViewキャッシュ

    色々なPHPフレームワークのパフォーマンスを比較 - cakephperの日記(CakePHP, Laravel, PHP)
  • DeNAが社内利用しているMySQLの自動フェイルオーバーツール、オープンソースで公開開始

    MySQLがダウンしたときに自動的に別のMySQLへ処理を引き継ぐことで、高可用性を実現するフェイルオーバーツール「MySQL-MHA: MySQL Master High Availability manager and tools」がオープンソースとして公開されたことを、作者の松信嘉範(まつのぶよしのり)氏がブログで伝えています。 Yoshinori Matsunobu's blog: Announcing MySQL-MHA: "MySQL Master High Availability manager and tools" 松信氏はモバゲーなどで知られるDeNAに勤務しており、MySQL-MHAによる自動フェイルオーバー機能はDeNAのインフラ運用を支えているとのこと。同氏のブログから引用します。 Difficulties of master failover is one of

    DeNAが社内利用しているMySQLの自動フェイルオーバーツール、オープンソースで公開開始
  • Mongo DBを半年運用してみた

    MongoDBの簡単な概要と、Ameba PicoでMongoDBを半年運用した中で発生した障害など。

    Mongo DBを半年運用してみた
    amigogrj
    amigogrj 2011/08/01
  • はじめての MySQL で100万件のデータを管理する時に行ったチューニングまとめ

    MySQL の勉強をせずにフレームワーク等で SQL を書かずに Web サイトを構築していました。データ数も2万件程度でしたので、そこまで困ることはありませんでしたが、今回100万弱の商品データを扱う機会ができたので、MySQL のチューニングや発行する SQL について見直す機会がありました。 この記事では MySQL を高速化するのに行った対策など勉強したものを自分用にメモしておきました。 条件式で比較するカラムにインデックスを使用して高速化 商品コードで存在しない商品を見つけて、商品をDBに登録するという処理を行っている場合、4万件超えたころから処理に2秒以上かかるようになってきます。12万件超えた頃には10秒程度かかるようになってしまいましたが、商品コードのフィールドに対してカラムインデックスを貼ることで0.2秒に短縮することができました。 MySQL のリファレンスにも以下のよ

  • DBサーバーの負荷分散

    MySQLアクセスを負荷分散する ユーザーからのアクセス数が非常に多いWebサイトにおいて、MySQLのSLAVEサーバーを複数台並べて負荷分散させるということがよく行われています。ただ、Webアクセスの負荷分散は一般的なテーマなのでいろいろなところで語られているのに対し、DBアクセスの負荷分散というテーマは一般的でないのかあまり語られていないように感じます。 DBアクセスを負荷分散するにあたって一番荒っぽい方法は、Webサーバー上のプログラムの中でどのSLAVEサーバーに接続するかをランダムで決める方法です。ランダムと言っても長時間アクセスしているとほぼ接続先が均等化されるので、一見この方法でも問題ないように見えます。しかしこの方法だと、接続しに行こうとしたSLAVEサーバーが高負荷もしくはサービス停止中であっても構わず接続しに行ってしまうという問題があります。 このような問題を解決する

  • 複合主キーを避けるべき理由 - 虎塚

    データベース設計の話をしていて、「連番の主キーは業務上意味のないデータだから、テーブルに持たせるのはムダだ。複合主キーにするべき」という意見を聞く機会がありました。 脊髄反射で「ないわー」と思ったものの、理由を上手く説明できなかったので、改めて考えてみました。 その結果、次のような結論に至りました。 単一の連番カラムによる主キーと、複合カラムによる主キーとで迷ったら 実装をシンプルにし、業務変更の影響範囲を小さくするために、複合主キーを避ける というわけで、調べたことや考えたことをメモしておきます。# 間違っている部分があれば、教えていただけると嬉しいです。 (2011/07/25 追記)複合主キーとサロゲートキーについては、要件やシステムに依存して多様な判断がありうると思います。にもかかわらず、「避けるべき」というタイトルにしたのは極端でした。申し訳ありません。ご指摘下さった皆さん、あり

    複合主キーを避けるべき理由 - 虎塚
  • 試しておきたい、PHPで動作するオープンソースなオススメCMS 5選。 » とりあえず9JP

    この記事ではオープンソースなオススメCMSを5個紹介します。 ※ブクマコメントやツイートでいくつか他CMSの名前が挙がっていたり、リプライ等頂いたので、下部にて別枠で紹介させて頂きます。 コーポレートサイトの制作に特化したCMS。 いわゆる、中小企業の自社紹介サイト系を作成する場合に、十分な機能が組み込まれている。 ・ユーザ管理 ・ページ管理 ・簡易ブログ(ニュースリリースなど複数設置可能) ・メールフォーム(複数設置可能) ・フィードリーダー ・携帯サイト ・Twitter連携機能 など。 また、対応しているDBが、SQLiteMySQL、PostgreSQLと幅広く、更にはCSVでの利用も可能な変り種。 殆どのレンタルサーバ上で動作すると思うので、導入の敷居は非常に低い。 ライセンスはGPLと商用ライセンスの2種類。 株式会社日情報化農業研究所が提供している国産のCMS。 主に一般

  • 高負荷サイトのボトルネックを見つけるには : DSAS開発者の部屋

    はじめに アクセスが急増すると、応答時間が著しく悪化するサイトはありませんか? 普段は200ミリ秒以内で安定してアクセスをさばいているのに、イベントやらキャンペーンやらを開始した瞬間から、普段の2倍や3倍のアクセスが殺到し、その結果、レスポンスタイムが3秒とか9秒とかかかるようになってしまうことってありますよね。 あるサイトの実状 つい先日まで、そんなサイトが私の目の前にもありました。自社で運営している某ソーシャル系のサイトなんですが、イベント開始時刻と同時にアクセス数が急増するのです。とはいえ、所詮は普段の2倍とか3倍程度の数なのだから、少なくとも1秒以内にレスポンスを返せるくらいの性能は維持したいものです。 しかし実際は困ったことに、応答に3秒以上もかかってしまう処理が大量に発生してしまう状況に陥ってしまっていました。これはきっと、どこかにボトルネックがあるに違いありません。 仮説を立

    高負荷サイトのボトルネックを見つけるには : DSAS開発者の部屋
  • 無線LANのWPA/WPA2-PSKをGPUで超高速解析してパスワードを見つけるフリーのオープンソースソフト「Pyrit」

    ATI Stream テクノロジー/Nvidia CUDA/OpenCLを駆使し、WPA/WPA2-PSKを突破するために必要となる巨大なデータベースを事前に作成することによって極めて高速にパスワードを解析できるのがフリーのオープンソースソフト「Pyrit」です。厳密なライセンスはGNU GPL v3となっています。 pyrit - WPA/WPA2-PSK and a world of affordable many-core platforms - Google Project Hosting http://code.google.com/p/pyrit/ 事前に巨大なデータベースを作成しておくため、ハードディスクの容量は割と必要となりますが、それとトレードオフで解析速度を高速化しようというアプローチになっており、FreeBSD・MacOS X・Linux上で動作し、MinGWを使うこ

    無線LANのWPA/WPA2-PSKをGPUで超高速解析してパスワードを見つけるフリーのオープンソースソフト「Pyrit」
  • 素早く正規形を見抜く実践テクニック(1/4) - @IT

    今回のテーマはデータベースエンジニアの必須知識の1つである「正規化」です。正規化は、リレーショナル・データベースのテーブル設計を行ううえで非常に重要なテクニックであり、データベースを設計、実装したことのある方なら一度は正規化に触れているのではないでしょうか。 それほど基的な知識であるにもかかわらず、正規化を説明できる人はなかなかいません。多く聞かれるのが「何となくテーブルを作ると自然に第3正規形になる」とか「実務上は第3正規化まで行えば問題ない」というものです。 ではなぜ「第3正規化まで行えば問題ない」のでしょうか。稿ではひととおり正規化について確認しながら、あまり触れられることのない第3正規化より先の正規化を紹介して、この疑問に答えていきたいと思います。 正規化の位置付け 正規化は、データベース設計全般にかかわる基礎知識ですが、特に論理データモデリングの作業の中で必要になります。稿

    素早く正規形を見抜く実践テクニック(1/4) - @IT
  • 最短かつ最速にアクセスする「DB高速化技術」(前編):ITpro

    ポイント ・高度なインデックスやジョインを利用し,最短経路でデータにアクセス ・メモリー不足を自律的に解消し,キャッシュのヒット率を高める ・インメモリーDBは全データをメモリーで処理し,高速化を図る 目的地に早く到着したいなら,最短の経路を最速で行けばよい。これはデータベース(DB)でも同様だ(図1)。インデックスなどを使ってデータへの最短経路を見つけ,メモリー・アクセスを増やして,最速でたどり着く。DBにはそんな技術が詰まっている。 図1●データベース高速化技術のポイント ビットマップ・インデックスなどを使い、データにたどり着く最短の道を選ぶ。また、できるだけメモリーにデータをキャッシュさせておくことで、アクセスのスピードを上げる、という二つのポイントがある [画像のクリックで拡大表示] 以下では,(1)データにたどり着く最短の道を選ぶ仕組みと,(2)アクセスのスピードを上げる仕組みの

    最短かつ最速にアクセスする「DB高速化技術」(前編):ITpro
  • Perl好きの女性Webエンジニア二人がIBM DB2を試してみた - はてなニュース

    Webアプリケーション開発に欠かせないデータベース管理システム(RDBMS)。オープンソースの製品が広く利用される昨今ですが、無償で利用できる商用のRDBMSもあります。そんな製品の一つがIBMの「DB2」です。歴史が長く、実績はたくさんあります。そうはいっても使ったことない! どんなもんだか試したい! そう思った一人が、フリーランスのWebエンジニア女子、id:acotieさんでした。普段から開催している勉強会の番外編として、同じくWebエンジニア女子のid:aomushi510さんを呼び、無償で利用できる「DB2 Express-C」に触れてみることに。記事の終わりにはプレゼントのお知らせもあります。 (※この記事は日アイ・ビー・エム提供によるPR記事です。) このたびの東日大震災で被災された皆さまに心よりお見舞い申し上げます。皆さまの安全と一刻も早い復旧と復興を心からお祈り申し上

    Perl好きの女性Webエンジニア二人がIBM DB2を試してみた - はてなニュース
  • グーグル、NoSQL軽量ライブラリ「LevelDB」を公開。ChromeブラウザのIndexedDBとして採用

    LevelDBSQLをサポートせず、クライアント/サーバ型でもなく、シングルプロセスからアクセスされることを想定したいわゆるNoSQLの高速なキーバリュー型データストアを実現するためのライトウェイトなライブラリだと説明されています。 ChromeブラウザでHTML5の仕様として策定中のIndexedDBを実装するものとして開発されたようです(ドキュメントに明記されていないのですが)。 LevelDBを開発した理由 LevelDBのWebサイトによると、LevelDBは以下の主な機能を備えています。 基的な操作は、Put(key,value), Get(key), Delete(key) 1つのトランザクションとして複数の変更操作が可能 データは自動的に圧縮し保存される Hacker Newsの記事によると、当初はLevelDBを開発する代わりに平林幹雄氏が開発したTokyo Cabin

    グーグル、NoSQL軽量ライブラリ「LevelDB」を公開。ChromeブラウザのIndexedDBとして採用
  • 分散データベース「HBase」の安定運用を目指して - Preferred Networks Research & Development

    1年経ってiPhone4の電池がヘタってきた、太田です。 指数関数的にエントリ数が少なくなってきたブログですがw、景気付けのためにエントリを投稿したいと思います!日はHBaseについてです。 Linux と Hadoop と HBase と ZooKeeper に詳しいあなた!あなたがターゲットです。 HBaseとは? HBaseとは、HDFS (Hadoop Distributed File System)上に構築された分散データベースです。大量の非常に細かいデータをリアルタイムに読み書き出来るのが特徴です。最近ではFacebook Messageの基盤技術として使用された事で注目を集めています。 HBase公式サイト Apache HBase ブック 保存されたデータはHDFS上に保存され、HDFSの仕組みによってレプリケーションされるため安全にデータを保持することが出来ます。 ま

    分散データベース「HBase」の安定運用を目指して - Preferred Networks Research & Development
  • 優れたMySQL DBAを見分ける27+3の質問

    「優れたPerlプログラマを見分ける27の質問」の日語訳というエントリが人気だったので、MySQL版をやってみた。題して、「優れたMySQL DBAを見分ける27+3の質問(漢バージョン)」。腕に覚えのある人はぜひ試してみて欲しい。 MySQLのサーバープロセスはいくつある? rootユーザーのパスワードを忘れたときの回復手順 MySQLをオンラインバックアップする方法を3つ。(もっとでも可) InnoDBのデータファイルが作成可能な場所はどこか。 InnoDBのデフォルトの分離レベルは? ネクストキーロックについて説明せよ。 ロールバックセグメントにはどのようなデータが格納されるか? InnoDBでデッドロックが発生したときの挙動、および詳細な状態を確認する方法。 MyISAMがサポートしている特殊なインデックス2つ。 MySQLにおけるテーブル1行あたりの最大サイズ。 構成可能なレプ

    優れたMySQL DBAを見分ける27+3の質問
  • スキーマを作成する手順に必要な SQL を手に入れる :【Oracle】

    上から順に作業して行けば、状況を確認しながらスキーマを作成できます 識別スキーマ名 = ユーザ名です。以降、この文字列を使います。 Oracle では、大文字で登録されるので、入力した文字列を大文字に変換します。 ( パスワードは大文字小文字を区別します ) テーブルスペースは 識別スキーマ名AREA.ora となります。.ora は昔のデータファイルの拡張子ですが、ユーザ作成を区別 する為にも都合がいいので使用しています。 Oracle データディレクトリ は、PC によって違うはずですが、テーブルスペース確認用 SQLで、調べる事ができます。ここでは、デフォルトとして Oracle 11g XE のデータディレクトリを表示しています。 パスワードは、ユーザを作成する時にのみ必要ですが、 後で変更できるので、ユーザー名と同じをデフォルトにしています。 テーブルスペース (新規作成のみです

  • OSコマンドを使用したリストア・リカバリの方法

    主な内容 --Page 1-- ▼リストアおよびリカバリの概略 --Page 2-- ▼完全リカバリ ―― オフラインリカバリ --Page 3-- ▼完全リカバリ ―― オンラインリカバリ --Page 4-- ▼不完全リカバリ ▼ノーアーカイブログ運用でのリカバリ 前回までにOSコマンド、Recovery Manager(以下、RMAN)、それぞれを使用したバックアップ方法について説明してきました。今回は、リストア・リカバリ方法の概略を説明したうえで、実際にOSコマンドを使用したリカバリ方法について説明します。なお、コマンドの実行結果は、これまでと同様にLinux環境のOracle 10g Release 2で実行したものになります。 リストアおよびリカバリの概略 リストア・リカバリにOSコマンドを使用するか、RMANを使用するかで、具体的な手順や利用できる機能には違いがありますが、基

    OSコマンドを使用したリストア・リカバリの方法
  • 連載記事 「Oracleバックアップ/リカバリ講座」 - @IT

    プロとしてのバックアップ/リカバリ基礎知識 Oracleバックアップ/リカバリ講座(1) バックアップ/リカバリは、プロのDBAなら完ぺきに遂行すべき重要任務だ。まずは基となる知識から頭にたたき込んでおこう

  • Oracleデータベースのバックアップを取得する

    Oracleデータベースのバックアップを取得する:ORACLE MASTER Silver DBA講座(22)(1/2 ページ) ORACLE MASTER資格の中級に位置付けられ、取得すればOracle技術者としてグローバルに認定される「ORACLE MASTER Silver Oracle Database 10g」。例題を利用してポイントを押さえ、確実な合格を目指そう! 前回「Oracleのバックアップ/リカバリの仕組みとは?」で、バックアップとリカバリの概要を紹介しました。今回はそれに関連し、データベースのバックアップについて詳しく学びましょう。 データベースのバックアップ ポイント ARCHIVELOGモードとNOARCHIVELOGモード、それぞれにおけるバックアップ方法が対象となります。モードの違いによる注意点、RMANを使用したバックアップの概念を理解しておきましょう。 R

    Oracleデータベースのバックアップを取得する
  • ソーシャルゲームのためのMySQL入門その2 | BLOG - DeNA Engineering

    こんにちはこんにちは。11インチMacBook Airが欲しくてたまらないiwanagaです。 前回の記事 が幸いにもご好評を頂けた様で非常にうれしいです。嬉しくなって、ついがんばって第2弾を書いてしまいました。引き続き、ソーシャルゲームでよく使われるテーブルタイプ毎にちょっとしたテクニックを紹介していきます。 今回はちょっとライトな感じ&読み物になってしまっていますが「ユーザID単位で1つだけ持つデータ」と「パラメータなどのマスターデータ」についてご説明したいと思います。ちなみに次回はInnoDBのデータ構造の簡単な説明と複合プライマリーキーのデータについて、その次で紹介し損ねたちょっとマニアックなテクニックや性能管理のための手法を紹介することを予定しています。 その前に。。。 先日行われた JAPAN INNOVATION LEADERS SUMMIT で弊社松信が「ソーシャルゲーム

    ソーシャルゲームのためのMySQL入門その2 | BLOG - DeNA Engineering