タグ

データベースに関するchigurihaguriのブックマーク (18)

  • 商品コードを主キーにするべきではない理由

    リレーショナルデータベースのテーブルの主キーの設計については「ユニークになる項目だから必ず主キーにしないと行けない」というわけではなく、多くのDB設計者の間でも - ID派(あえて別に自動採番のIDを付ける) - コード派(ユニークになるものは出来るだけ主キーとする) の2つに分かれる様だ。特に近年はRuby on Railsに代表される様に数値型の単一キーの存在を前提として作られているFrameworkが増えて来た事もあって、ID派の存在感が増しているらしい。 それぞれメリット・デメリットがあってどちらがいいのかはケースバイケースになるのかも知れないが、自分の場合はこれまでの業務システム開発の経験から、どちらかと言うと自動採番のIDを使う方がメリットが多いのではないかと思っている。やっぱりなんだかんだ言っても、「どうしてもこのマスターのコードを変えたいんだけど」と言われるケースが何度かあ

  • PostgreSQLのポイントインタイムリカバリ(PITR)めも - あられねこのめも

    PostgreSQLのポイントインタイムリカバリ(PITR)のしくみとオンラインバックアップ手順、リカバリ手順のめも。 バックアップ概要 バックアップの種類 pg_dump サーバを起動したまま、pg_dumpコマンドでバックアップを取得します。DBをバックアップを取った時点のデータに戻すことができます。PostgreSQLのメジャーバージョンが異なるとき、この方法でデータの移行を行う必要があります。 オフラインバックアップ サーバを停止後、dataディレクトリ以下をまるまるコピーします。DBをバックアップを取った時点のデータに戻すことができます。 オンラインバックアップ バックアップツールを使用して、サーバを起動したままファイルをコピーします。また、アーカイブログも取得します。アーカイブログを適用することで、DBの状態を任意の時刻の時点に戻すことができます。 ここでは、このオンラインバッ

    PostgreSQLのポイントインタイムリカバリ(PITR)めも - あられねこのめも
  • 直感RDF!! その1-RDFとは。 - Qiita

    直感シリーズ第二弾です。(同内容をブログにもアップしています。) RDFとは Resource Description Framework の略です。頭文字を取って,RDF。Wikipediaによると, Resource Description Framework (リソース・ディスクリプション・フレームワーク、RDF) とは、ウェブ上にある「リソース」を記述するための統一された枠組みであり、W3Cにより1999年2月に規格化されている…中略…RDFは特にメタデータについて記述することを目的としており、セマンティック・ウェブを実現するための技術的な構成要素の1つとなっている。 ふーん,って感じじゃないですか?枠組みって言われてもねぇ。と私は思っていました。 もう少し耐えて,調べてみましょう。 そのセマンティックウェブって何よ? Webページおよびその中に記述された内容について、それが何を意

    直感RDF!! その1-RDFとは。 - Qiita
  • SQLServer と Oracle の異なるロック思想: iTech Labo

    SQLServerのロック SQLServerでは「READ COMMITTED」がデフォルトの分離レベルとして設定されている。 上記説明通り「COMMIT済みのデータだけを読み取る」のだが、その読み取り方がREAD_COMMITTED_SNAPSHOT データベースオプション」の設定(ON,OFF)によって2種類の動作が可能になるというところがミソである。 この動作がOracleにはないのでちょっと戸惑うポイントだと思う。 ※READ_COMMITTED_SNAPSHOT オプションはデータベース オプション。 データベース単位で ON,OFF が可能。 ・READ_COMMITTED_SNAPSHOT オプションがOFFの場合 このオプションがOFFになっていた場合にデータ参照すると(Selectを発行すると) ☆共有ロックを取得する。 ☆参照が完了すると共有ロックを開放する。 とい

  • ORMのパフォーマンス最適化

    これは明らかに遅く非効率だ。この問題はEager Loadingというテクニックを使うことで解決できる。もし最初の注文クエリの一部として後で必要となる顧客とのアソシエーションをすべてロードしておけば、Customerに対するアクセスはただのプロパティへのアクセスになる。こうすれば後のデータベースクエリは不要になり、N+1問題も起こらない。 LightSpeedでは、そのEager Load設定をTrueに変更することで(もしくは手書きコードのエンティティにEagerLoadAttributeを適用することで)、アソシエーションのEager Loadを可能にする。Eager Loadされるアソシエーションをもつエンティティをクエリすると、LightSpeedは追加のSQLを生成して、‘プライマリ’エンティティと同じように関連したエンティティを取得する。 Order.Customerアソシエー

    ORMのパフォーマンス最適化
  • 無料で使える「Oracle Database XE」をインストール - builder by ZDNet Japan

    1. 無料のOracleデータベース 読者の皆さんはOracleデータベースに無料版が存在することをご存知でしょうか?残念ながら日オラクルから情報が出てないので、知らない方も多いと思います。 無料版のOracleデータベースとはOracle Database 10g Express Edition(以下「Oracle XE」)で、多少の制限はありますが中身は完全なOracleデータベースです(制限については後述)。 金額的に敷居が高いと感じていた方であっても、無料でOracleデータベースを用意することができます。開発プラットフォームとしてだけでなく、小規模システムであれば運用プラットフォームとしても十分に使えると思います。もちろん、Oracleデータベースの勉強にも有用でしょう。 データベースはデータを管理し、簡単に検索・抽出などをするために利用されます。通常はデータの管理等に利用され

    無料で使える「Oracle Database XE」をインストール - builder by ZDNet Japan
  • 大規模データ技術の現状と今後の方向性

    また、データの全件処理、特にI/Oの性能が求められる多重のバッチ処理にはMapReduceが新たな選択肢として加わります。MapReduceはデータインデックシングや非構造化データの前処理(ETL、クレンジング)への適用が有名ですが、より汎用的なバッチ処理のインフラ技術[3]として適用範囲が広がっています。 こうした技術の選択肢の中で、特にスケールさせるためにはデータを分割し、分散配置させることと、データの配置場所に処理を持っていくこと、つまり、シェアードナッシングのデータベース技術がアプリケーションアーキテクチャーに大きな影響を及ぼしています。 非構造化データを含めた大規模データ分析MapReduceで実行し、その結果の集計やレポート機能にRDBを利用して分析結果の可視化をするのが現在は主流となっています。しかし、この方法は十分に全体最適化がされてなく、データ転送コストの無駄が発生して

    大規模データ技術の現状と今後の方向性
  • Unofficial Db2 FAQ

    サイトについて サイトは IBM Db2 についての非公式なFAQ(よくある質問と答え)を提供しています。内容は無保証です。サイトについてはAbout をご覧ください。(免責事項についてはこちら ) 間違いや古い情報を見つけた場合は、管理者 までご連絡ください。 こちらから FAQカテゴリー 一覧 超FAQ 検索 関連サイト Unofficial DB2 Blog DB2メモ db2watch.com(ポータルサイト) What’s new

    Unofficial Db2 FAQ
  • DB2逆引きWiki

    サイトは IBM製RDBMSであるDB2の逆引き機能リファレンスです。 技術評論社から出版されていた同名書籍のコンテンツをベースとしています。 そのためほとんどのページがDB2バージョン8.1.5ベースの記述になっています。8.2以降で追加された新機能についてはこちらに追補としてまとめてあります。 将来的に出版後のアップデートなどを反映した内容に更新していく予定です。 こちらから DB2逆引きリファレンス目次 DB2逆引きWiki:免責事項

  • Linux版のSymfoware V10にJavaで接続する

    CentOSにSymfoware V10をインストールし、データベースを作成しました。 Linux版のSymfoware V10をCentOSで動作させる(インストール編) Linux版のSymfoware V10をCentOSで動作させる(起動編) CentOSにインストールしたSymfoware V10にデータベースを作成する SymfowareをインストールしたCentOSにJavaをインストールし、接続を試してみます。 CentOSへのJavaインストールはこちら。 CentOS 5.4にjdk1.6をインストールする パスの設定 このパスの設定がわからず苦労しました。 以下の設定を行っていないと、 というエラーが発生し、SymfowareのJDBCドライバのロードに失敗します。 SymfowareのJDBCドライバは、タイプ4を使用する場合でも必ず JNI(Java Native

    Linux版のSymfoware V10にJavaで接続する
  • データベースコンサルタントのノウハウちょい見せ DBA3タイプのスキルアップ方法

    各種インフラ技術(OS、ストレージ、ネットワーク)やオラクル製品といった話題を取り上げます。著者は小田圭二、「門外不出のOracle現場ワザ」、「絵で見てわかるOracleの仕組み」、「絵で見てわかるOS/ストレージ/ネットワーク」などの著作もあります 前回紹介した、開発側DBA(開発プロジェクトDBA、運用側DBA(運用フェーズのDBA)、全体最適のDBA(標準化や品質向上のための特別ミッション)の3つのDBAについて、各々スキルアップのための方法について簡単に説明したいと思います。 開発側DBAのスキルと研修です。 運用側DBAのスキルと研修です。 全体最適DBAのスキルと研修です。 最後にITSSから私が抜粋、補足したDBAのスキルアップ(研修)です。 よくよく分析すると実際には、実業務の経験がとても必要な世界であるため、これらのスキルアップはあくまでもベースであったり、とっかかり

  • SQLite入門

    データベースの SQLite の使い方について解説します。 SQLite はサーバとして動作させるのではなく単独のアプリケーションとして動作させることが可能です。インストールも簡単な上に非常にコンパクトなため、アプリケーションと一緒に配布するといった利用も数多くされています。ここでは SQLite を使ってデータベースやテーブルの作成方法、そしてデータを追加したり取得したりする方法について一つ一つ解説していきます。

    SQLite入門
  • OSSツール 情報検索 | The Linux Foundation

    HTMLフォームからの値の受け渡し OSSツール名 OSSツール一覧    Windows上で動作するOSSツール一覧  Linux上で動作するOSSツール一覧

    chigurihaguri
    chigurihaguri 2011/07/27
    コメントを入力してください (省略可能)
  • ORACLE/ORA-12520 - centromezzo wiki

  • ラッチ(Latch)とOracleデータベース - /* Grid Thinking */

    ラッチは、もともと家のドアなどにかけるチェーンのことで、 Oracleではシステム・グローバル領域(SGA)のメモリー構造を保護するためにOracleで使用される下位レベルの内部ロックです。 サーバー・プロセス やバックグラウンド・プロセスは、SGAで操作を行う際に、メモリー情報が変更されないように 非常に短い間(1秒もない)、ラッチを獲得します。複数のプロセスがラッチ を獲得しようとすると競合がおき、待機が発生します。 ラッチの目的は、同時に資源にアクセスすることで壊しあいや不整合を防ぐもので、アクセスをシリアライズします。 目的はロックと同じですが、ユーザーに見せるのがロック、ユーザーに見せないのがラッチです。 一般的にラッチには、共有モードと排他モードがあるようです。共有モード同士は読み取りを許し、 相手が排他モードだったら読み取りは許されないです これも、可能なら並行度を上げるため

    ラッチ(Latch)とOracleデータベース - /* Grid Thinking */
  • NoSQLの成功は1:10問題にかかっている:Kenn's Clairvoyance

    ここ2-3年ほど、いわゆる非SQL系データベースがホットな話題になってきています。このムーブメントを総称して「NoSQL (Not-only SQL)」と呼ばれることが多いようです。まるでSQLを否定しているかのような誤解を招きやすい用語ですが、かといってキー・バリュー型データストアや列指向DBを総称できる他の呼び方もないので、このエントリではNoSQLという用語を使うことにします。 OracleMySQLなどのSQLデータベースが成熟していく一方で、SQLデータベースを特徴づける弱点である柔軟性のなさ、堅牢さと引き換えに犠牲になった更新性能の低さ、スケールアウトの難しさなどから、「何でもかんでもRDB」から「目的に応じた永続化」が模索される流れになってきました。 時を同じくして、キャッシュサーバの世界でも、MemcachedのもつシンプルなAPIの使いやすさが評価される一方、LRUによ

    NoSQLの成功は1:10問題にかかっている:Kenn's Clairvoyance
  • United Front 2 - ドメインモデルの設計 - Domain Model Design

    システムの中核となるドメインモデルを設計します。ここでは、「システムが何をするか」といった視点から入るではなく、 「システムが対象としているもの」に着目して開発を進めます。システムの画面イメージなどは描いても良いですが、そ れはあくまでドメインの設計を手助けするものであり、ここではまだ決定しません。 まずは全体的な構成を考察します。ブログがいくつかのブログ記事を持ち、さらにブログ記事が複数のコメントを持つと 考え、次のような概念クラス図を描きました。 Blog それでは、ブログのドメインモデル Blog から考察します。ブログはその所有者やアクセス制御を持つ資源と考えられますから、AbstractResource を継承することにしました。同時に、このオブジェクトがドメインモデルであることを表す Domain 、 永続化可能であることを表す Serializable 、 ドメインオブジェク

  • SQLiteのテストコードは4567万8000行! 本体のコードは6万7000行

    軽量なリレーショナルデータベースとして人気のSQLite。そのWebサイトに掲載されている「How SQLite Is Tested」の内容が、海外のプログラマなどのあいだで話題になっています。 3月に公開された最新バージョンのSQLite 3.6.23。体のソースコードは約6万7200行(67.2KSLOC、Kilo Source Lines of Code:空行やコメントを除いた行数)なのに対し、テストコードはなんと4567万8300行(45678.3KSLOC)だと紹介されているのです! これはテストコードが体の約679倍もの大きさだということになります。 100%のブランチカバレッジ SQLiteコアのライブラリをテストするテストコードとして、以下の3つが紹介されています。 TCL Tests TCL Testsはもっとも古いテストコードで、TCL scripting lang

    SQLiteのテストコードは4567万8000行! 本体のコードは6万7000行
  • 1