タグ

DBに関するuchida75cmのブックマーク (60)

  • BrewersCapTheorem - ブリュワーの CAP 定理

    BrewersCapTheorem - ブリュワーの CAP 定理 目次 この文書について ブリュワーの CAP 定理 - Amazon と eBay のクールエイド ブリュワーの(CAP)定理 一貫性 (Consistency) 可用性 (Availability) 分割耐性(Partition Tolerance) 定理の重要性 図解で証明 CAP と折り合う 1. 分割耐性を諦める 2. 可用性を諦める 3. 一貫性を諦める 4. BASE に跳ぶ 5. 問題をかわして設計する まとめ 参考文献 ブリュワーの CAP 定理 この文書について "Brewer's CAP Theorem - The kool aid Amazon and Ebay have been drinking" の日語訳です. http://www.julianbrowne.com/article/view

  • CAP Theorem(定理)

    QCon Tokyoでは色々なところで「CAP Theorem」という定理が出てきた。が、eBayの人をのぞけば(たぶん)正確な定義は提示されておらず、不明な点がいくつか残っている。これからのインフラを考える上でも、QConセッションの内容をより良く理解するためにも、このあたりをまずきちんと理解しておきたい。主な疑問点は以下のとおり。 C, A, Pの特性の正確な定義は何なのかCAP定理が前提にしているシステムのモデルはどのようなものなのか Theoremとなっているが、単なる経験則なのか、それとも数学的な定理なのか 頼みの綱?のWikipediaを調べてみたが、日語版はおろか英語版にも載っていない。概観をまとめた海外の記事を結城さんが訳してくれているようなので、これを読んでみる。 CAP Theoremそのものは、Eric BrewerがPODCカンファレンスのキーノートで提唱したもの

  • ―CAP定理のジレンマをOracle RACで理解する―(1/2):クラウドを理解するためのサーバ技術:エンジニアライフ

    2009年は、いよいよクラウド時代の幕明けですね。世の中的にも大不況ですから、導入・運用コストを下げることが期待されるクラウドはまさにうってつけではないでしょうか? しかし、インターネットのあちら側にあるシステムのことは、いまいちピンとこないことが多いですね。最近よく聞く「CAP定理」なんてのもそのひとつだと思います。この定理時代は、前からあったものですが、もっともらしいことを言って煙(いや雲か。)に巻かれている気がしませんか。そんな「CAP定理」をOracleの分散データベースである「Oracle RAC」を例に取り説明してみたいと思います。 1. CAP定理のジレンマ クラウドの特徴のひとつとして、CAP定理が挙げられます。 CAP定理とは、以下の3つを同時には満たせないという定理です。 C:Consistency(データの一貫性) データの更新後、ほかからそのデータを参照した場合、必

    ―CAP定理のジレンマをOracle RACで理解する―(1/2):クラウドを理解するためのサーバ技術:エンジニアライフ
  • NoSQL登場の背景、CAP定理、データモデルの分類

    その例としてBeck氏自身が過去に取り組んできた生命保険会社のアプリケーションを例に挙げます。そのアプリケーションでは毎日のようにスキーマが変化するため、SQLORM(Object-Relational Mapping)では対応できず、オブジェクトデータベースのGemstoneを利用することで対応できたと述べています。 こうしたSQLだけでは満たせないさまざまな要件、上記の図にあるようにスキーマの可塑性、スケーラブルなデータ読み込み、書き込み、処理の柔軟性などを満たすために、リレーショナルデータベース以外のNoSQLな製品が開発された。これがNoSQLの登場の背景にあるとBeck氏は解説します。一方で、こうしたさまざまなNoSQLを、NoSQLという言葉で表すのは適当ではないという憂慮も示しています。 Here is where the futility of defining NoSQ

    NoSQL登場の背景、CAP定理、データモデルの分類
  • PostgreSQLの使い方 - シークエンスの設定とか

    トリガの使い方 トリガ(TRIGGER)は、データベースに更新(insert/update/delete)があった時、あらかじめ指定した関数を呼び出す機能です。 一つのレコードに対する更新によって、他のテーブルに対する更新や同じテーブルの別のレコードに対する更新が必要になる場合等に、それを自動的に行なうために使われます。 PostgreSQLでは、C言語またはPL/pgSQLで定義したユーザ定義関数を、トリガで指定することができます。 PL/pgSQLで定義したトリガ用の関数のcreate文と、トリガのcreate文を、下に示します。 reate function set_koushin_datetime() returns opaque as ' begin new.koushin_datetime := ''now''; return new; end; ' language 'plp

  • エンタープライズ:第1回 PostgreSQLで学ぶSQLデータベースの操作 (6/15)

    特集 オープンソースで作るJava+DB 第1回 PostgreSQLで学ぶSQLデータベースの操作 (6/15) 表3に示したKeijiテーブルを作るため方法は、次のような手順になる。 1. 連番のためのシーケンスを作る Keijiテーブルでは、id列を主キーとした。このid列の値は、レコードが追加されるたびに、1、2、…と自動的に連番を振りたい。 このような連番を振りたい場合、PostgreSQLでは「シーケンス」という仕組みを使う。シーケンスとは、連番を自動発生させるものだ。また作成するためには、CREATE SEQUENCE文を使う。たとえば、KeijiIDという名前のシーケンスを作り初期値を1から始めるには、次のようにすればよい。 One Point! ここでは、KeijiIDという名前を付けたが、シーケンス名は任意である。 PostgreSQLでは、大文字小文字の区別はされない

  • NoSQLをRDBの代わりに使うと、どういう恐ろしいことが起こるか。PARTAKEの作者が語る

    データベースの世界でいま注目されているのがNoSQL。特にキーバリュー型データストアは、グーグルのBigTable、FacebookやTwitterが内部で利用しているCassandraやAmazonクラウドが提供しているSimpleDBなど、すでに実際に使われ始めています。 ではそのNoSQLをリレーショナルデータベースの代わりに使ってシステムを構築するとどうなるのか? 身をもって体験したことを記したShinya Kawanaka氏によるプレゼンテーション「間違った方向にCassandraを使ってみた」が公開されています。 NoSQLを用いたシステム構築は、リレーショナルデータベースによる構築どう違うのか? とても分かりやすくまとめられています。ご人の承諾もいただいたので、その内容を紹介しましょう。 NoSQLを使ったときに起こる恐ろしい事例 プレゼンテーションのテーマは「NoSQL

    NoSQLをRDBの代わりに使うと、どういう恐ろしいことが起こるか。PARTAKEの作者が語る
  • ACID (コンピュータ科学) - Wikipedia

    ACIDとは、信頼性のあるトランザクションシステムの持つべき性質として1970年代後半にジム・グレイが定義した概念で、これ以上分解してはならないという意味の不可分性(英: atomicity)、一貫性(英: consistency)、独立性(英: isolation)、および永続性(英語版)(英: durability)は、トランザクション処理の信頼性を保証するために求められる性質であるとする考え方である[1]。 この語はその4つの性質を表す英語の単語の頭文字をとって作られた頭字語であり、1983年にアンドレアス・ロイター[2]とテオ・ヘルダー[3]によって提唱された。

  • JavaとDBのデータモデルはナゼすれ違う?

    JavaDBのデータモデルはナゼすれ違う?:JavaDBアクセスを極める(1)(1/2 ページ) Webシステムが主流となり、データベース・アプリケーションはJavaやC#といったオブジェクト指向言語で開発することが多くなった。しかし、データベース設計はオブジェクト指向モデルとうまくかみ合わず、データモデル設計に苦労するエンジニアは少なくない。連載は、オブジェクト指向モデルとデータベースモデルのインピーダンスミスマッチに対応するテクニックを紹介する。(編集局) はじめに 連載は、Javaでの開発経験がありデータベース・アクセスに関するある程度の知識を持つ読者を対象に、Java開発におけるデータベース・アクセスに関する代表的な問題や疑問について、開発現場で即実践できる有用な内容を解説していきます。また、「これからJavaで開発を行っていく予定がある方」や「すでに開発中でデータベース・

    JavaとDBのデータモデルはナゼすれ違う?
  • コネクションプールで接続負荷を軽減!

    コネクションプールとは 「第1回:pgpool-IIのインストール方法(http://www.thinkit.co.jp/article/98/1/)」では、pgpool-IIとWebベースの管理ツールであるpgpoolAdminのインストール方法について解説しました。今回は、pgpool-IIの「コネクションプール」機能について解説します。 コネクションプールとは、クライアントからpgpool-IIへの接続が切断した時、pgpool-IIからPostgreSQL間の接続を保持し、後で新たにクライアントからの接続要求を受けた時に再利用することで、接続によるオーバーヘッドを軽減する機能です。 特にWebアプリケーションのようにデータベースに対する接続、切断を頻繁に繰り返すシステムにおいて、全体的にスループットを向上させることができます。 pgpool-IIのコネクションプールの特徴 コネクシ

  • DBコネクション・プール

    サーブレットにおけるコネクション・プールとは データベースはウェブ・アプリケーションの中核要素であり、多くのコンポネントやスレッドからアクセスされる。従ってデータベースのアクセスはなるべく短時間に済ませねばならない。アプリケーションが提供されるサービスのよしあしが、データベースのアクセス時間によって決まることも多い。与えられたデータベースとハードウエアのもとで、データベースへのアクセス時間を短縮するには、データベースの来の仕事であるデータの検索や追加・変更以外にかかる作業を短縮しなければならない。それがSQLの構文解析及びコンパイルと、該DBへの接続である。 通常アプリケーションがデータベースをアクセスするとき、定型化された幾つかのSQL文をSQLサーバに送る。異なるのは、そのSQL文のパラメタのデータだけであろう。SQLで記されたクエリをデータベースが毎回解析/コンパイルするのではなく

  • MySQL | GREE Engineering

    MySQL について GREE Engineering

    MySQL | GREE Engineering
  • MongoDB 1.6にはシャーディングとレプリカセットが追加された

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    MongoDB 1.6にはシャーディングとレプリカセットが追加された
  • MySQLerのTwitterアカウントまとめ。

    松信氏の、 MyISAMとInnoDBのどちらを使うべきか Twitterで話題になってたので簡単にまとめました。 というエントリが人気を博しているが、松信氏が言うように最近はTwitterMySQL関連の話題も結構増えてきているように思う。Twitterの流行の勢いは凄まじく、今は右を向いても左を向いてもTwitter、寝ても覚めてもTwitterも杓子もTwitterという雰囲気である。従ってMySQLTwitterで盛り上がるのは当然の成り行きというもであるし、Twitterを活用しない手はない。 しかしMySQL関連の話で盛り上がると言っても「じゃあ誰をフォローすれば話に入れるんだよ?!」と多くの皆さんは疑問に思われることだろう。そこで、今日はMySQL関連のTwitterアカウントを独断と偏見と愛と勇気と努力をもって紹介する。MySQLの情報が欲しい人、もしくは話題の輪に

    MySQLerのTwitterアカウントまとめ。
  • HA化機能を手に入れたSPIDERストレージエンジンにはもはや死角はなかった。

    ブログでも何度か取り上げたことのあるあのSPIDERストレージエンジンがさらにパワーアップして便利になった!8月にリリースされたバージョン2.22では次の2つの強化が行われている。 HA機能の追加(データノードの冗長化) LinuxおよびWindows用ビルド済みMySQLパッケージの配布 インストールが簡単になった!前回SPIDERストレージエンジンを紹介したときには、ソースコードからコンパイルする必要があり、なおかつMySQL体にパッチを適用しなければならず、利用するまでの敷居が高かったように思う。しかし、バージョン2.22よりSPIDERを含んだビルド済みバイナリが提供されたことにより、SPIDERを利用する手間はぐっと少なくなった。しかもこのビルド済みのバイナリにはSPIDERだけでなく各種パッチと、さらにはVPストレージエンジンまで含まれているという気の利きようだ。コンパイル

    HA化機能を手に入れたSPIDERストレージエンジンにはもはや死角はなかった。
  • 快適スケールアウト生活への第一歩。SPIDERストレージエンジンを使ってみよう!

    先月、Not Only NoSQL!! 驚異的なまでにWRITE性能をスケールさせるSPIDERストレージエンジンというエントリでSPIDERストレージエンジンによるスケールアウトが凄い!という話を書いた。SPIDERストレージエンジンは凄いヤツだが、ノウハウがあまりウェブ上で見つからない。唯一見つかる日語の記事は、ウノウラボによる「国産MySQLストレージエンジン「Spider」の作者、斯波健徳氏に聞く 」だけである。SPIDERストレージエンジンは斯波氏による単独の作品であるため、斯波氏は開発だけで手いっぱいであり、使い方の紹介記事を書くことまでは手が回らないのであろう。こんな凄いストレージエンジンをドキュメントが足りないせいで使って貰えないなんて勿体ない!! というわけで、今日はSPIDERストレージエンジンの基的な使い方について紹介する。少し長いエントリであるが、最後までお付き

    快適スケールアウト生活への第一歩。SPIDERストレージエンジンを使ってみよう!
  • NoSQLを超えるSQLデータベース「VoltDB」。Cassandraとベンチマーク対決!

    「多くのOLTPデータベースは30年前の設計を基にしており、今日の“Webスケールな”データベースの負荷を想定していない。これら伝統的なデータベースは、処理時間の90%以上がログ、ロック、ラッチ、バッファ制御といったオーバーヘッドに費やされ、しかもそれらによって限られた性能やスケーラビリティしか実現できていない」 Ingresの開発者でありInformixのCTOなどデータベースベンダの要職を歴任したデータベース研究者の大御所、マイケル・ストーンブレイカー氏が開発したVoltDBはプレスリリースでこのように既存のリレーショナルデータベースの欠点を示した上で、インメモリデータベースをベースにこれらのオーバーヘッドを除去し、ACIDによるデータ一貫性を維持しつつ大きな性能向上とスケーラビリティを実現したと説明されています。 SourceForge.jpの記事「「NoSQL」を上回る性能を目指す

    NoSQLを超えるSQLデータベース「VoltDB」。Cassandraとベンチマーク対決!
  • X迷影视网-有价值的剧情知识与资源下载-秀尔生活

    美国小说 杰弗里·怀特,翠西·艾利斯·罗斯,约翰·奥提兹,埃里卡·亚历山大,莱斯利·格塞斯,亚当·布罗迪,凯斯·大卫,伊萨·雷,斯特林·K·布朗,迈拉·卢克利希亚·泰勒,雷蒙德·安东尼·托马斯,奥基里特·奥诺多瓦,米利亚姆·肖尔,迈克尔·西里尔·克赖顿,派特里克·费斯克勒,尼尔·勒纳,J·C·麦肯泽,詹·哈里斯,贝茨·怀尔德,迈克尔·吉布林

  • FathomDB、「スケーラブルなRDBをDatabase-as-a-Serviceで提供する」と宣言

    リレーショナルデータベースはスケーラビリティに弱く、そのためにクラウド対応の大規模データベースとしてNoSQLと呼ばれる種類のデータベースに注目が集まっていることは、これまでにPublickeyの記事として紹介してきました。 「NoSQL」は「Not Only SQL」である、と定着するか? NoSQLデータベースを40種類以上リストアップ、キーバリュー型にもいろいろある MySQL+Memcachedの時代は過ぎ、これからはNoSQLなのか、についての議論 しかし、「リレーショナルデータベースはスケールする」と宣言して、それを実現しようとしているベンチャー企業があります。FathomDBです。 Database-as-a-Serviceを提供するベンチャー FathomDBは現在、Amazonクラウド2やRackspaceの上でMySQLデータベースの運用をサービスとして提供しています。

    FathomDB、「スケーラブルなRDBをDatabase-as-a-Serviceで提供する」と宣言
  • 知って得するInnoDBセカンダリインデックス活用術!

    InnoDBはクラスタインデックスという構造になっている。今日はクラスタインデックスがどういうことかということを、皆さんに理解して頂きたい。もっとも理解して頂きたいポイントは「セカンダリインデックスのリーフノードには主キーの値が含まれている」ということだ。 主キーの構造InnoDBの主キーは次の図のように「データが主キーのリーフノードに含まれる」という構造になっている。このような構造をクラスタインデックスという。 このような構造になっていることには利点と欠点があるが、大きな利点は主キーの値で検索をすると非常に高速だということだ。主キーのリーフノードにたどり着いたときには、既にデータのフェッチも完了している。データとインデックスが別々に格納されているタイプのストレージエンジンでは、インデックスからデータの位置を読み取って、その後データファイルからデータをフェッチする。このように二段階の操作が

    知って得するInnoDBセカンダリインデックス活用術!