タグ

dbに関するbobbyjam99のブックマーク (39)

  • 【旧版・説明欄参照ください】 サーバーレスアプリケーション向きの DB 設計ベストプラクティス

    【2019/09/12 追記】 この資料は旧版であり、最新版が存在します。 2019/09/12 にアップロードしたものをご参照ください 最新版 → https://www.slideshare.net/AmazonWebServicesJapan/db-20190905 --------(元の文)------------------- 2019/05/09 に #AWSLoft Tokyo で開催されたイベント、「イチから理解するサーバーレスアプリ開発」における講演資料の一つです。 ・サーバーレスアプリケーションにおいて Amazon DynamoDB が利用しやすい理由 ・RDB と DynamoDB の設計プロセス・考え方の対比・明文化 ・実例に沿った DynamoDB の設計プロセス解説とサンプル例題 などを含みます。 イベント: https://understandingbasi

  • DB論理設計のノウハウ - Qiita

    DB設計の概要を簡単におさらいした後、論理設計について主にまとめていきます。 DB設計の全体手順のおさらい DB設計は、大きく論理設計と物理設計に分けられます。 概念スキーマを定義します。 エンティティの抽出 エンティティの定義 正規化 ER図の作成 物理設計 論理設計の結果を受けて、データを格納するための物理的な領域や格納方法を決めます。 テーブル定義 インデックス定義 ハードウェアのサイジング ストレージの冗長構成決定 ファイルの物理配置決定 テーブルの構成要素のおさらい 行と列 行(レコード):横のデータの組 列(カラム):縦のデータの組 キー キーとは、DBのテーブルから特定のデータを引き出すための鍵です。 主キー:その値を指定すれば、必ず一行のレコードを特定できるような列の組み合わせのこと。一意にレコードを識別するためにある 外部キー:2つのデーブル間の列同士で設定するもの。参照

    DB論理設計のノウハウ - Qiita
  • DELETE_FLAG を付ける前に確認したいこと。 - Qiita

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

    DELETE_FLAG を付ける前に確認したいこと。 - Qiita
  • DB設計でこだわりたい三つの要素

    This document discusses Spark, an open-source cluster computing framework. It begins with an introduction to distributed computing problems related to processing large datasets. It then provides an overview of Spark, including its core abstraction of resilient distributed datasets (RDDs) and how Spark builds on the MapReduce model. The rest of the document demonstrates Spark concepts like transfor

    DB設計でこだわりたい三つの要素
  • 書籍出版のお知らせ:理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL

    来る2月27日、データベースの新書籍を発売させて頂くことになった。タイトルは「理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL」となっている。単に「データベース」と書いてあるが、RDBがメインのテーマの書籍である。 多くの人が未だにRDBを使いこなせていないのではないか。RDBの使い方をマスターするには何が必要なのか。それがここ数年私が追ってきたテーマであり、この書籍を出すことになった動機である。 あまりにも酷いDB設計、あまりにもスパゲティなクエリ、あまりにも希薄なデータモデルへの理解。そういった問題はどこから生み出されるのか。そのひとつの結論としてたどり着いたのが、「そもそもRDBの使い方があまり理解されていないのではないか」ということだった。名著、SQLアンチパターンでは「やってはいけないケース」について学ぶことができるが、その反対のテーマ、つまり来どの

    書籍出版のお知らせ:理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL
    bobbyjam99
    bobbyjam99 2015/02/02
    これは期待
  • 複合主キー「否定派」と「許容派」の論争 - 設計者の発言

    定期的に取り上げたくなるDB設計に関する話題である。WEBアプリが一般化して以来、議論されてきた事柄がある。テーブルの主キーを「単独主キー」のみとするか、複数項目を組み合わせた「複合主キー」を必要に応じて使うべきかという問題だ(*1)。複合主キーに対する「否定派」と「許容派」に分かれた議論は劇烈で、宗教論争のようにも見える。 主キーというものは、テーブルの存在意義といってもいいほどに重大な要素である。にもかかわらず、なぜそんな基的なレベルの議論が始まってしまったのか。2つほどの理由が考えられる。 まず、単独主キーとしてIDを機械的に置くやり方(ID方式)が「オブジェクト指向」と相性がよかったからだ。オブジェクトは固有の識別子(オブジェクトID)を持つので、これに相当するIDをテーブルの主キーとすることで、オブジェクトとDBの設計問題を統合できると考えた技術者が少なからずいた。そのアイデア

    複合主キー「否定派」と「許容派」の論争 - 設計者の発言
  • 【21社から5社をSNSの評判から厳選】おすすめの出会い系アプリ&失敗しない選び方|マッチングアプリ漂流教室 – マッチングアプリの感想をSNSの意見を参考に紹介

  • SSD専用に設計された「ReThinkDB」、ロックもログも使わない新しいリレーショナルデータベースのアーキテクチャ

    SSD専用に設計された「ReThinkDB」、ロックもログも使わない新しいリレーショナルデータベースのアーキテクチャ SSDがHDDに代わるストレージとして普及しようとしていることを背景に、SSDに特化したまったく新しいアーキテクチャを備えたリレーショナルデータベースを開発しようとしている企業があります。「ReThinkDB」です。 昨年7月に、PublickeyではReThinkDBの概要を記事「SSDに最適化したデータベース「RethinkDB」、ロックもログも使わずにトランザクション実現」で伝えました。 その記事の中では、ReThinkDBがロックを使わずにトランザクションを実現し、データベース利用中でもスナップショットがとれ、また異常終了しても容易に復帰できる機能を備えている、といったことを紹介しました。 4月に米サンタクララでに行われた「MySQL Conference & Ex

    SSD専用に設計された「ReThinkDB」、ロックもログも使わない新しいリレーショナルデータベースのアーキテクチャ
  • キャッシュの大きいRDB vs インメモリデータベース、性能がどれだけ違うのか調べてみると

    2週間ほど前に「インメモリデータベースがクラウド時代の主流になるという期待」というエントリを書きました。ハードディスクに代わり、メモリをデータベースの永続化手段とするインメモリデータベースは、超高速なアクセスとスケールアウトを実現する、クラウド時代のデータベースの主役になるのではないか、という内容です。 この記事に関して、TechVisorの栗原さんと次のようなやりとりをしました。 確かに、Oracle Real Application Cluster(以下、Oracle RAC)でデータベースが全部載るくらい十分にキャッシュ用のメモリを割り当てれば、メモリ上でデータベースを操作するインメモリデータベースと同じことではないのか、とも思います。 両者の違いは何かあるのでしょうか? 調べてみることにしました。 インメモリデータベースは1000倍速い 調べてみるとすぐに、両者には明確な性能差があ

    キャッシュの大きいRDB vs インメモリデータベース、性能がどれだけ違うのか調べてみると
    bobbyjam99
    bobbyjam99 2009/08/20
    インメモリデータベースは1000倍速い.
  • http://twitter.com/understeer/status/2178888905

    http://twitter.com/understeer/status/2178888905
  • [データベース設計編]参照整合性制約機能を多用してはいけない

    参照整合性(Referential Integrity)とは,テーブル間のデータの整合性を保つための仕組みである。例えば,「受注テーブルの商品番号カラムには,商品テーブルの商品番号カラムに同じ値がなければならない」といった制約を維持するための仕組みである(図1)。RDBMSはこの整合性を維持するための機能として,「参照整合性制約」といった機能を持つことが多い。これは,定義された参照整合性をチェックし,整合性を逸脱するような値がテーブル内に存在しないようにする機能である。この機能を使用する場合は,テーブル定義の際に「Constraint句」を用いることが多い。 参照整合性制約機能は,誤ったデータがテーブルに含まれないようにするには効果的な機能である。だが,むやみに使うと問題を引き起こすことがあるので,注意が必要だ。 データ移行時にエラー 最も問題が起こりやすいのは,データを移行する際だ。先の

    [データベース設計編]参照整合性制約機能を多用してはいけない
    bobbyjam99
    bobbyjam99 2009/06/02
    何でも参照整合性のせいにしちゃダメでしょ.
  • [データベース設計編]レコード長×件数でデータ容量を決めてはいけない:ITpro

    データベース設計の一つに,ディスク容量の見積もりがある。概算として,そのデータベースに格納する「テーブルのレコード長×件数」で見積もることがあるだろう。だが,こうして求めた値の容量を確保していると,後々ディスク容量不足になることが多いので注意が必要だ。 その原因として,大きく二つの理由がある。一つは「論理レコード長」と「物理レコード長」の違い,もう一つは「ブロック」の考え方が入っていない点である。論理レコード長とは,簡単に説明すればディスクへの格納形式を考慮しないレコード長,物理レコード長とはディスクへの格納形式に基づいたレコード長である。ブロックとは,RDBMSがディスク入出力を行う際のデータ単位である。 物理サイズはRDBMSに依存 レコード長は,テーブルを構成するカラム・サイズの合計で考えるのが基である。カラムの定義は,例えば「カラム01 char(10)」(10バイトの文字列)や

    [データベース設計編]レコード長×件数でデータ容量を決めてはいけない:ITpro
    bobbyjam99
    bobbyjam99 2009/06/01
    "ブロック・サイズ×レコード件数/1ブロックに収まるレコード件数"
  • Tokyo Cabinet

    Our team of highly trained cybersecurity professionals provides expertise in compliance, tool assessments, threat hunting, incident response and more. Critical Start is leading the way in Managed Detection and Response (MDR) services. With a unique approach that treats every security alert as equal, Critical Start's proprietary Trusted Behavior Registry allows security analysts to resolve every al

  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
    bobbyjam99
    bobbyjam99 2009/01/26
    商用は対象外.当り前か.
  • Leo's Chronicle: ぜひ押さえておきたいデータベースの教科書

    先日のエントリで少し話したのですが、僕が在学していたときの東大にはデータベースを学ぶためのコースというものがありませんでした(DB関係の授業は年に1つか2つある程度。現在はどうなんだろう?)。そんなときに役だったのは、やはり教科書。読みやすいものから順に紹介していきます。(とはいってもすべて英語です。あしからず) 一番のお薦めは、Raghu Ramakrishnan先生 (現在は、Yahoo! Research) の「Database Management Systems (3rd Edition)」。初学者から研究者まで幅広く使えます。データベース管理システム(DBMS)の基概念から、問い合わせ最適化、トランザクション管理など、これらを実装・評価するために必要な、「DBの世界での常識」が、丁寧な語り口でふんだんに盛り込まれています。この1冊を読んでおけば、DBの世界で議論するための

    bobbyjam99
    bobbyjam99 2009/01/08
    全て英語本orz
  • DBの基本を勉強したい人へオススメする本 - |ω・)ノ <黒猫の気まぐれ日記

    最近,学部生に「DBについて勉強したいんですが何かオススメ参考書はありますか?」と聞かれた.私自身も,DBについて勉強したいなぁと感じていた.というのも,この頃院の授業で正規化の辺りを突っ込んでやったり,授業では習わない類のクエリを書いたり,数万件以上のデータを処理したり・・・とやっているうちにどうにも自分の知識不足を感じたからだ.学部の時は授業で理論の基的なところを習って,あとはDBを利用したちょっとしたWebサービスを作ったくらいで,ちゃんと理解してこなかったから仕方ないといえばそうなんですが。。。まぁせっかくなので,DB関係ので私がオススメかなーと思うを挙げておきます(・ω・*) ●はじめの一歩DBについて勉強しようと思って一番最初に思い出したのは「マンガでわかるデータベース」という.マンガでわかるデータベース作者: 高橋麻奈, あづま笙子, トレンドプロ出版社/メーカー:

  • 窓の杜 - 【REVIEW】SQL文の入力支援やER図作成に優れた高機能なSQL開発環境「A5:SQL Mk-2」

    「A5:SQL Mk-2」は、SQL文の入力支援やER図作成などの機能を備えた高機能なSQL開発環境。Windows 98/2000/XP/Server 2003/Vista/Server 2008/Vista x64に対応する寄付歓迎のフリーソフトで、作者のWebサイトからダウンロードできる。 ソフトは、SQL文の作成・実行を行える汎用のデータベース開発環境。ADOやODBCドライバーを利用して各種データベースに接続可能で、ソフトで作成したSQL文を実行し、その結果を表示できる。また、SQLの実行計画を取得したり、実行結果を「Excel」へ出力することも可能。 画面はサイドバーと編集画面の2つに分割されており、サイドバーではデータベースおよび関連するスキーマ・テーブル・ビューといった項目がツリー形式で表示される。編集画面はタブ切り替え式になっており、SQL文やテーブルなどを複数開いて

  • データベースのアジャイル開発を実現する8のプラクティス - レベルエンター山本大のブログ

    アジャイルな開発に欠かせない割りに、あまり言及されていなかったのが データベースのアジャイル開発です。 今、私の参画しているプロジェクトで、データベースに関するアジャイルな開発の方法を模索していました。 現在実践していて効果のあるプラクティスをまとめます。 1.データベース作成ツールのVSS管理 「スキーマ定義クエリ」と、移行に必要な「初期データCSV」および「移行クエリ」、「移行プログラム」は、管理ツール(VSS)にチェックインされていて、だれでも修正が可能です。 スキーマ定義クエリだけでなく、「移行データ」についてもVSSで管理しているのがポイントです。 マスタなどのデータは、業務の設計に応じて変わるものですし、移行プログラムも実装チームやテストチームが柔軟に修正できたほうが便利です。 データは、単体テスト用データとしても利用できます。 2.データベースのデイリービルド データベースの

    データベースのアジャイル開発を実現する8のプラクティス - レベルエンター山本大のブログ
  • データベースもアジャイル開発に対応したい! (1/3) - @IT

    Jiemamy作者が考える “データベースの進化的設計” データベースもアジャイル開発に対応したい! アジャイルの考え方においては、実装前にシステム要件・設計を確定させることはせず、常に変化を受け入れていく体制が必要です。アジャイル開発の考え方にのっとるなら、アプリケーションだけではなくデータベースについても設計の凍結はせず、また、ソースコードに限らずデータベースの構成・設計についてもリファクタリングが適用されるべきです。Jiemamyはこの問題に取り組むプロジェクトとして始められました。稿ではこのJiemamyの取り組みを紹介します。 ソースやスキーマだけ管理しても意味がない 近年注目を集めている「アジャイル開発」は、リファクタリングが重要な要素の1つであることはご存じのとおりです。アジャイルの考え方においては、実装前にシステム要件・設計を確定させることはせず、常に変化を受け入れていく

  • SQLite Home Page

    What Is SQLite? SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. SQLite is the most used database engine in the world. SQLite is built into all mobile phones and most computers and comes bundled inside countless other applications that people use every day. More Information... The SQLite file format is stable, cross