Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

RDBに関するfbisのブックマーク (13)

  • 「DDDで複数集約間の整合性を確保する方法 Rev2」に対する考察 - かとじゅんの技術日誌

    どうも、かとじゅんです。 松岡さん(id:little_hands)が以下の記事を更新されたそうです。松岡さん自身が悩まれた中で検討したオプションであって、唯一の正解ではないと踏まえたうえで、率直な感想を述べたいと思います。結論からいうと、論旨は前回の記事と変わりませんが、コード例で具体的な考え方を示している点を工夫しています。 little-hands.hatenablog.com 前回の考察記事も古くなったので、最新の記事に併せて考察をまとめ直したいと思います。 blog.j5ik2o.me ドメインモデル ドメインモデル図が追加されていますね。以下の3つの集約があるそうです。「一つの集約にまとめればいいよね」という提案はなしという前提で考えます。 ユーザー タスク アクティビティ・レポート 「アクティビティ・レポート」は「タスク」もしくは「ユーザー」に関連を持つようです。 「これらの

    「DDDで複数集約間の整合性を確保する方法 Rev2」に対する考察 - かとじゅんの技術日誌
    fbis
    fbis 2023/02/24
  • データベースを遅くするための8つの方法

    はじめに Twitterのタイムラインを見ていたらバッチ系のプログラムで逐次コミットをやめて一括コミットにしたら爆速になったというのを見ました。当たり前でしょ、と思ったけど確かに知らなければ分からないよね、と思って主に初心者向けにRDBを扱うときの注意点をまとめてみました。 プログラミングテクニック的なところからテーブル設計くらいの範疇でDBチューニングとかは入ってないです。 自分の経験的にOracleをベースに書いていますが、他のRDBでも特に変わらないレベルの粒度だと思います。 大量の逐次コミットをする バッチアプリケーションでDBにデータをインサートすると言うのはかなり一般的な処理です。しかしデータ量が少ない時はともかく大量のインサートを逐次コミットで処理するとめちゃくちゃ遅くなります。数倍から十数倍遅くなることもあるので、10分程度のバッチが1時間越えに化けることもザラにあるので原

    データベースを遅くするための8つの方法
  • PHPerに知ってほしいRDBの事 その3

    PHPカンファレンス関西 2016の資料です。 http://conference.kphpug.jp/2016/

    PHPerに知ってほしいRDBの事 その3
    fbis
    fbis 2016/08/14
  • 6月のはぶにっき

    not found

    fbis
    fbis 2006/06/24
    DB屋からみるとRailsはDB設計を軽視してる。TuigwaaやSeasarのが素晴らしいらしい。
  • CASE式のススメ(後編):CodeZine

    はじめに CASE式は、SQL-92で標準に取り入れられました。比較的新しい道具であるためか、便利なわりにその真価があまり知られておらず、利用されていなかったり、CASE式の簡略版であるDECODE(Oracle)、IF(MySQL)などの関数で代用されていたりします。 CASE式を活用すると、SQLでできることの幅がぐっと広がり、書き方もスマートになります。しかも、実装非依存の技術なのでコードの汎用性も高まります。特にDECODE関数を使っているOracleユーザーには、ぜひCASE式への乗り換えをお薦めします。 前回『CASE式のススメ(前編)』では、CASE式の文法とその応用方法について解説しました。今回は引き続き、CASE式のより高度な応用方法について解説します。必要な環境 次のいずれかのデータベース(MS Accessは対象外)。Oracle(9i以降)SQL ServerDB2

    fbis
    fbis 2006/06/15
  • CodeZine:CASE式のススメ(前編)

    はじめに CASE式は、SQL-92で標準に取り入れられました。比較的新しい道具であるためか、便利なわりにその真価があまり知られておらず、利用されていなかったり、CASE式の簡略版であるDECODE(Oracle)、IF(MySQL)などの関数で代用されていたりします。 しかし、ジョー・セルコが『プログラマのためのSQL 第2版』の中で、SQL-92で追加された中で最も有用かもしれません  と言うように(注1)、CASE式を活用するとSQLでできることの幅がぐっと広がり、書き方もスマートになります。しかも、実装非依存の技術なのでコードの汎用性も高まります。特にDECODE関数を使っているOracleユーザーには、ぜひCASE式への乗り換えをお薦めします。 このテキストは、そんないいこといっぱいのCASE式の便利な使い方を紹介するものです。 この言葉は、『プログラマのためのSQL 第2版』(

    fbis
    fbis 2006/06/15
  • 素早く正規形を見抜く実践テクニック(1/4) - @IT

    今回のテーマはデータベースエンジニアの必須知識の1つである「正規化」です。正規化は、リレーショナル・データベースのテーブル設計を行ううえで非常に重要なテクニックであり、データベースを設計、実装したことのある方なら一度は正規化に触れているのではないでしょうか。 それほど基的な知識であるにもかかわらず、正規化を説明できる人はなかなかいません。多く聞かれるのが「何となくテーブルを作ると自然に第3正規形になる」とか「実務上は第3正規化まで行えば問題ない」というものです。 ではなぜ「第3正規化まで行えば問題ない」のでしょうか。稿ではひととおり正規化について確認しながら、あまり触れられることのない第3正規化より先の正規化を紹介して、この疑問に答えていきたいと思います。 正規化の位置付け 正規化は、データベース設計全般にかかわる基礎知識ですが、特に論理データモデリングの作業の中で必要になります。稿

    素早く正規形を見抜く実践テクニック(1/4) - @IT
  • プログラマの思索 ER図モデリングツール DBDesigner

    小川 明彦, 阪井 誠 : チケット駆動開発 日のソフトウェア開発の現場で生み出された「チケット駆動開発」という概念を、数多くの実例を元にモデル化・体系化を試みた最初の。 小川 明彦, 阪井 誠 : Redmineによるタスクマネジメント実践技法 Redmineによるチケット駆動開発の実践技法に関する最初のアジャイルなソフトウェア開発への適用方法、TestLinkによるテスト管理手法についても言及。 清水 吉男: 「派生開発」を成功させるプロセス改善の技術と極意 組込システム開発をベースとして、ソフトウェア開発特有のスタイルである派生開発、特にXDDPについて解説した世界でも稀な。既存製品を保守するのではなく継続的に機能追加していく昨今の開発では、派生開発特有の問題を意識しなければならない。XDDPはプロセス論だけでなく、要件定義などの上流工程の品質改善にも役立つので注意。 Le

    プログラマの思索 ER図モデリングツール DBDesigner
    fbis
    fbis 2006/06/12
  • リレーショナル・データベースの世界

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

    fbis
    fbis 2006/02/24
    おべんきょうします。
  • ワンランク上の負荷対策を Web アプリに実装するには・・・(Sledge編)

    最近、お仕事で悩ましいのがデータベース負荷。結局のところ、Web サービスでボトルネックになるのは、バックグラウンドの DB 処理。特にどうしようもないのが、更新系リクエスト。つまりはマスターDB。 既に多くのところが採用している構成と思いますが、MySQL とかでよくやる手段といえば、 参照系は、レプリケーション機能を使って参照系DBを用意して負荷分散。マシンを増やせば負荷に対応可能。 更新系のクエリーだけは、できる限り高スペックなマシンを用意してマスターDBを構築して一手に引き受ける。増設困難で悩ましい。 もうちょい頭をひねれば、機能毎にマスターDBを分散させたり、ユーザ ID とかでパーティショニングしたりと、アプリ層で振り分ける。MySQL に限らず、Oracle とかでも同じようなことが言えます。 で、マシン負荷を監視という運用業務が必須な日々を送っていた(いや、実際にはPJのメ

    fbis
    fbis 2006/02/09
    アプリ層での負荷分散
  • 「DBを正規化すると遅くなる」は誤解,実証実験の結果が公開に

    データ・モデリングの普及団体,DOA+コンソーシアムはこのほど,リレーショナル・データベース管理システム(RDBMS)の処理性能に関する実証試験を行い,調査結果を公開した。「データを正規化してデータベースに実装すると,処理性能が低下する」という“誤解”を正すため,実証実験を行ったという。 データを正規化して実装したときと,非正規化して実装したときの処理性能の違いを調べた結果,「正規化して実装したデータベースの方が処理性能が高い」,「非正規化して実装したデータベースを操作する際,テーブル結合(JOIN)が発生する処理を行うと,処理性能が低くなる」と結論付けた。 実証実験では,自動車の受注業務を想定したWebシステムを構築して,処理性能を測定した。このWebシステムは,データベース上に格納された受注データを基に,製品データや部品データ,部品メーカのデータなどを検索する。 データベース実装の違い

    「DBを正規化すると遅くなる」は誤解,実証実験の結果が公開に
    fbis
    fbis 2006/01/16
    ほうー。なるほどねー。やっぱそうだよね。
  • 関係データベース(データの正規化)

    データの複合は解消された。しかし、このままでは『高島忠夫』を含む行を削除した場合、担任データ(小林稔侍)まで失われてしまう。生徒コードは生徒名と部活名に、担任コードは担任名にそれぞれ従属しているので、これらを分離する。

    fbis
    fbis 2006/01/16
    やわらか
  • はてなブログ | 無料ブログを作成しよう

    絵の超初心者ド下手くそ人間が、20日間絵を描いて感じたこと わたしは、「文の人」だ。絵を描くのは大の苦手。 そんなわたしが、ひょんなことから絵を描き始めた。 そうしたらおもしろくなって約20日間、なにがしかを描きつづけている。 未知の領域での挑戦は、発見が多い。 また、ここまで絵を描けない人間の挑戦は、あまりネッ…

    はてなブログ | 無料ブログを作成しよう
    fbis
    fbis 2006/01/16
    正規化は黙って第三正規形まで、うんなんかいいねこのフレーズ
  • 1