タグ

rdbに関するtarchanのブックマーク (16)

  • データベースにRDBを選択するときの注意事項について考える(追記あり) - Qiita

    2019年6月20日追記: この度は、ブログにて技術的に誤った記事を掲載したことをお詫び申し上げます。具体的には以下の通りです。 一方的にRDBがスケールしないという技術的根拠が薄い内容となっていました。 RDBAmazon DynamoDB(以下、DynamoDB)/NoSQLデータベースを要件に応じて適切に選択するという内容になっていませんでした。また、来考慮すべきアプリケーションの設計やデータアクセスパターンに言及しておらず、RDBのデメリットの部分にのみ焦点を当てる内容となっていました。 DynamoDBの具体的な活用やDynamoDBを使う上での注意点についても触れられていない不明瞭な記載でした。 当初の記事の目的としましては、特定のユースケースをサンプルとして、最適なデータベースを選択頂くことでした。近日中に正確な技術記事を掲載させて頂きます。 以下の内容は修正前の内容と

    データベースにRDBを選択するときの注意事項について考える(追記あり) - Qiita
  • なぜRDBからCSV + COBOLに変更する事でコスト削減と高速化を同時に実現出来たかの考察 - ブログなんだよもん

    そもそも既存はどんなロジック? RDBなんだからWhere句使ったら? なぜファイルにすると速くなるのか? 並列化と分散処理による高速化の可能性 COBOL使う必要あったの? Javaとかじゃダメだったの? まとめ TLを見てると以下の記事が少し話題になってました。 tech.nikkeibp.co.jp tech.nikkeibp.co.jp 対象の記事は有料会員じゃないと見れないのだけど事例としては以下みたい。 リソース - ユーザー事例 - COBOL製品 ユーザー事例 : マイクロフォーカス さて、この記事の驚きポイントは「1億レコードくらいのDB処理をRDBからCOBOL + CSVに変更してUnixサーバからWindowsサーバに変える事で性能を維持しつつコストを1/5くらいにした」という事でしょう。 「せっかく7割もあったSQLを全部COBOLに変えるとか時代に逆行しすぎ!」

    なぜRDBからCSV + COBOLに変更する事でコスト削減と高速化を同時に実現出来たかの考察 - ブログなんだよもん
  • RDBとNoSQLにみるDB近現代史 データベースに破壊的イノベーションは二度起きるか? - エンジニアHub|若手Webエンジニアのキャリアを考える!

    「ユーザー目線」のシステムを目指して RDBが従来の階層型DBに比べて優れていた点はいくつか挙げることができますが、シェアを伸ばすうえで最も大きな影響は、ユーザーが使いやすいデータ構造とインタフェースにこだわったことです。すなわち、「テーブル」と「SQL」の発明です。 RDBでは、すべてのデータを「テーブル」というただ一つのデータ形式によって表現します。テーブルは、見た目が「二次元表」に似ているため*3、Microsoft ExcelGoogle ドキュメントなどのスプレッドシートを使い慣れた人が見ると、データを格納する方法が直観的にイメージしやすいという利点があります。実際、こうした二次元表によるデータ管理は、Excelなどのソフトウェアが登場する前から一般的な方法だったため、RDBが登場した当時の人々にとっても受け入れやすいものでした。 テーブルが画期的だった点は、もう一つあります。

    RDBとNoSQLにみるDB近現代史 データベースに破壊的イノベーションは二度起きるか? - エンジニアHub|若手Webエンジニアのキャリアを考える!
  • flint blog: 関係データベースにおける配列の表現

    以前のエントリで「次回は履歴を保存する方法について解説します」と書いたのですが、その前に気になるテーマを見つけたので、今回は予定を変更してそちらの解説を行いたいと思います。 その気になるテーマというのは、表題の通り、関係データベース (RDB) における配列の取り扱いについて。 そもそも、リレーションモデルでは、原則的に単一のカラムはスカラを表すため、これを用いてベクタである配列を直接表現することはできません。 (参考: リレーションの正規化#第一正規形 - Wikipedia) しかしながら、実際には配列というデータ構造を用いずにシステムを設計・開発することは現実的に不可能です。 結論から言えば、関係データベース上で配列を表現するためのごく簡単なテクニック (というほど大げさなものでもない) があるのですが、少なくとも私が観察した範囲では、その手法にはこれと言った名前が付けられておらず、

  • グーグルがRDBとNoSQLの「いいとこ取り」--DBサービス「Cloud Spanner」発表

    印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます 米国時間2月14日、Googleはリレーショナルデータベースでありながら、水平的に拡張可能で高可用性を実現した、ミッションクリティカルな用途にも利用できる分散データベースサービス「Cloud Spanner」のパブリックベータサービスを開始した。 Googleによれば、Cloud Spannerはリレーショナルデータベースのトランザクションの一貫性と、NoSQLのシンプルで水平的に拡張しやすくデータを分散管理できるという特徴の「いいとこ取り」ができるマネージドサービスだという。 同社は、Cloud Spannerの特長として次のようなポイントを挙げている。 ハードウェアやソフトウェアの管理に時間を割く必要がなく、アプリケーションロジック

    グーグルがRDBとNoSQLの「いいとこ取り」--DBサービス「Cloud Spanner」発表
    tarchan
    tarchan 2017/02/15
    >Googleは社内でこのシステムを「AdWords」や「Google Play」などの重要システムを含め、多くのシステムで長期間にわたって実際に利用しており、毎秒数千万件のクエリを処理している
  • 3値論理とNULL

    要するに、データベースにnullが1つでも含まれていれば、クエリから正しくない結果が返される可能性がある。しかも、一般的には、どのクエリから正しくない結果が返されるのかを知る方法はないので、すべての結果があやしく見えてくる。nullが含まれたデータベースから正しい結果が得られることは確信できない。筆者に言わせれば、この状況はまさにお手上げである。 ――――C.J.デイト はじめに 多くのプログラミング言語が、真理値型(BOOL型、BOOLEAN型)というデータ型を持っています。もちろん、SQLにも真理値型が存在します。ユーザーが直接扱えるデータ型として定義されたのはSQL-99ですが、WHERE句などの条件の評価時にも真理値の演算が行なわれています。 ところで、普通のプログラミング言語の真理値型とSQLの真理値型の違いをご存知でしょうか? それは、普通の言語の真理値型が、true、fals

    3値論理とNULL
    tarchan
    tarchan 2014/09/08
  • 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を発行すると) ☆共有ロックを取得する。 ☆参照が完了すると共有ロックを開放する。 とい

  • インメモリデータベースを巡って、マイクロソフトとオラクルがオンラインバトル

    オラクルが、「マイクロソフトが発表したHekaton(インメモリデータベース機能)は、ベイパーウェア(蒸発してしまう、要するにハッタリ)だ」と挑発すると、マイクロソフトが「オラクルExadata X3のインメモリデータベースはキャッシュで、Hekatonの当のインメモリ技術とは違う」と返す。インメモリデータベースを巡って、オラクルとマイクロソフトがネット上で議論を戦わせました。 オラクル「Hekatonはベイパーウェアだ」 最初に口火を開いたのはオラクルでした。Forbesに「Oracle Calls Out Microsoft over Vaporware Fantasy」という記事を11月14日付けで寄稿。この記事はForbesに直接ベンダが記事を書ける、いわばスポンサーコーナーに掲載されました。 記事を書いたのは、オラクルのシニアコミュニケーションVP Bob Evans氏。彼は、

    インメモリデータベースを巡って、マイクロソフトとオラクルがオンラインバトル
  • 基幹系システムでCloud SQLは使えるか試してみた

    リスト5は、ここで使用したDBテーブルのスキーマです。このスキーマはサンプル用に簡略化されたもので、実際に生産管理システムで使用されるものとは、かなり違っています。実際の生産管理システムで使用されるテーブル類がどのような構成になるのか、一般的な例で紹介します。 図7は、この例に関係するようなテーブル類の関連図です。ここでの例のように部品構成が参照されてからの処理は次のようになります。 部品構成表には通常部品番号で親子関係のみが登録されており、それ以外の部品の詳細情報は含まれないのが普通です、従って、ある親部品からの子部品構成をツリー状に展開して表示する場合、親子関係の部品番号は表示できますが、それ以外の情報は表示できません。 ここで、おのおのの部品に関する情報を表示する場合は、一般には部品マスタ(アイテムマスタ)からの情報を表示します。在庫情報やその部品の購入先であるベンダマスタの情報など

    基幹系システムでCloud SQLは使えるか試してみた
  • Oracle 外部表 - ひしだまの変更履歴

    ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲーム音楽です。 Oracle Loader for Hadoopを試していたら外部テーブル(external table)という仕組みがあるのを知ったので、ちょっと調べてみた。 外部テーブルとは、データファイル(CSVやDataPump)をテーブルとして扱うことが出来るもの。(逆説的に、まるでHiveみたいだなw) 外部テーブルを作るのは一瞬だが、その後SELECTする際にデータファイル読み込みが発生するので、実行時間はSQL*Loaderとそんなに差が無いかもなぁ…と思っていたが、インデックスの無いEMPテーブルへのロードを試してみたら、外部テーブルを使う方が3~4倍も速かった。 CSVファイルとDataPumpの外部テーブルによるSELECT-INSERTは、100万件だとDataP

    Oracle 外部表 - ひしだまの変更履歴
    tarchan
    tarchan 2012/07/09
    >CSVファイルとDataPumpの外部テーブルによるSELECT-INSERTは、100万件だとDataPumpの方が2倍くらい速かったが、1000万件だと逆にCSVの方が2倍くらい速かった
  • Play frameworkのDB操作を楽にするEBeanの基礎知識

    Play frameworkのDB操作を楽にするEBeanの基礎知識:Javaの常識を変えるPlay framework入門(2)(1/3 ページ) DB操作で使うPlay frameworkのフォルダ構成 前回の記事「Java開発で泣かないためのPlay frameworkの基礎」では、Play frameworkの特徴から始まり、セットアップ、そしてEclipseでの環境設定までを解説しました。 いよいよ今回からPlay frameworkでのプログラミングの仕方を紹介します。今回は、DBスキーマを作成するなどの作業を行わず、手軽に行えるDB操作を紹介します。 まず、プログラミングに入る前に、今回のDB操作で使うPlay frameworkのフォルダ2つを簡単に説明します。そのほかのフォルダについての説明は次回以降の連載で説明していきます。 「app」フォルダ Javaクラスやビューテ

    Play frameworkのDB操作を楽にするEBeanの基礎知識
  • 第4回 フレームワークを使用した開発をサポートするプラグイン

    DB連携アプリの開発にはフレームワークが必須 JavaではJavaプログラムからデータベースにアクセスするためにJDBCというAPIが用意されています。しかし、実際にデータベースと連携するアプリケーションを開発する場合はJDBCを直接使うのではなく、O/Rマッピングフレームワークを使用するのが一般的です。 O/RマッピングフレームワークにはSQLを隠蔽しJavaAPIやデータベースの差異を吸収することを目的とした独自クエリを使用するHibernateや、逆にSQLを直接記述することでデータベースの機能・性能を最大限に引き出すことのできるMyBatisなど様々なものが存在します。また、最近はJavaEE標準のO/RマッピングフレームワークであるEJB3(JPA)が利用されるケースも多くなってきています。 連載の最終回となる今回はこれらのO/Rマッピングフレームワークを使用した開発をサポート

    第4回 フレームワークを使用した開発をサポートするプラグイン
  • 基幹系システムでCloud SQLは使えるか試してみた

    基幹系システムでCloud SQLは使えるか試してみた:Google Cloud SQLは基幹系で使えるのか(後編)(1/4 ページ) 生産管理システムで「再帰呼び出し」の速度を検証 グーグルGoogle App Engine(以下、GAE)から利用できるRDBMySQL)の「Google Cloud SQL」(以後Cloud SQL)の提供を“Limited Preview(限定プレビュー)”としてアナウンスしています。前回の「」では、ローカル環境でCloud SQLを動かすための準備・設定などを中心に見てきました。今回は、下記の3つのポイントを中心に見ていきます。

    基幹系システムでCloud SQLは使えるか試してみた
  • ボトルネックになりやすいデータベースを高速化するキャッシュシステム·CSQL Cache MOONGIFT

    CSQL Cacheは複数のデータベースに対応したキャッシュシステム。 CSQL CacheはRDBMS用のオープンソース・ソフトウェア。Webシステムを構築する上で欠かせない存在になっているのがデータベースだ。オープンソースであればMySQLやPostgreSQL、エンタープライズであればOracleDB2などが有名だ。 データベースを使えばデータの蓄積はもちろん、詳細な条件を指定したデータの取得や更新、集計等が容易にできる。だが高性能故にアクセス頻度が多くなってボトルネックになることも多い。そんな時に考えたいのがCSQL Cacheだ。 CSQL Cacheは実際には試せていないのだが、興味深いソフトウェアなので紹介したい。CSQL Cacheはいわゆるデータベースアクセスをキャッシュするソフトウェアだ。データベースとプログラムの間に立ち、メモリ上にキャッシュするシステムだ。 JDB

    ボトルネックになりやすいデータベースを高速化するキャッシュシステム·CSQL Cache MOONGIFT
  • データモデルをビジュアルで確認·Jailer MOONGIFT

    データベースというのは通常のプログラム言語に比べると構造やアクセス方法が異なる。使っていて便利なのだが、日々メンテナンスを行っていると、徐々に全体像の把握ができなくなってくる。 データビューワー それを防ぐにはデータのビジュアル化が必要だ。各種データベースに対応したこれを使ってみよう。 今回紹介するオープンソース・ソフトウェアはJailer、データモデルビューワーだ。 JailerはJavaで作られたソフトウェアで、WindowsMac OSXなどマルチプラットフォームで動作する。XMLまたはデータベースから構造を分析し、マッピングすることが可能だ。データはリレーションに従って表示され、関連の線なども確認できる。 データモデルエディター モデルをクリックすると、連携しているモデルとの接続方法やn:1などの関係も分かる。また、データベースからXMLへのエクスポートも可能になっている。一つの

    データモデルをビジュアルで確認·Jailer MOONGIFT
  • Pure Javaのデータベース・エンジンH2がクエリ言語を搭載 - 矢野勉のはてな日記

    H2, database, JavaすべてJavaで書かれたデータベース・エンジンとしてはHSQLDBが有名ですが、もともとHSQLDBの前身となったHyperSonicを作った人が始めたH2 Database Engineというプロジェクトがあります。 HSQLDBは実はレコード検索するのにも行がListに入っているのを線形検索してたりとか結構すごいところもあるのですが、H2は作者が別の商用データベースの仕事で得た経験を元にしてHypersonicを一から作り直したもので、当然そのような問題も改善されています。 一方でHSQLDBと同じく、ロックはテーブルロックしかサポートされてないとか、DBサーバとして使うにはどうなんだろ、というところも残っています。それでもPure Javaであることを生かして関数をJavaで作ってクラスファイルをDB Engineに追加して拡張する機能とか、ファン

  • 1