タグ

databaseに関するdharryのブックマーク (41)

  • Twitterのトラブルから見る、DB分割でスケーラブルなRailsサイト構築:TKMR.blog.show

    最近、2.0な方々の間でTwitterが話題になってる。で、そのTwitter自体も面白いんだけど、TwitterについてDHHがブログを書いてRailsでの大規模サイト構築が話題になってるのが面白い。 Twitter trouble (Loud Thinking - DHH) まずTwitterの高負荷について言及、Twitterは11,000リクエスト/秒 の高負荷で問題となっているらしい。 そしてスケーラビリティの鍵はDB分割だ、と言っている。Railsは基一つのDBを見るのでスケーラビリティの問題になる (確かにWebサーバはロードバランサがあればいくらでもスケールするしね、Sessionの共有だけ気を付ければ) ↓ Dr Nic » Magic Multi-Connections: A “facility in Rails to talk to more than o

  • SQL文をきれいにフォーマットしてくれる『SQL in Form』 | POP*POP

    長~いSQL文を見ているとどこがどういう構造になっているのかがわからなくなってきますよね。 そうしたときに使えそうなのが「SQL in Form」です。 一般向けのサービスではないですが、関係ある方には便利なのでは。 以下に簡単にご紹介。 ↑ たとえばこのようなSQL文。コメント分やインデントがわかりにくくなっています。 ↑ SQL in Formを通せばこの通り。構造がすっきりして見やすいですね。 変換する際には改行やインデント、空白の扱いなどの設定をすることもできます。またデスクトップ用のアプリもあるみたいですね。 ご利用は以下からどうぞ。無料で使えます。 » SQL Formatter / SQLFormatter formats SQL Statements

  • naoyaのはてなダイアリー - Linuxのページキャッシュ

    世間では PHP が、Perl が、と盛り上がっているようですが空気を読まずまたカーネルの話です。今回はページキャッシュについて。 /dev/shm に参照系DBを持っていくと I/O 負荷が激減した件(当たり前だけど) - drk7jp で、ディスク上にあったファイルを /dev/shm (tmpfs) に移したら I/O 待ちがなくなって負荷がさがった、ということなんですがおそらくこれは tmpfs に置く必要はないかなと思います。Linux (に限らず他の OS もそうですが) にはディスクの内容を一度読んだらそれはカーネルがキャッシュして、二度目以降はメモリから読む機構 = ページキャッシュがあります。tmpfs にデータを載せることができた、ということは物理メモリの容量に収まるだけのデータサイズかと思うので、放っておけば該当のファイルの内容すべてがメモリ上にキャッシュされて io

    naoyaのはてなダイアリー - Linuxのページキャッシュ
  • MOONGIFT: » WikiがDBとして進化した「wikidBASE」:オープンソースを毎日紹介

    Wikiとはただ文字列を書き連ねるだけの存在ではない。その積み重ねはいわゆるDBとなって、活用されるものだ。とは言え、柔軟性が高過ぎて自由に書かれただけではDBとしての活用は難しい。 ある程度の項目を区切って入力できればベストだろう。かといってWikiの柔軟性は失わない事が前提だ。 今回紹介するオープンソース・ソフトウェアはwikidBASE、Python製のWikiエンジンだ。 wikidBASEはいわゆるWikiエンジンとして開発されている。普通のWikiとしての利用は無論可能だ。だが、それはwikidBASEの目指すべき使い方ではない。このWikiエンジンには秘めたる実力がある。 それが簡易DBとしての利用だ。データ項目の定義はユーザ自身ができる。入力フォームは自動的に生成され、テキストボックスのみならず、ドロップダウンやチェックボックス等も生成される。日付を定義することで、カレンダ

    MOONGIFT: » WikiがDBとして進化した「wikidBASE」:オープンソースを毎日紹介
  • PostgreSQL8 へ移行 | 象歩

    PostgreSQL8 へ移行 [更新日: 2005年06月11日 ] VineSeed では最近 PostgreSQL-8.0.1 にバージョンアップされました。 PostgreSQL-7.x 系とはデータベースの互換性がありません。 移植というほど大袈裟ではないけど、 一応手順だけ書き残して置きます。 0. 既存のデータベースに戻す? (私の勘違いかもしれないのですが) VineSeed では # apt-get dist-upgrade すると postgresql-7.x から 8.x に上書きされてしまう気がします。 この時点で postgresql は起動出来なくなるので、 元に戻さないといけません。 幸い VineSeed には postgresql7 が置いてありますし、 Vine-3.1 の postgresql-7.x に戻す手もあります。 たとえば古い postgre

    dharry
    dharry 2008/09/20
    Postgresのバージョンアップ
  • プロが作った黒猫印のフリーソフト 黒猫ソフトウェア工房 (引っ越しました)

    ■最新情報 黒ソフトウェア工房のホームページは引っ越しました。 新しいホームページはこちら → http://kuronekosoft.ewinds.net/ 5秒後に自動的にジャンプします。 黒 SQL Studio は、あらゆるデータベースに接続可能な汎用SQL開発環境です。黒 SQL Studio には、SQLを手早く作るための入力支援機能や、作ったSQLプロジェクトとして管理する機能が用意されています。 ■黒 SQL Studio について知りたい → 黒 SQL Studio ■黒 SQL Studio を紹介していただきました → SQL文をGUIで作成できるデータベース開発環境... - 窓の杜 → 使いやすいSQL実行環境... - Unofficial DB2 BLOG → どんなDBGUISQL作成... - Hibi日記 → データベース開発の必需品

  • MySQLノウハウ

    いろいろなからメモってきたメモのメモ。出典を書いておくのを忘れた。思い出し次第補完するかも。 deleteのコストは高いので、無効化を示すフィールドを作ってupdateすべき slow query logに要注意 多くのエントリでほとんどのフィールドが同じ値を持つ場合はインデックスの効果が小さい →複合インデックスの効果が大きい 複合インデックスは指定の順番が大切。AとBという指定の場合、A単独でもインデックスの効果がある。逆は真でない。 インデックスが使われる場面は フィールド値を定数と比較するとき (where name = 'hogehoge') フィールド値でJOINするとき (where a.name = b.name) フィールド値の範囲を求めるとき (<,>,between) LIKE句が文字列から始まるとき (where name like 'hoge%') min(),

  • MOONGIFT: » RailsでDB管理「RailsMyAdmin」:オープンソースを毎日紹介

    Railsで開発を行う際にDBは必須だろう。簡易的なものであればSQLiteで良いが、これまでの経験では大抵MySQLが利用されている。 DB管理にはphpMyAdminや、GUIDB管理ツールを利用してきたが、Rails上で一括管理できるこちらが便利そうだ。 今回紹介するオープンソース・ソフトウェアはRailsMyAdmin、Rails上のDB管理ソフトウェアだ。 RailsMyAdminではRailsでのDB設定を利用するので設定も手間もなく簡単に利用できる。インストールはプラグインとして簡単にでき、environment.rbに設定を書き加えるだけでいい。 テーブルの一覧やデータの一覧表示、追加、編集はもちろん可能だ。また、created_at/updated_atといったRails特有のフィールドは値を入れられないのも便利だ。テーブル構造の変更はもちろん不可で、migration

    MOONGIFT: » RailsでDB管理「RailsMyAdmin」:オープンソースを毎日紹介
  • PostgreSQL パフォーマンスチューニングまとめ - 徒然なるままにBlog

    PostgreSQLをチューニングする機会があったので その時に調べたチューニング項目を備忘録として残しておきます。 バージョンの違いやサーバの規模などによっても 効果は変わってくると思うのであくまで参考程度のものですが。 ・shared_buffers 7系では8000〜10000程度まで引き上げる 8系では150000程度まで引き上げることが可能、100000程度が性能のピーク これに多く割り当てるよりOSのバッファ領域として使う方が性能が向上する テーブルサイズを割り出して設定するのがベスト 簡単に設定するなら搭載メモリ量の1/4、搭載メモリが多ければ1/2ぐらいでも可 ・max_connections 7系では256程度、8系では1000程度が性能のピーク ・work_mem(sort_mem) 適切なサイズに調整する、2048〜4096程度 プロセス毎

  • ウノウラボ Unoh Labs: MySQL オペミスでデータが破損してしまった場合の復旧方法

    こんにちは satoです。 オペミスで update に where句を付け忘れたり、プログラムのバグでデータが破損してしまったりした場合でも、バイナリログには更新SQLがすべて書き込まれるので、バックアップデータからオペミスが起こるまでの全てのSQLを流し込めれば、元の状態に戻すことは可能です。 •バイナリログを取っている •オンラインバックアップをとっている(mysqldumpMySQLを止めた状態でのcpによるバックアップとバイナリログ) •バックアップ時点でのバイナリログの書き込み位置を保存している 以上のような状態でデータが壊れた時の復旧手順をまとめてみました。シナリオとして •ある1カラム email をupdateしようとしたら、間違ってwhere 句を付け忘れ 全レコードをupdateしてしまった •気がついたのが半日後 というオペミスが発生したとします 1) データベー

  • リレーショナル・データベースの世界

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • サイボウズ株式会社

    サイボウズはクラウドベースのグループウェアや業務改善サービスを軸に、社会のチームワーク向上を支援しています。

    サイボウズ株式会社
  • 2007-06-10

    Perl で fifo デバイスを作ったりするメモ書き。 順番に、デバイスにアクセスしてきた者に対して、適当なIDを渡すプログラム。 #!/usr/bin/perl -w use strict; use Fcntl; print "FIFO device test\n"; $ENV{PATH}=qw{/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc:/usr/games}; chdir('/'); my $file = "/home/yasui/perl/fifo/yasui_test"; unless (-p $file) { require POSIX; POSIX::mkfifo($file, 0666) or die $!; } print "create $file\n"; # push my $id = 0; while (1) { sys

    2007-06-10
  • オープンソース情報データベース || OSS iPedia

    オープンソース情報データベースシステム(OSS iPedia) は、2013年5月17日(金) をもちまして運用を終了いたしました。 長い間ご利用をいただきましてありがとうございました。 OSS iPediaで提供しておりました、IPAフォント、文字情報基盤、その他報告書等については、下記リンクをご参照ください。 皆様には大変ご不便をおかけいたしますが、何卒ご理解の程をよろしくお願い申し上げます。

  • 特集:基礎から理解するデータベースのしくみ - 特集:基礎から理解するデータベースのしくみ:ITpro

    「データベースはブラックボックス。どんなSQL文を投げたらどんな結果が返ってくるかさえ知っていればよい」---そう思っている人も多いかもしれません。 しかし,物のソフトウエア・エンジニアを目指すのであれば,データベースが動く仕組みを学ぶことは避けて通れません。パフォーマンスなどに問題が生じたときどこから手を付けていいのか皆目見当がつかない,といった事態に陥りかねません。 市販のRDBMSの内部はかなり複雑ですが,基的な部分を理解するのはそれほど難しくありません。この特集でデータベースの動く仕組みを理解してください。 イントロ ●ブラックボックスのままでいいの? 基礎から理解するデータベースのしくみ(1) Part1 ●SQL文はどのように実行されるのか 基礎から理解するデータベースのしくみ(2) 基礎から理解するデータベースのしくみ(3) 基礎から理解するデータベースのしくみ(4) 基

    特集:基礎から理解するデータベースのしくみ - 特集:基礎から理解するデータベースのしくみ:ITpro
  • RDBMSをブラックボックスにしない:ITpro

    複数トランザクションの同時実行編 トランザクションが複数同時に実行される時,RDBMSはどのような仕組みで,それぞれのトランザクションの独立性を保つのかを説明します。これを理解することにより,さらに良いトランザクション処理のアプリケーションを開発することができるようになります。 目次 第1回 ほかのトランザクションからの影響 第2回 1番ゆるい分離レベル(リードアンコミッティド) 第3回 2番目にゆるい分離レベル(リードコミッティド) 第4回 3番目にゆるい分離レベル(リピータブルリード) 第5回 1番きつい分離レベル(シリアライザブル) 更新処理とトランザクション編 「RDBMSの更新処理とトランザクションの関係は難しい」――。こう思っている読者の方は少なくないでしょう。アプリケーションを開発するだけなら,更新処理とトランザクションの関係をきちんと理解していなくても,「見よう見まね」の開

    RDBMSをブラックボックスにしない:ITpro
  • https://labs.cybozu.co.jp/blog/kazuho/archives/2007/12/fast_fdatasync.php

  • MySQLをファイルシステムとして使う | OSDN Magazine

    MySQLfs を使うと、リレーショナル・データベースMySQLの中にファイルシステムを入れることができる。このファイルシステム中のファイルに含まれるバイト列はデータベースの各行に分割して格納されるため、大きなファイルがある場合もデータベースが巨大なBLOBフィールドをサポートしている必要はない。ファイルシステムをMySQLデータベースに入れておくと、データベースが備えているバックアップやクラスタリング、レプリケーションの機能を利用してMySQLfsファイルシステムを保護することができる。 Fedora、openSUSE、UbuntuにはMySQLfsのバイナリー・パッケージは含まれていない。したがって、MySQLfsを使うにはソースからビルドする必要がある。また、あらかじめmysql-develとfuse-develをインストールしておかなければならない(FUSEにより、一般のプログラム

    MySQLをファイルシステムとして使う | OSDN Magazine
    dharry
    dharry 2008/09/20
    すごい。
  • Memcached互換のデータベース·Memcachedb MOONGIFT

    Memcachedを使っている人は多いと思う。DBのキャッシュやセッションの保存先として便利なソフトウェアだ。フロントエンドをスケーリングするのも手軽で、キャッシュさせるには最適だ。 だが、一つだけ大きな問題がある。それはデーモンを停止するとデータが消失してしまうこと。消えて困るような用途には使うな、と言えばそれまでだが、Memcachedの便利さに惚れ込んでしまった人は、これを使ってみよう。 今回紹介するオープンソース・ソフトウェアはMemcachedb、停止してもデータが消失しないMemcachedだ。 MemcachedbはMemcachedとの互換性を持つ(まだ完全ではないようだが)データベースで、バックエンドにBerkeley DBを利用している。これによりサービスを停止してもデータが消失しないようになっている。 データをセットしたり、ゲットすることは可能になっている。キーと値だ

    Memcached互換のデータベース·Memcachedb MOONGIFT
  • フリーで使えるDBのモデリングツールまとめ

    みなさんは普段モデリングツールを使用しているでしょうか。ER図を書くのにどんなソフトを使用しているでしょうか。今回は無償で利用可能なモデリングツールについて色々と調べてみました。

    フリーで使えるDBのモデリングツールまとめ