タグ

databaseに関するh2ondaのブックマーク (8)

  • CAP定理を見直す。“CAPの3つから2つを選ぶ”という説明はミスリーディングだった

    分散システムにおいては以下の3つの要素のうち2つしか同時に満たすことができない、というCAP定理を提唱したのは、Eric Brewer氏でした。 C:Consistency(一貫性) A:Availability(可用性) P:Tolerance to network Paritions(ネットワーク分断への耐性) 一般にリレーショナルデータベースでは、一貫性(C)と可用性(A)をできるだけ保証する代わりに、ネットワーク分断への耐性(P)を犠牲にしています。ネットワークが途中で切れたり大きく遅延した場合、動作が保証されなくなってしまうわけです。 一方でNoSQLでは一貫性(C)よりも可用性(A)とネットワーク分断への耐性(P)を優先させるものが多く、分散システムでの動作に向いていると説明されます。このようにNoSQLの説明にこのCAP定理がしばしば引用されることになり、NoSQLの普及とと

    CAP定理を見直す。“CAPの3つから2つを選ぶ”という説明はミスリーディングだった
  • 美しき青きDoma!~SQLとIDEが奏でる美しきORマッピング~ - 行きあたりばったりエンジニアの日記

    このブログについて これはJava Advent Calendar 2014 - Qiitaの10日目の記事です。 昨日(2014/12/09)は@irofさんの「Javaであまりしないコーディング - 日々常々」でした。 明日(2014/12/11)は@dk_masuさんです。 今回、僕は「Doma」というORマッパーについて調べました。 Domaには「バージョン 1」と「バージョン 2」がありますが、今回はJava SE 8に対応している「バージョン 2」を取り上げます。 Domaは日語のチュートリアルが充実しているため、今回のブログでは、Domaを使うための最初の環境作成や、チュートリアルを読んで理解できるようになるための下地となる、基的な部分について解説したいと思います。 Domaを使って、簡単な検索Webアプリを作ります。 サーブレット・JSPで作っていますので、適宜お使いの

    美しき青きDoma!~SQLとIDEが奏でる美しきORマッピング~ - 行きあたりばったりエンジニアの日記
  • SQLデータベースに正しインデックスを作るのは 誰の役割?

    SQLのパフォーマンス問題は、SQLそのものと同じぐらいの歴史がある―― ある人は、SQLはそもそも遅いものだとすら言うかもしれません。これは、SQL歴史が始まった頃は正しかったかもしれませんが、今となっては全く 当てはまらないでしょう。にもかかわらず、SQLのパフォーマンス問題は今も一般的でよくあることです。どうしてそうなってしまうのでしょうか? SQL言語は、恐らく最も成功した第4世代言語(4GL)でしょう。その最大の利点は、「何を」と「どのように」 を分離できることです。SQL文は、どのようにそれを実行するかを記述せずに、単純に 何を必要としているかのみの記述になっています。以下のような例を考えてみましょう。 SELECT date_of_birth FROM employees WHERE last_name = 'WINAND'SQLのクエリは、データを要求する英語の文として読

    SQLデータベースに正しインデックスを作るのは 誰の役割?
  • データベースアプリケーション開発を炎上させる負のスパイラル

    毎度おなじみ、はてブのホットエントリに「SIをダメにする負のスパイラル」というタイトルのまとめが掲載された。きしだ氏とはかなり視点は違うものの、開発現場の問題点については少し思うところがあるので意見を書いてみようと思う。と言っても、以下の話の内容はデータベースアプリケーションに限定した話であり、またSIerだけに限った話ではないのでその点はご容赦頂きたい。もちろんSIer各位の案件はデータベースは必須なので、エントリで触れる問題点には該当するだろう。 Q.なぜ炎上するのか? A.正しいデータベース設計ができていないから結論から言おう。データベースアプリケーションの開発が炎上するのは正しいデータベース設計ができていないからだ。ここでいう「正しい」とは、論理的に証明できる正しさという意味ではない。「来こうするべき」といった意味で捉えて欲しい。 「炎上」というのは、例えばテストが通らない、バ

    データベースアプリケーション開発を炎上させる負のスパイラル
  • 【DB概論】データベース設計の目的・まとめ

    DB概論】データベース設計の目的・まとめ:できるエンジニアになる! ちょい上DB術・基礎編(6) デキるエンジニアになるためには、DB技術の基礎は必須です。連載では、豊富な実例と演習問題で、プロとして恥ずかしくない設計手順を解説します。DB設計のポイントとなる汎用的なケースを紹介しているので、通常の業務とは異なる場合でも応用できる「共通の考え方」を身に付けられます。

    【DB概論】データベース設計の目的・まとめ
  • 削除フラグのはなし

    Query Optimization with MySQL 5.7 and MariaDB 10: Even newer tricksJaime Crespo

    削除フラグのはなし
  • 優良企業はなぜHadoopに走るのか

    ちなみに、この分析のために必要とされるMapReduceのコードであるが、そのサイズはわずか20ステップだという。Yahoo!のプレゼンテーターである、エリック・バルデシュバイラー氏によると、たとえ経験の浅いエンジニアであっても、MapReduceによるプログラミングは可能であるとされる。 また、VISAのジョー・カニンガム氏からも、貴重なデータが提供されていたので以下に紹介する。同社では、1日に1億トランザクションが発生するため、2年間で700億強のトランザクションログが蓄積され、そのデータ量は36テラバイトに至るという。こうしたスケールのデータを、従来のRDBを用いて分析するには、約1カ月の時間が必要とされてきたが、Hadoopを用いることで13分に短縮されたという。 これまでは、Yahoo!にしろVISAにしろ、膨大なデータをRDBに押し込むほかに方法はなく、その分析に数十日を要する

    優良企業はなぜHadoopに走るのか
  • PHPとデータベースに関する5つの問題、とその解決法 - GIGAZINE

    IBMのサイトに、PHPから操作するデータベースに関してよく見られる5つの問題点とその解決方法が掲載されています。 データベースのデザインをする際、一般的に発生する問題点についての解説です。 で、肝心の5つの問題が何かというと、以下の通り。 Five common PHP database problems 1つめは古いPHPのコードでは直接、データベースにアクセスしているということ。コレに代わる手段としては、PEARのDBモジュールを使うか、あるいはPHPデータオブジェクト、PDOのクラスを使え、とあります。 2つめは、オートインクリメントを使わないということ。MySQLは基的にレコード1つについてユニークなIDをオートインクリメントしているわけですが、これを活用していないというパターン。オートインクリメントを有効に使っていない場合、非効率的であるだけでなく、負荷も高くなるそうです。解

    PHPとデータベースに関する5つの問題、とその解決法 - GIGAZINE
  • 1