タグ

dbに関するlabochoのブックマーク (9)

  • ActiveRecordで行ロックをかける方法

    行ロックとは 行ロックとは、テーブルの同一レコードに対して、複数同時に更新できないように制限する仕組みのことです。 Ruby on RailsのActiveRecordには2種類のロック方法があります。 楽観的ロック(Rails依存) 悲観的ロック(DBMS依存) それぞれの違いや使い方について解説していきたいと思います。 楽観的ロック 楽観的ロックとは、DBMSの機能に頼らずロックバージョンをレコードに保存しておくことで、取得時と変更時にロックバージョンに変更がないか確認し、変更があった場合は例外を発生させる方法です。 ロックするタイミング データ更新時 データを複数同時に取得することができるが、途中で更新されていた場合は、更新できない 仕組み テーブルにlock_versionフィールドを追加する lock_versionが書き換わっていたらActiveRecord::StaleObj

    ActiveRecordで行ロックをかける方法
    labocho
    labocho 2012/11/06
    楽観的ロックなんてものがあったのか
  • dbpatterns.com

    This domain may be for sale!

    labocho
    labocho 2012/10/18
    DB設計のパターンを共有
  • Clojureの作者が作ったデータベースDatomicが凄い

    プログラミング言語Clojureの作者Rich Hickey氏率いるClojure HackerのチームがDatomic(デートミックと発音するらしい)というデータベースをリリースしました。これが何やらとてつもないです。10年先を行ってる技術じゃないでしょうか。 まだ番サービスは始まっていませんが開発環境用のライブラリが配布されています。 Datomicは斬新なアーキテクチャなので一言で説明するのはとても難しいです。 私が理解できたことを簡単に説明します。 2014/1/20追記 ライセンスモデル、サポートストレージ、サービスとしてではなく独立して使用する形になるなど記事作成時の内容から色々変更が合った部分を更新しました。 変更不可なAppend-onlyデータベース 従来のデータベースで、あるレコードを変更するというのはそのレコードに対応した場所があり、そこのデータを書き換えるというこ

    labocho
    labocho 2012/03/08
    変更不能で任意時点の状態にクエリ投げれる、アプリケーションに組み込んだクライアント (peer) がクエリの処理とデータのキャッシュを行うので DB への負荷が格段に減る
  • 第1回 データベース設計とは:初めてのデータベース設計|gihyo.jp … 技術評論社

    かつては非常に高価なもので、手軽に導入できないという印象のあったデータベースですが、現在では、PostgreSQLMySQL、Firebirdなどといったオープンソースのデータベースが商用のものに引けを取らない機能、性能を備えるようになり、それほど規模の大きくないWebアプリケーションであっても、あたりまえのようにデータベースが使用されるようになりました。 特集では、Webアプリケーションを初めて開発するという方に向けて、データベース設計の基について説明していきます。なお、一言にデータベースといってもいろいろなものがありますが、いわゆるテーブルによってデータを管理するリレーショナルデータベースを対象とします。 今回は、データベース設計の全体的な流れについて説明します。 データベース設計とは、データベースによってデータを管理できるように、現実の世界を抽象化してデータモデルを作成していく

    第1回 データベース設計とは:初めてのデータベース設計|gihyo.jp … 技術評論社
  • 教科書的ではなく、現場にあったデータベース設計のコツ

    前回はデータベース設計をする際に誰もがぶつかる問題である、「列名に日語を使うか?」「どのデータ型を使うか?」ということをテーマに取りあげました。今回も引き続き、データベース設計をする際に迷いやすい点をいくつか取りあげてみようと思います。 今回は前回と同様、SQL Serverのサンプルデータベース「Northwind」を元にして、データベース設計で迷いやすい点について考えてみましょう。図1は「Northwind」をER図にリバースした中から、エンティティ「商品」「商品カテゴリ」をサブウィンドウで表示したものです。 図1のように商品を分類するためにカテゴリコードをつけるエンティティ構造はよくあります。しかし実際の販売管理システムにおいては、このようなフラットなカテゴリ構造は不便です。なぜかというと、一般に商品カテゴリなどは表1のように階層構造で分類する必要があるからです。 01 ハードウェ

    labocho
    labocho 2012/03/02
    db 設計
  • レスポンス高速化は“ストレージ待ち”の解消がカギ データベースのピーク制御で企業競争力を強化

    データベースは、ITシステムのなかで重要な役割を担う基盤インフラ。そのパフォーマンスが、ビジネスの成否を左右するほどである。しかしながら、データベースの性能向上を図るのは容易ではない。一般にI/O処理の高速化には、ディスクの増設などが必要となり、膨大なコストが掛かるためだ。そこで有効なのが、「ソリッドステート・フラッシュ」を搭載したフラッシュ・ストレージである。 企業の基幹業務を支えるデータベース。経営戦略を決定する財務データをはじめ、サービスの提供を支える基盤情報など、企業価値の源泉となる資産が蓄積されている。その一方で、アプリケーションの多様化やサービスの高度化に伴い、扱うデータは増加の一途をたどる。安定したパフォーマンスの確保に、頭を悩ませる企業は少なくないだろう。 データベースの処理能力向上にはいくつかの方法がある。まず挙げられるのが、クエリの書き換えやインデックスの付け替えといっ

    labocho
    labocho 2010/06/28
  • DNAバーコードのライブラリを構築して生物種の同定、解析へ-国際バーコードオブライフプロジェクト

    動植物、菌類等のあらゆる生物種について「DNAバーコード」を抽出・収集し、それらを集積した大規模なライブラリを構築することで、標の自動同定、解析の基盤とするという国際プロジェクト「国際バーコード オブ ライフ プロジェクト(International Barcode of Life project;iBOL)」が立ち上がっています。日語の説明資料も作成されています。 国際バーコード オブ ライフ プロジェクト http://www.dnabarcoding.org/pdf/iBOL_FactSheet_Japanese.pdf (※日語の説明資料) International Barcode of Life http://www.dnabarcoding.org/ December 14, 2008付けPeter Scott’s Library Blogの記事 http://xref

    DNAバーコードのライブラリを構築して生物種の同定、解析へ-国際バーコードオブライフプロジェクト
    labocho
    labocho 2008/12/16
    なんとなくHxHみたいだ。
  • MySQLで全文検索 - FULLTEXTインデックスの基礎知識|blog|たたみラボ

    tatamilab.jp

  • MySQL FULLTEXT Ngram : LIKE検索より数十倍高速な、お手軽 日本語全文検索 について|blog|たたみラボ

    tatamilab.jp

  • 1