タグ

databaseに関するyamkazuのブックマーク (21)

  • Liquibase | Database Refactoring | ja:bestpractices

  • ja:home [LiquiBase]

    Easiest, safest, and most powerful community-led database change management solution.

    ja:home [LiquiBase]
  • dbpatterns.com

    This domain may be for sale!

  • 削除フラグのはなし

    Query Optimization with MySQL 5.7 and MariaDB 10: Even newer tricksJaime Crespo

    削除フラグのはなし
  • 信じられないDB文化「固定長DB」でもあうんです。大規模コンシューマ向けサービスのRDB設計 - レベルエンター山本大のブログ

    ずいぶん時間があいてしまったけど、大規模コンシューマ向けサービスRDB設計の続き。 僕はこのプロジェクトを自分のRDBの知識を使って革新してやろうと思って臨んだ。 しかし結果として逆に、コンシューマ向けサービスに最適化されたRDBの使い方について教わることになった。 ※ あと、KVSでいいじゃんって言ってる人もいるけど、それはKVS導入の苦労を知らない人だと思う。KVSの苦労は後で書く。 僕らが最近手がけているのは、とても大規模なコンシューマ向けサービスだ。 100万人の契約ユーザが使い、1テーブルに1億レコード以上のデータを貯め、24時間止めることが許されず、 要求から応答までのターンアラウンドタイムが1秒以内という厳しいSLAのサービスである。 中でも僕はDBやフレームワークの設計とアーキテクトっぽいことを担当している。 僕がこの現場に来て、驚愕した文化が2つある それは「Join禁止

    信じられないDB文化「固定長DB」でもあうんです。大規模コンシューマ向けサービスのRDB設計 - レベルエンター山本大のブログ
  • 複合主キーを避けるべき理由 - 虎塚

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

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

  • 明示的ロック

    13.3. 明示的ロックPostgreSQLは、テーブル内のデータに対する同時アクセスを制御するために様々な種類のロックモードを備えています。 これらのモードは、MVCCでは必要な動作を得られない場合、アプリケーション制御のロックに使用することができます。 また、ほとんどのPostgreSQLコマンドでは、参照されるテーブルがそのコマンドの実行中に別の方法で削除もしくは変更されていないことを確実にするために、適切なモードのロックを自動的に獲得します (例えば、ALTER TABLEコマンドは、同じテーブルに対する他の操作とは同時に実行することは危険です。 そのため、そのテーブルへの排他ロックを強制的に獲得します。)。 現在のデータベースサーバで重要なロックの一覧を確認するには、pg_locksシステムビューを使用してください。 ロック管理サブシステムの状況監視についての詳細は第26章を参照

  • 第11回 トランザクション処理に詳しくなろう

    富山県高岡市 株式会社イーザー副社長。昔は1月初旬に積雪がないと「いい正月やね。雪なーて」と富山弁であいさつしたものだが,現在は地球温暖化を目のあたりにするようで不気味だ。でも,会社まで公共交通機関はなく,雨やときおり雪が降るので車で通勤している。徒歩や自転車に変えなければと思うのだが,冬場はやはり億劫だ。 「トランザクション処理は関連する複数の処理をまとめて,一つのユニットとして実行する処理方式です」──データベースの入門書にはたいていこんな風に書いてあります。 説明用の最も多い図解が,図1のような銀行の口座間の振替処理ではないでしょうか。Aさんの口座から5万円出金した後で,何らかの原因でBさんの口座に入金することができなかったら,5万円が宙に浮いてしまいます。 トランザクションとして一つのユニットとして実行することで,更新処理をALL or Nothingの状態にできるので,中途半端な

    第11回 トランザクション処理に詳しくなろう
  • MyBatis Schema Migrationを使ってみる - @katzchang.contexts

    この記事は Java Advent Calendar -ja 2010 の4日目のものです。 はじめに 継続的な開発では、データベーススキーマも段階的変化に耐えることが求められる。マイグレーション・システムが必要だ。 そこで、MyBatis Schema Migrationというのがあるらしいので試してみた。ほら、Java屋にはおなじみのMyBatisだ。 インストールする http://code.google.com/p/mybatis/downloads/list?can=3&q=migrations から、「MyBatis Schema Migrations 3.0.2 GA」をダウンロードし、適当な場所に展開し、PATHを通す。 migrate init - 初期設定 プロジェクトのホームがあれば、その下に空のディレクトリを作り、そこでスキーマの管理をするとしよう。空のディレクトリ

    MyBatis Schema Migrationを使ってみる - @katzchang.contexts
  • データベースの差分表示·DiffKit MOONGIFT

    DiffKitはデータベース/CSVファイル間の差分を抽出する。 [/s2If] DiffKitJava製のオープンソース・ソフトウェア。適切なデータベース管理を行っていない状態で運用を続けていると、いつの間にか開発環境と実行環境で構造の不一致がおこる。カラムの順番が違う程度ならいいが、なぜあるのか分からないカラムが出てきたりすると厄介だ。 データベースの構造不一致は様々な問題を引き起こす可能性がある。早めの対処が必要だ。そのためにはまず現状分析を行う必要があるだろう。手作業で行う必要はない、DiffKitを使えば容易に知ることができる。 DiffKitは二つのデータベース間における構造不一致を表示するためのツールだ。Diffツールのデータベース版ともいえる。特徴としてJDBCによるデータベース接続をサポートする他、CSVファイルにも対応していることが挙げられる。片方がCSV、片方がデー

    yamkazu
    yamkazu 2010/12/20
    なにこれ。
  • 実践!データベースリファクタリングツール

    上司が信用できない会社の内部統制~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?!...

    実践!データベースリファクタリングツール
  • 第6回 データベース開発をサポートするプラグイン

    NTTデータ 基盤システム事業部。Javaを中心にフレームワーク開発や開発プロセス定義など幅広く活躍中。おちゃらけプログラマ協会メンバ。ぱ~む脱力ゲーム協会認定脱力作家。著書「まるごと Eclipse! Vol.1」(インプレスジャパン発行)。 Eclipseは,プログラミングのためのIDEという印象が強いですが,データベースと連携するプラグインも多数存在します。ここでは,データ・モデリング,データベース操作,O/Rマッピング支援,JPA利用支援の四つの目的で利用できるプラグインを紹介します。 なお,今回紹介する四つのプラグインは競合しないので,一つのEclipse環境にすべて導入することも可能です。記事では,同一の環境に導入し,モデリング,スキーマの生成,Entityクラスの生成を順に実行していきます。 それぞれのプラグインは,対応するデータベースが微妙に異なっています。今回は共通して

    第6回 データベース開発をサポートするプラグイン
  • セールスフォースのアーキテクチャ(マルチテナントデータベース編)~ Flex Schemaとオプティマイザ

    米国の計算機学会として知られるACMが主催したクラウドコンピューティングのシンポジウム「ACM Symposium on Cloud Computing 2010」(ACM SOCC 2010)が6月10日、11日にインディアナ州インディアナポリスで開催されました。 基調講演では、セールスフォースのアーキテクチャの解説が行われました。複数の利用者のデータを1つのデータベースに格納しているセールスフォースのクラウドでは、どのようなデータベース構造で、また検索のオプティマイズなどはどうしているのしょうか? (この記事は「セールスフォースのアーキテクチャ(物理アーキテクチャ編)~ Podによるスケールアウト」の続きです) マルチテナントとしてのデータベース構造と最適化 セールスフォースの内部でOracle RACを使っていることは説明したが、すべてのユーザーが共有するデータベースで、どのような構

    セールスフォースのアーキテクチャ(マルチテナントデータベース編)~ Flex Schemaとオプティマイザ
    yamkazu
    yamkazu 2010/08/10
    Flex Schemaっていうのかぁ。Redmineみたいなカスタムフィールドを独自に拡張できるようなの作るときもこういうのアーキテクチャになるのかなぁ。
  • データベース負荷テストツールまとめ(1) - SH2の日記

    Webシステム開発において性能試験を行う場合、hp LoadRunnerやApache JMeterといったウェブブラウザをエミュレーションしてくれる負荷テストツールを用いるのが定番だと思います。そんななか、たまにデータベース単体での性能を測ってほしいと頼まれることがあるので、そうした便利なツールはあるのかなと思って調べてみました。 データベースに対する負荷テストツールは探すとたくさん出てくるのですが、案件で使用しているRDBMSに対応していなかったり、トランザクション仕様が希望と異なっていたり、微妙に作りが悪かったりと、ニーズに合致したツールはすぐには見つかりません。そんなときにこのエントリがツール探しの参考になればと思います。 pgbench 対応RDBMS:PostgreSQL 対応OS:Linuxなど 言語:C 作者:石井達夫氏 ライセンス:独自(BSDライセンスに近い) トランザ

    データベース負荷テストツールまとめ(1) - SH2の日記
  • NoSQLを超えるSQLデータベース「VoltDB」。Cassandraとベンチマーク対決!

    「多くのOLTPデータベースは30年前の設計を基にしており、今日の“Webスケールな”データベースの負荷を想定していない。これら伝統的なデータベースは、処理時間の90%以上がログ、ロック、ラッチ、バッファ制御といったオーバーヘッドに費やされ、しかもそれらによって限られた性能やスケーラビリティしか実現できていない」 Ingresの開発者でありInformixのCTOなどデータベースベンダの要職を歴任したデータベース研究者の大御所、マイケル・ストーンブレイカー氏が開発したVoltDBはプレスリリースでこのように既存のリレーショナルデータベースの欠点を示した上で、インメモリデータベースをベースにこれらのオーバーヘッドを除去し、ACIDによるデータ一貫性を維持しつつ大きな性能向上とスケーラビリティを実現したと説明されています。 SourceForge.jpの記事「「NoSQL」を上回る性能を目指す

    NoSQLを超えるSQLデータベース「VoltDB」。Cassandraとベンチマーク対決!
  • データベース負荷テストツールまとめ(4) - SH2の日記

    データベース負荷テストツールまとめの第4回です。 データベース負荷テストツールまとめ(1) TPC-B、TPC-Wベースのツールを6つ紹介 データベース負荷テストツールまとめ(2) TPC-Cベースのツールを6つ紹介 データベース負荷テストツールまとめ(3) TPC-Hベースのツールを2つ紹介 今回はTPC-Eベースのツールを見ていきたいと思います。 TPC-Eとは TPC-EはRDBMSベンチマーク仕様の一つで、オンライントランザクション(OLTP)の性能を測定するものです。証券会社の業務をモデルとして取引や市場の監視、メンテナンス処理を行い、1秒あたりに行った取引件数を性能の指標値とします。 OLTPのベンチマークとしてはこれまでTPC-Cがよく用いられてきました。しかしTPC-Cは1992年の策定から実に18年が経過しており、その間コンピュータのCPU性能はムーアの法則にしたがって伸

    データベース負荷テストツールまとめ(4) - SH2の日記
  • プログラム内のデータベース処理高速化TIPS:phpspot開発日誌

    10 sql tips to speed up your database プログラム内のデータベース処理高速化TIPSが10個紹介されているエントリのご紹介です。 SQLが適切に設計されていないとすぐにデータベース処理がCPUを圧迫してしまいますので可能な限り知っておきたいですね。 基的な事から応用的な事まで参考になりそうだったのでメモ程度にご紹介。 explainでインデックスが使われているかを調べる 最も速いクエリは、クエリを発行しないこと、ということでデータをキャッシュしよう Memcached, CSQL Cache, AdoDB などでそれが可能 必要じゃないモノをselect しないようにする select * from table; ↓ select id from table; limit を使って取得する結果を少なくする foreach ループなどの中でsqlクエリを

  • データベース負荷テストツールまとめ(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の日記
  • DB設計時のサイズ見積もり - よねのはてな

    ここのところ、javaccとawsに魅了されている米林です。 よく使うDB(Oracle/MySQL/PostgreSQL/SQLServer)における設計時のサイズ見積もりで使うサイトの備忘録。 あとは、OracleからのPython情報。 Oracle Oracle 物理設計 http://www.oracle.com/technology/global/jp/columns/skillup/oracle9i/index.html 領域サイズ見積もり http://otn.oracle.co.jp/document/estimate/index.html OTNにログインする必要ありますがオンラインで見積もりが出来ます。 アカウント持っていない人は、この見積もりツールを使う目的でアカウントを作ってみてはいかがでしょうか。 OLTP系とDWH系においてブロックサイズを考慮し、DWH系はブ

    DB設計時のサイズ見積もり - よねのはてな