タグ

dbに関するnyopのブックマーク (34)

  • Amazon謹製RDBMS「Amazon Aurora」がリリースされました!!! | DevelopersIO

    森永です。 のんのんびよりが心の癒やしです。 さて、待ちに待ったあいつがやって来ました。そう、Amazon Auroraです。 いつものごとく東京リージョンには来ていませんが、ひとまず触ってみました。 Amazon Auroraとは Amazonが設計開発を行っているRDBMSです。 MySQL互換で、商用に耐えうる高い可用性を持っているとのことです。 特徴として ストレージが自動で10GB〜64TBまでスケールする AZまたぎでコピーし、更に各AZで2つのコピーを作成 自動修復もできちゃう SSDベースのディスクアレイに10GBずつ分散して書き込み 継続的にバックアップがとられていてピンポイントでのリストアが可能 ほとんどのMySQLを使用したアプリケーションはそのまま使える などがあげられます。 RDBMSの弱点をなくそう、減らそうという意気込みが感じられます。 起動してみた Auro

    Amazon謹製RDBMS「Amazon Aurora」がリリースされました!!! | DevelopersIO
    nyop
    nyop 2015/07/30
  • 20150329 Developers.IO 2015 C-1 クラスメソッドのAWSドッグフーディング

    20150329 Developers.IO 2015 C-1 クラスメソッドのAWSドッグフーディング1 of 105

    20150329 Developers.IO 2015 C-1 クラスメソッドのAWSドッグフーディング
    nyop
    nyop 2015/03/30
    わっほーい。
  • DELETE_FLAG を付ける前に確認したいこと。 - Qiita

    DELETE_FLAG という思考停止フラグ DELETE_FLAG という boolean の列が DB 設計でよく話題になります。 論理削除という言葉で上手に論理武装し、スキを見せるとすぐに入れたがる人がおり、 一方でそれにつよく反対する人もいます。 自分の経験としては、広義の論理削除はありえると思いますが、実現方法が DELETE_FLAG だとなった時、それはあまり考えてないでなんとなくパターンとして盛り込んでる場合が多いと感じます。 ただし、設計に唯一の答えは無いので、もしかしたらそれが妥当な設計である場合があるかもしれません。 今回は「DELETE フラグがなぜダメなのか?」などという話をするつもりも、アンチパターンだと断言するつもりもありません。 問題は、仕様をきちんと把握すると、「最適な設計は DELETE_FLAG ではない」という場合が有って、その場合は、その最適な設計

    DELETE_FLAG を付ける前に確認したいこと。 - Qiita
    nyop
    nyop 2015/03/24
    削除フラグ使うべきかってのは命題として同意だけどDBレベルのバックアップ機能をその解決策にするのは厳しいかなぁ。どんだけのハンコが必要なんだorz
  • データとして登録されるビジネスルール - 設計者の発言

    nyop
    nyop 2014/08/27
    ちょっと思ってたのと例が違ったけど概ね同意。スクラッチ系だとビジネスルールをテーブル化するの嫌がる人多いんだよね。
  • 主キーはインデックスではない - 設計者の発言

    仕事柄、奇妙なDB構造を目にすることが多い。どういう発想からそんな設計がされるのかを理解したいと思っていたのだが、モデラー仲間の秋里さんが先日うまい指摘をした。「主キーをインデックスみたいなものと勘違いしているからではないでしょうか」。インデックス(キー)というのは、レコードの並び順を規定するキーのことだ。 たしかに思い当たる節がある。「こんな順にレコードが並んでいれば処理上都合がよさそうだ」という考えで主キーが設定される。さらに主キーはユニーク制約でもあるので、重複が起こらないように「多め」に項目を突っ込んでおく。つまり「ユニーク制約をともなう代表的インデックス」程度に主キーが理解された結果として、グダグダなDB構造が出来上がるのではないか。 じっさい、昔こんなことがあった。{a,b,c,d}の複合主キーをもつテーブルXがある。ところが、別のテーブルYからテーブルXの特定レコードにアクセ

    主キーはインデックスではない - 設計者の発言
    nyop
    nyop 2014/08/27
    "テーブルは「処理過程でのデータの一時保管場所」ではない。システム要件にもとづいてエンジニアリングされた「関数従属性の制約の束」をデータ構造に写像した結果である。"
  • LevelDB入門 (基本編) - from scratch

    さて、今回は比較的新しいデータストアであるLevelDBについてまとめてみました。 LevelDBは1年ほど前からNode.js界隈ではブームが来ていて、理由がよくわかっていなかったんですが、まとめている内に分かるかなと思ってまとめました。今回はNode.js無関係でLevelDBの基礎的なことだけ調査した結果をまとめてみました。 Node.jsで使ってみる話は後に回します。 LevelDBとは? key-value型のデータストアの一つです。 Googleの研究者である、Jeff DeanとSanjey Ghemawatが開発し、2011年に公表されました。C++で書かれており、多くのプログラミング言語でbindingsが書かれています。もちろん、JavaScript/Node.jsでも書かれています。 LevelDBGoogle のBigTableをベースにしたアーキテクチャを持

    LevelDB入門 (基本編) - from scratch
  • 「知らないなんて言えないNoSQLまとめ」関連の最新 ニュース・レビュー・解説 記事 まとめ - ITmedia Keywords

    知らないなんて言えないNoSQLまとめ(5): ドキュメント指向のNoSQLデータベース(CouchDB、MongoDB)編 連載ではNoSQLを特性から分類して、主要プロダクトの特性を紹介してきました。今回は、利用者も多いドキュメント指向NoSQL2つを見ていきましょう。後半では連載全体の「まとめのまとめ」も。(2013/3/27) 知らないなんて言えないNoSQLまとめ(4): グラフ型NoSQLデータベース(Neo4j、InfiniteGraph)編 カラム型、キーバリュー型と比較してあまり知られていないグラフ指向のデータベースはどんな使い方ができる? 主要プロダクトを見てみよう。(2013/2/8) 知らないなんて言えないNoSQLまとめ(3): カラム指向型データベース(HBase、Hypertable、Cassandra)編 カラム(列)指向データベースは大量データ分析などのニ

    nyop
    nyop 2014/02/25
  • データベースでもっとも重要な3つのアイデア。(世界でもっとも強力な9つのアルゴリズム) - 未来のいつか/hyoshiokの日記

    昨日の日記には山のようにブックマークがついた。( 世界でもっとも強力な9のアルゴリズムを読んだ。 http://d.hatena.ne.jp/hyoshiok/20140209/p1 ) データベースはアルゴリズムじゃないだろうというツッコミもあるけど、偉大なアイデアということだろう。それは多分誰も異論はないと思う。そこで紹介されている3つのアイデアは ログ先行書き込み(WAL) 2段階コミット リレーショナルデータベース トランザクションと言う概念が70年代以降発展してきて、その実装にはログ先行書き込みが多大な貢献をした。 2段階コミットによって分散型データベースが信頼性をもって実装できるようになった。 リレーショナルデータベース(というよりもリレーショナルデータモデル)は全ての基盤になっている。 これらの発展は70年代のSystem Rの先駆的な研究開発から始まったといっても過言ではな

    データベースでもっとも重要な3つのアイデア。(世界でもっとも強力な9つのアルゴリズム) - 未来のいつか/hyoshiokの日記
    nyop
    nyop 2014/02/11
  • @nippondanji 氏の「データベース設計徹底指南!!」は神プレゼン!脅威の主義主張の一貫性保証は DB エンジニアの鏡だった件! - #garagekidztweetz

    ツイート今日は、第 1 回のSQL アンチパターンの回から良コンテンツを提供しまくりなエンバカデロ・テクノロジーズさん主催の第 3 回 DB エンジニアのための勉強会に参加してきました。 今回は 漢(オトコ)のコンピュータ道で有名な漢の中の漢、 @nippondanji 氏がデータベース設計を徹底指南してくれるということで、元々 DB エンジニアがバックグランドのわたしとしてはいかないわけにはいかんだろう、と喜び勇んでいってきました! 内容はというと下記の概要をカバーする内容でした。 リレーショナルデータベース(以下RDB)は登場してからかなりの時間が経っています。その名が示すように、RDBはリレーショナルモデルをベースに考案されたソフトウェアです。しかしながら、未だに現場ではRDBが使いこなされているとは言いがたく、リレーショナルモデルへの理解も進まず、誤った常識が跋扈しているのが現状で

    @nippondanji 氏の「データベース設計徹底指南!!」は神プレゼン!脅威の主義主張の一貫性保証は DB エンジニアの鏡だった件! - #garagekidztweetz
    nyop
    nyop 2013/11/29
  • DBMSの世界はもうとっくに変革の嵐 | 独り言v6

    DBの世界に起こる変革 を見てびっくりするほどがっかりした。DBMSの世界はこれから変革が起こるどころが、もうすでに変革ががんがんに起こっていて、One Size Does Not Fit Allの時代だと言われて久しい。Oracle RDBMSだけの世界とかを見ていると、その変化が見えなくなってしまうことが多いだろう。しかしちょっとRDBMSを離れたら、現在はDBMS戦国時代であり、Oracle社もその有力なプレイヤーの一人である。 とりあえず現状を知りたいと思ったら、以下が非常に参考になる。 NoSQLの現状 50以上のソフトウェアがひしめく市場、これを戦国時代と言わずしてなんだろうか。MongoDBあり、Hadoopあり、KVSあり、NewSQLあり・・・これが21世紀のDBMSの現状だ。 ちなみに先のサイトで話にあった「ジャーナルを書かないRDBMS」というのはつまりLog Str

  • サロゲートキーと複合主キー | DBFlute

    一方で、Webサービス系などで論理設計と物理設計をもう一緒くたにやっていくような場合は、 正規化の論理に目の前にあるサロゲートキーを含めないようにすることが大切で、モデリングはナチュラルキーを基軸に考えていくとよいでしょう。 サロゲートキー (代理キー) サロゲートキー + (複合)ユニーク制約 ナチュラルキーをPKにせず、例えば連番となるようなカラムを用意して、それをPKにします。 これがサロゲートキーと言われるものですが、ナチュラルキーには別途ユニーク制約を付与する というのを忘れてはいけません。 ここでは、ナチュラルキーにユニーク制約を付けずにサロゲートキーだけを導入する方式は、業務的・実装的に意味はないと考え、ここでは取り扱いません。 議論の対象にすらしません。ユニーク制約を付けることで業務的なユニーク性を保ちつつサロゲートキーの恩恵を得ることができ、同時にナチュラルキーを明示する

    nyop
    nyop 2012/12/17
  • - データベースの進化的設計

    データベースの進化的設計 Martin Fowler Pramod Sadalage 原文(Evolutionaly Database Design) ここ何年かで私たちはアプリケーションの開発に即してデータベースの設計を進化させることを可能にする技法を編み出した。このことはアジャイルメソッドにとって非常に重要である。この技法は継続的インテグレーション及び自動化されたリファクタリングをデータベースの開発に適用し、かつDBAとアプリケーション開発者が密接に協力することによって成り立つ。この技法は開発中のシステムや既に開発されたシステムに対しても機能する。 変化に対応する 制限事項 プラクティス集 DBAは開発者と密接に協力し合う 全員が自分のデータベースインスタンスを保有する 開発者は共有マスターに頻繁に結合する スキーマとテストデータから成るデータベース すべての変更でデータベースのリファ

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

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

    素早く正規形を見抜く実践テクニック(1/4) - @IT
    nyop
    nyop 2012/02/07
  • 複合主キーを避けるべき理由 - 虎塚

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

    複合主キーを避けるべき理由 - 虎塚
    nyop
    nyop 2011/07/14
    DB設計。なるへそ。