タグ

データベースに関するohsugaのブックマーク (119)

  • Not Only NoSQL!! 驚異的なまでにWRITE性能をスケールさせるSPIDERストレージエンジン

    Webサービスでは、世界中からのトラフィックを捌く必要があるため、いくらチューニングしようとも一台のRDBMSでは捌ききることが出来ないのが常だ。MySQLは最初からマスター・スレーブ型のレプリケーション機能が搭載されており、スレーブをたくさんぶら下げることによって参照の負荷をスレーブに割り振るというスケールアウトによってその問題に対処してきた。スレーブによるスケールアウトは、参照(=PV)が多いWebサイトと非常に相性が良く、幾多のWebサイトにおいて実績を作ってきているし、まだまだ利用されている。 しかしながら、サイトのトラフィックが劇的に増加してくるようになると、レプリケーションによる負荷分散では追いつかなくなってきた。そこで人々がとった選択肢は、memcachedを利用することである。memcachedはインメモリ型の高速なKVSであり、参照・更新性能はMySQLより格段に高い。M

    Not Only NoSQL!! 驚異的なまでにWRITE性能をスケールさせるSPIDERストレージエンジン
  • DWHからHadoop移行で成功事例、欧州広告企業 - @IT

    ohsuga
    ohsuga 2010/03/16
    『1日分のデータを処理するのに23時間ほど…週次報告の作成には5日間を要し…ていた。これを計36コア、8TBのディスク容量があるクラスタで処理するようにして、5日の処理時間を1時間に短縮したと言う。』
  • 進化するNoSQLデータベース、SimpleDBやBigTableで一貫性やトランザクションを実現

    クラウドの登場によって新たな種類のデータベース、NoSQL(Not Only SQLの略)と呼ばれる非リレーショナル型のデータベースが注目を浴びています。アマゾンのAmazon Web Servicesで利用可能なSimpleDBグーグルGoogle App Engineで利用可能なBigTable、Apacheで開発が進められているCouchDB、MemcachedやBerkeley DBなどよく知られたものもありますし、商用製品としてはOracle Coherence、IBM WebSphere eXtreme Scaleなどもあります(参考:NoSQLデータベースを40種類以上リストアップ、キーバリュー型にもいろいろある)。 NoSQLデータベースはリレーショナルデータベースとは異なり、スケーラビリティやアベイラビリティをトランザクションやデータ一貫性よりも優先させた実装が多いの

    進化するNoSQLデータベース、SimpleDBやBigTableで一貫性やトランザクションを実現
  • MySQLの自動変換を丁重にお断りするためのたった1種類の呪文 - sakaikの日々雑感~(T)編

    先日の『これだけは覚えておきたい!!MySQL の6つの自動変換』 http://d.hatena.ne.jp/sakaik/20100225/mysqlautochange にはたくさんの反響をいただいた。 時にこちらの意図と違っちゃうこともあるけれどもケナゲに気を使ってくれる MySQL が、これほどに皆さんにも愛されていることが判り、MySQLファンの一人として嬉しい限りである。 さて、そのエントリの最後に、 なお、「SQLモード」を指定するとこれらの動作を変更することができる。SQLモードについては気が向いたらいつか紹介してみたい。 と書いたところ、速攻でキムラデービーの木村明治氏が補足エントリーを書いてくださった。 ○キムラデービーブログ [勝手に補足]これだけは覚えておきたい!!MySQL の6つの自動変換 http://blog.kimuradb.com/?eid=83851

    MySQLの自動変換を丁重にお断りするためのたった1種類の呪文 - sakaikの日々雑感~(T)編
    ohsuga
    ohsuga 2010/03/05
    MySQLのがカラム指定以上の桁数の数字、文字列を丸めて入力してしまう挙動は sql_mode='STRICT_ALL_TABLES'を指定することで防げる。日付型で不明な値が0としてINSERTされる挙動もsql_mode='NO_ZERO_DATE,NO_ZERO_IN_DATE'で防げる。
  • mysqlでinnodbのデータ領域をテーブルごとに分割する - うまいぼうぶろぐ

    デフォルトだとinnodbのテーブル領域はibdata1とかにまとめられるけど、innodb_file_per_tableを設定するとテーブルごとにわかれる。 http://dev.mysql.com/doc/refman/5.1/ja/multiple-tablespaces.html- http://nippondanji.blogspot.com/2009/01/innodb_16.html http://dev.mysql.com/doc/refman/5.1/ja/innodb-configuration.html innodb_data_file_pathで指定するibdataはサイズが増えていく(サイズを固定にすれば当然増えることはない)けど、減らすことはできない(dump, restoreしない限り)。 けどテーブルを削除すれば該当のibdファイルは削除されるので運用は楽と

    mysqlでinnodbのデータ領域をテーブルごとに分割する - うまいぼうぶろぐ
    ohsuga
    ohsuga 2010/01/15
    『innodbのファイルサイズ制限にひっかからなくなるので、(ディスクの空き容量があれば) innodbの残りサイズを気にしなくて良い。』
  • データベース負荷テストツールまとめ(3) - SH2の日記

    データベース負荷テストツールまとめの第3回です。 データベース負荷テストツールまとめ(1) TPC-B、TPC-Wベースのツールを6つ紹介 データベース負荷テストツールまとめ(2) TPC-Cベースのツールを6つ紹介 かなり期間が空いてしまいましたが、今回はTPC-Hベースのツールを見ていきたいと思います。 TPC-Hとは TPC-HはRDBMSベンチマーク仕様の一つで、意思決定支援システム(DSS)としての性能を測定するものです。大規模なデータを対象にアドホックなクエリを実行します。クエリは全部で22種類定義されています。 TPC-HはTPC-B/W/Cなどと異なり、実行するクエリそのものやテストデータ生成ツールがTPCから提供されています。試しに、一番負荷が高い9番のクエリを確認してみましょう。 -- $ID$ -- TPC-H/TPC-R Product Type Profit Me

    データベース負荷テストツールまとめ(3) - SH2の日記
  • Endpoint® | Real Estate Closings, Title Insurance, and Escrow

    One flat escrow rate. No junk fees.Please complete the form below for our pricing sheet.

    Endpoint® | Real Estate Closings, Title Insurance, and Escrow
    ohsuga
    ohsuga 2010/01/04
    PostgreSQLとMySQLのコマンド対比表
  • InnoDBのテンポラリテーブルとinnodb_file_per_tableの相性が悪いっぽい - kazuhoのメモ置き場

    tmpdirをtmpfsにしてても、LOCK_openを2秒間握ったままとかorz... innodb_file_per_tableをオフにしたら、ぐっと症状が改善した。 なお、環境は MySQL 5.1.41 (linux, x86_64, innodb_plugin) 参考: Slow DROP TABLE - Percona Database Performance Blog (thanks to id:hirose31)

    InnoDBのテンポラリテーブルとinnodb_file_per_tableの相性が悪いっぽい - kazuhoのメモ置き場
  • MySQL 5.5登場

    MySQL 5.5がリリースされた。「えっ?!この前5.4をリリースしたばっかりでしょ?!まだ5.4すら使ってないよ!!」と驚かれた方はご安心を。これは開発リリースモデルが変更されたためで、MySQL 5.4はこれでいったん開発終了して今後の開発はバージョン5.5をベースにして継続されることになる。バージョン5.4も5.5も「マイルストーンリリース」(以下MR)という位置づけであり、GA(正式リリース)版ではない点に注意して頂きたい。MR版の位置づけは次のようなもの。 品質的にはRC(リリース候補)版と同レベル(従ってほぼ安定している) 3〜6ヶ月ごとに新しいバージョンが出る 新しいMR版では機能が追加されることになるが、RC版と同レベルまで安定した機能だけが追加の対象になる MR版へ追加する予定の機能については別のブランチで開発が進められる 12〜18ヶ月ごとにMRのうち一つをGA版へと

    MySQL 5.5登場
  • MySQL 5.5.0-m2リリース - SH2の日記

    出ました。突然のメジャーバージョンアップですが、これは新しい開発サイクルに基づくものです。曰く、 trunkは常にβ版以上の品質を保つ (純粋な新機能の開発は別のstaging treeで行う) 3〜6ヶ月ごとにRC版の品質でマイルストーンリリースを行う 12〜18ヶ月ごとにいずれかのマイルストーンからbranchを切ってGA版のリリースを行う マイルストーンリリースの直後にstaging treeから新機能のマージを行う という仕組みです。これによって大規模な新機能の追加によるリリースの遅延を抑えるとともに、より安定した品質でのリリースを行うということを狙っているそうです。またMySQL 5.5.0-m2のリリースに伴い、MySQL 5.4.x-betaの更新は終了となります。 MySQL 5.5の新機能からいくつかピックアップしてご紹介します。 準同期レプリケーション。MySQL 5.

    MySQL 5.5.0-m2リリース - SH2の日記
  • MySQL InnoDBだけで全文検索 - SH2の日記

    実験エントリです。 予習してみる 「転置インデックス」というキーワードで検索して、しばらく勉強してみます。 転置インデックス - Wikipedia mixi Engineers’ Blog » 転置インデックスを実装しよう ASCII.jp:悟空、秘剣「転置インデックス」を手に入れる |Googleはなぜ的確に探せるのか? [を] 転置インデックスによる検索システムを作ってみよう! 転置インデックスで学ぶ検索エンジンの中身アプリ - 睡眠不足?! うーんなるほど。分かったような分からないような。 作ってみる とりあえず、Twitter4Jを使ってこんなデータを用意しました。ちなみに人選は漢(オトコ)のコンピュータ道: MySQLerのTwitterアカウントまとめ。を参考にさせていただきました。 5707049458,2009-11-14 20:28:34,sakaik,@hbstudy

    MySQL InnoDBだけで全文検索 - SH2の日記
  • 第21回 KiokuDB:マッピングが複雑すぎると感じたら | gihyo.jp

    Shibuya.pm #12連動企画 日開催のShibuya Perl Mongersテクニカルトーク#12のテーマは "No Perl, NoSQL, NoKVS" または "Not only Perl, Not only SQL, Not only KVS" ということなので、今回はそれにあわせてYAPC::Asia 2009でも紹介されていたKiokuDBについて簡単に取り上げてみます。 オブジェクトをまるごと保存する 牧大輔氏も『モダンPerl入門』のなかで、データベースをハッシュテーブルのようにとらえて、「⁠基的にプライマリキーからデータを持ってくる構成のみにすると、ORMを使用することによりキャッシュの導入も含めてチューニングが楽になります」と書いているように、Perlの世界では最近RDBMSやその上位層で頑張りすぎるより、モデリングの仕方そのものを工夫して実装や保守のしや

    第21回 KiokuDB:マッピングが複雑すぎると感じたら | gihyo.jp
    ohsuga
    ohsuga 2009/12/01
    オブジェクトをシリアライズしてRDBに保存するためのモジュール KiokuDB。検索用にフィールドとDBのカラムをマッピングする機能も。
  • http://neta.ywcafe.net/001031.html

  • 実録、ほぼ無停止なMySQLのフェイルオーバ (動画もあるよ) - (ひ)メモ

    レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプラン でも掲げたゴールである、「マスタが落ちてもぐーすか寝ていられるようにしたい」がほぼできたので、ほとんどサービスが停止することなく、フェイルオーバする様をスクリーンキャストに収めました。 埋め込みプレイヤーだと、小さくてわからないと思うので、リンク直接でみてください。 http://www.irori.org/pub/mysql-mm.mov 登場するホスト 登場するホストは2台、db901db902です。 最初は、db901が更新系クエリを受けるプライマリでdb900の浮動IPアドレスを持っています。 画面分割 画面は5分割しています。 左上 = 「select sysdate(),@@server_id」をdb900に対して(sleep 1しながら)延々と実行しまくりんぐ 右上 = ping -n

    実録、ほぼ無停止なMySQLのフェイルオーバ (動画もあるよ) - (ひ)メモ
  • MySQL Clusterが苦手とするJOINを如何にして克服するべきか。

    シェアードナッシング型の負荷分散機能を持ち、なおかつ同期レプリケーションによるHA機能まで備えたMySQL Cluster最大の弱点といえば、JOINの遅さであろう。MySQL ClusterのJOINは偽りなく遅い。JOINを多用するアプリケーションでMySQL Clusterを利用するのはある意味マゾヒスティックな行為であると言えよう。何故MySQL ClusterはJOINが遅いのか?それはMySQL Clusterが分散データベースだからである。 ご存じの通り、MySQLにおけるJOINのアルゴリズムにはNested Loopしかない。他のストレージエンジンを利用していればそれでも十分実用に耐えうるぐらい高速なのだが、MySQL Clusterの場合はそうはいかない。JOINでは自ずとストレージエンジンからデータをフェッチする回数が増えるが、MySQL Clusterの場合レコード

    MySQL Clusterが苦手とするJOINを如何にして克服するべきか。
    ohsuga
    ohsuga 2009/11/06
    通常のMySQLをスレーブとして用意し、複雑なクエリはそちらに問い合わせる。将来はClusterでもパフォーマンス向上させるべくいろいろ画策されている。
  • (特にMyISAMを使っていた)ウェブ屋さんがInnoDBを使う場合の設定項目 - kazuhoのメモ置き場

    InnoDBはMyISAMと比較して安全(OSクラッシュや電源断が発生してもテーブルが壊れない)分、書き込みが遅い。データベース屋さんからすると、それは当然のことでMyISAMがおかしいんだ、ということになり、だからバッテリバックアップ機能のついたRAIDカードを使うんだ、という話になる。でも、MyISAMを使っているウェブ屋さんの現場では、場合によって多少データが消えてもかまわないから、安いハードウェアで大量のアクセスを捌きたい... って乖離があるんじゃないかなーと思ってる。 そのような場合には、my.cnf の innodb_flush_log_at_trx_commit パラメータを調整することで、MyISAMに比肩する書き込み速度を得ることができる(そのかわり、クラッシュや電源断の場合は、設定によって直近1秒以内の変更が失われる)。 他のパラメータも含めて書いておくと、データベー

    (特にMyISAMを使っていた)ウェブ屋さんがInnoDBを使う場合の設定項目 - kazuhoのメモ置き場
  • MySQLerのTwitterアカウントまとめ。

    松信氏の、 MyISAMとInnoDBのどちらを使うべきか Twitterで話題になってたので簡単にまとめました。 というエントリが人気を博しているが、松信氏が言うように最近はTwitterMySQL関連の話題も結構増えてきているように思う。Twitterの流行の勢いは凄まじく、今は右を向いても左を向いてもTwitter、寝ても覚めてもTwitterも杓子もTwitterという雰囲気である。従ってMySQLTwitterで盛り上がるのは当然の成り行きというもであるし、Twitterを活用しない手はない。 しかしMySQL関連の話で盛り上がると言っても「じゃあ誰をフォローすれば話に入れるんだよ?!」と多くの皆さんは疑問に思われることだろう。そこで、今日はMySQL関連のTwitterアカウントを独断と偏見と愛と勇気と努力をもって紹介する。MySQLの情報が欲しい人、もしくは話題の輪に

    MySQLerのTwitterアカウントまとめ。
  • 国内で相次いでPostgreSQL関連製品が投入、エンタープライズ市場での普及につながるか

    このところPostgreSQL関連のニュースが次々と発表されており、エンタープライズ向けのデータベースとして着々と成長を続けている様子が伝わってきます。最近の報道をまとめてみました。 Oracle互換のPostgres Plus Advanced Server いちばん大きなニュースは、28日に報道された日のサイオステクノロジーと米レッドハットが、PostgreSQLの商用版を販売しているEnterpriseDBに出資したというもの。 Red Hatとサイオス,PostgreSQLベースDBMSのEnterpriseDBに出資 - ニュース:ITpro EnterpriseDBが開発しているPostgreSQLベースの製品「Postgres Plus Advanced Server」は、Oracle互換を売りにした企業向けのデータベースサーバです。 同社は昨年IBMからも出資を受けており

    国内で相次いでPostgreSQL関連製品が投入、エンタープライズ市場での普及につながるか
  • MyISAMとInnoDBのどちらを使うべきか

    Twitterで話題になってたので簡単にまとめました。 ●MyISAMにしか無い機能を使いたい場合はMyISAMを使うしかない ・全文検索 (TritonnやSphinx) ・GIS ●InnoDBの利点(MyISAMの欠点) ▲障害対応系 ・クラッシュしても再起動するだけでリカバリができる ・クラッシュリカバリにかかる時間はテーブルサイズに比例するようなことはなく、コミット済みのデータは修復できる (巨大なMyISAMテーブルのREPAIRには数日単位で時間がかかることがある) ・オンラインバックアップができる ・INSERTやLOAD DATAなどを実行している途中でCtrl+Cでその更新系SQL文を止めても、テーブルは壊れないし、中途半端な状態で更新されることも無いし、スレーブが止まることも無い ▲性能系 ・行レベルロックなので並列性が高い(MyISAMはテーブルロック)。またSEL

  • AmazonがMySQL 5.1をサービス化 – Amazon RDS

    AmazonAmazon RDSという、MySQL専用のインスタンスをサービス始めました。 これは、MySQL 5.1がセットアップしてあるインスタンスで、Small(1CPU, 1.7 GBメモリ)〜Quadruple Extra Large(26CPU, 68 GBメモリ)までスペックが提供されています、Smallは$0.11/時 ($81/月)か。Largeだと$0.44時で$327/月なので、通常のEC2よりはちょっと高めの様です。 EC2と違うのは、ネットワーク代は別でDBへ外部からアクセスした場合には、1GB辺り、Inは$0.10、Outは$0.10〜$0.17掛かります。 これ以外に、1GB辺り$0.1のストレージ代と、100万IOアクセス辺り$0.1の代がかかります。この辺はEBSと同じみたいですね。 アプリケーションからアクセスする場合、今までのMySQLと同じように見

    AmazonがMySQL 5.1をサービス化 – Amazon RDS