タグ

databaseに関するtech-kazuhisaのブックマーク (9)

  • 「ActiveRecord」の基本とデータの参照

    「ActiveRecord」の基とデータの参照:Ruby on Rails3で学ぶWeb開発のキホン(3)(1/2 ページ) 前回まではRuby on Railsの全体像について見てきました。今回からは、Railsを構成する各部品について詳しく解説していきます。まずは、Railsのモデル層の標準的なライブラリである「ActiveRecord」に焦点を当てます。とはいえ、ActiveRecordの提供する機能は膨大なので、数回に分けて解説することにします。今回は、ActiveRecordの基的な考え方や、使い始めるために必要なマイグレーションの知識、参照系の操作の仕方をご紹介します。 ActiveRecordとは ActiveRecordはRuby on Railsを構成する最も重要なライブラリの1つで、Railsのモデル層に相当し、O/Rマッピングを担当します 。このライブラリの名前は

    「ActiveRecord」の基本とデータの参照
  • 漢(オトコ)のコンピュータ道: InnoDBでCOUNT()を扱う際の注意事項あれこれ。

    InnoDBを使うとき、MyISAMと比較して度々やり玉に挙げられるポイントとして「COUNT()が遅い」というものがある。確かにInnoDBにおいて行数を弾き出すのにはテーブルスキャンが必要なのだが、そもそもMyISAMのCOUNT()が速い(テーブルの行数を保持してる)のが特殊なのであって、InnoDBが遅いわけではないのである。とはいえ、高速なCOUNT()については需要が多く、この問題には多くの人取り組んでおられるようだ。しかしながら、COUNT()のチューニングについては未だ語られていない点があるように見受けられるので、今日はCOUNT()のチューニングについて解説しようと思う。 COUNT(*)、COUNT(col)、COUNT(1)の違い基的なことではあるが、COUNT(*)とCOUNT(col)では意味が異なるため、異なる結果が返される場合がある。COUNT(*)はフェッ

    漢(オトコ)のコンピュータ道: InnoDBでCOUNT()を扱う際の注意事項あれこれ。
  • MySQLバックアップ頂上決戦!! LVMスナップショット vs InnoDB Hot Backup

    スナップショットを使えばとある瞬間のディスクやファイルシステムのデータをいつでも後から参照することができる。しかもスナップショットの作成は一瞬だ。スナップショット機能を活用すれば最強のオンラインバックアップソリューションが出来るだろう。 しかし、スナップショットでバックアップを取るなんて危険な操作じゃないのか?!と不安に思われる方もいらっしゃるかも知れない。MySQL Serverが稼働中にいきなりデータだけをとってくるのだから、そのような疑問を持たれるのは頷ける。しかし仕組みさえ分かればスナップショットによるバックアップは怖くないということが分かるはずだ。そこで、まずはスナップショットによるバックアップの仕組みについて説明する。スナップショットを取る際の要件は次の通りである。 全てのデータを単一のボリュームに置くこと。つまり、一回のスナップショット操作でバックアップが取れることだ。 ディ

    MySQLバックアップ頂上決戦!! LVMスナップショット vs InnoDB Hot Backup
  • ウノウラボ Unoh Labs: 国産MySQLストレージエンジン「Spider」の作者、斯波健徳氏に聞く

    こんにちは。中村です。 MySQLにはMyISAM、InnoDBCSVなどのいくつかストレージエンジンがありますが、皆さんはSpiderというストレージエンジンを聞いたことはありますでしょうか。Spider Storage Engineは斯波健徳さんにより作成されたDatabase Shardingを可能にするストレージエンジンでMySQL 5.1で利用可能です。 先日、某集まりで斯波さんとお会いしたときにSpiderを作っているということを教えてもらったので、早速詳しい内容を教えてもらうことにしました。 ※Spiderについての説明資料はMySQLカンファレンス 2009にて斯波さんが発表されたときのスライドがあります。スライドの直リンク(zip) Spider Storage Engine について posted by (C)フォト蔵 Spider Storage Engineとは?

  • ウノウラボ Unoh Labs: RDBで階層構造を扱うには?

    yukiです。ダイエットを始めて3kg減ったと思ったら、風邪を引いて見事に1kg増量。 運動しないと駄目ですね。あと残り20kg、道のりは遠いです。 さて今回は、「RDBで階層構造を扱うには?」です。 あるサイトを構築中に階層構造をもったカテゴリ構造にすることになり、どのようにDBで扱うか悩みました。 DBMySQLを採用していたので、この時点でぱっと頭に浮かんだ選択肢は以下のようなものでした。 XML-DBを利用する 親カテゴリレコードのプライマリIDを子カテゴリレコードに持たせる 親を含めた『絶対パス』を名称として扱い、取り出した後にパース ファイルシステムに同様のディレクトリ構造を作り、毎回パースする (1)のXMLDBはオープンソースのeXistやXindice、Yggdrasillなど様々な選択肢がありましたが、カテゴリのみの利用な割にメンテナンスコストが高すぎるので見送りま

  • 403 Forbidden

    \閉鎖予定のサイトも売れるかも?/ アクセスがないサイトもコンテンツ価値で売れる場合も… ドメインの有効期限を更新してサイト売却にトライしてみましょう

  • 窓の杜 - 【REVIEW】「SQLite」のデータベースをGUIで操作できる高機能管理ソフト「PupSQLite」

    「PupSQLite」は、フリーで利用できる軽量データベースエンジン「SQLite」のデータベースをGUIで管理できるソフト。Windows XP/Vistaに対応する寄付歓迎のフリーソフトで、作者のWebサイトからダウンロードできる。なお、動作には.NET Framework 2.0以降が必要。 ソフトには「SQLite」のライブラリ“sqlite3.dll”が同梱されており、環境の構築作業などが必要なくそのまま利用可能。画面はMDI方式になっており、複数のデータベースをそれぞれ同時に子ウィンドウとして開くことができる。各データベース内のテーブルは、データベースのウィンドウ内にタブ切り替え型のグリッドビューとして表示される仕組み。 機能も充実しており、テーブル内データの閲覧・編集はもちろん、SQL文を発行して結果を表形式で閲覧できる機能、テーブル定義文を出力する機能、2つのテーブルを比

  • 【続報】東証が緊急会見、システム障害の引き金はデータベースのデッドロック

    3月10日に東京証券取引所の株式売買システムで障害が発生し、午前9時から午後1時まで2銘柄が売買できなかった問題(関連記事1、関連記事2)で、東証は同日午後5時から緊急の記者会見を開いた。鈴木義伯常務取締役CIO(最高情報責任者)は、「データベースのデッドロックが引き金だった」と説明した(写真)。 デッドロックが発生したのは午前8時59分43秒から44秒にかけて。午前の取引が始まる午前9時の直前だ。複数銘柄の注文を1つにまとめた「バスケット取引」のトランザクションと、同注文に含まれる一部銘柄の訂正注文のトランザクションとの間で起こった。 2つのトランザクションが、それぞれどのようなデータベースをロックしたまま放さなかったのかについては公表を避けたが、注文データを格納するデータベースと、バスケット取引のデータを格納するデータベースの2つだったとみられる。 オンラインでデータベースを更新するト

    【続報】東証が緊急会見、システム障害の引き金はデータベースのデッドロック
  • SQL講座 [Smart]

    indexは、第1引数STRの先頭から第2引数SUBSTRが最初に見つかった位置を返します。 第3引数 POSITIONで検索する位置を指定することもできます。第3引数POSITIONには最初の文字を 0 として指定します。 返却値は 0、もしくは変数$[に設定した値です。SURSTRが見つからなかった場合は -1 を返します。 indexの使い方 $str = "How you always hurt the one you love."; print index($str,'you'); > 4

    SQL講座 [Smart]
  • 1