質問
私のことを聞いてデザイン戦略において使用 非関係"nosql"データベース これは、主に新しいクラスのデータの店舗を使用しない伝統的な関係の設計またはSQLなどのHypertable,apache couchdbが持つ,ァ、Google App Engine datastore,Voldemort,CassandraのSQLデータサービス、等。彼らはもと呼ばれる"キー値の店"は、ベースを同定するような巨大な分散持続性のハッシュテーブル
具体的には、について知りたいの違い 概念データをデザイン これらの新しいデータベースです。いや何が何ではできませんのでしょうか?
まだ代替のデザインを作り、非関係のでしょうか。
てございますのでご注意下さ頭の為に何をするにもうできないのでしょうか?
ま架橋のギャップとデザインパターン例翻訳のですか?
とんでもない明示的なデータモデルの全て(例えばにUMLやきチャッキングして全ての半構造-ドキュメント指向型データ用途にでも便?
いつも見逃さずに追加サービスRDBMSes提供のように関係の完全性、恣意的に複雑な取引の支援、トリガーなどが有ります。
からやってきましたSQL関係DB背景、正規化は私のです。との利点は関係データベースの簡単のため、スケーリング、腸管から言えることができ、より豊かに重複デザインの力です。何をしています。
参考までに、StackOverflowの議論と類似の話題はこちら
解決
やろうと思い立ったら、そのときを考えると、非関係DBMSが異なる多くに関するデータモデルとそのための概念的なデータをデザインが異なります。のスレッド データをデザイン以外の関係型データベース の NOSQL Googleグループ の異なるパラダイムの区分はこのように:
- Bigtableシステム(HBase, Hypertableなど)
- Key-value店舗(東京、Voldemort, など)
- 文書データベース(apache couchdbが持つ, Pythonなど)
- グラフデータベース(AllegroGraph, Neo4j、ゴマ等
私は心に グラフデータベース, で、データを使ってデザインがこのパラダイムの構築したいが、疲れた、欠点の RDBMS.し出していただきありがとうござい数少ない例のデータからデザインをグラフデータベースにこ wikiページ とが どのようにモデル化 基本 IMDB 映画/俳優/役割のデータです。
のプレゼンテーションスライド:現在に至る) グラフデータベースや、将来の大規模知識管理 による マルコ-ロドリゲス を含むも紹介データからデザインをグラフデータベースです。
回答は、特定の問題からgraphdbの視点:
代替デザイン:追加の関係の多くの異なる種類の主なまたは必要predefineの企業を取得できます。
の懸け橋-してしまいがちないこごとに異なる場合は、ドメインそのものについては、"表型グラフ"の様にします。しかし、 こちらの している情報の一部には自動翻訳からRDBMSへのgraphdb.
明示的なデータモデル:いはそれらすべての時間(ホワイトボードのスタイル)を使用してモデルとしてではDBです。
ミスからRDBMSの世界簡単なユーザーがレポートを作成する.更新:思うしそうでもないと思う その 難しいレポートの作成からグラフのデータベース、 レポート作成のためのNeo4Jサンプルデータベース.
他のヒント
自分はまだ始めたばかりとの関係のDBsというものがありましたように包む私の頭の周りでは、どのモデルとなってしまいます。とができまみなどがこれを雄弁に物語っているapache couchdbが持つ.
まだ、予備的な結論:
まだ代替のデザインを作り、非関係のでしょうか。
デザインにフォーカスが移:デザインのドキュメントモデル(対応するDBテーブルがほとんど無関係ながらもヒンジン設計の意見に対応するクエリ).
文書のDBのようなスワップの複雑さ:SQLでは、硬直的なデータの柔軟なクエリー、文書DBsていました。
はapache couchdbが持つモデルは"JSON文書"(基本的には入れ子のハッシュテーブル).各ドキュメントには独自のIDできtrivially取得によるIDです。その他のクエリを書き"眺め"の名前の地図を軽減します。の景色を返しの結果セットのリストとしてのキーと値のペアになっています。
フレキシビリティがないデータベースに問い合わせの意味ですクエリのSQLデータベース:その結果の閲覧機能が格納され、インデックスのみを指数を問い合わせることができます。("だ","getキー"または"getキー範囲を".)
最も近似のSQLうだけのクエリでDBに格納手続き-各クエリにしたい支援が必要かじめ定義されています。
デザインの文書は非常に柔軟性があります。りなんだけを制限す:
- 保に関するデータを同じ文書であるものに対応します。
- を作成するのではありませんの書類が違うのではないかと思っているって更新しあまり高頻度などを全社売上高前の書面にて文書の更新をトリガーに再割り出し.
もヒンジに設計します。
の代替デザインしている仕事の桁よりapache couchdbが持つよSQLデータベースのシステムレベルではなく保管する。を持っていればデータ、たいていのwebページでは、複雑さの合計システムは減少なくとも50%:
- noの設計DBテーブル 小号)
- なODBC/JDBC中間層、すべてのクエリや取引上http (moderate号)
- 簡易DBオブジェクトへのマッピングからJSONは、ほぼ自明と比較して同じアプリケーション (が必要な場合があります。))
- できるスキップ応したアプリケーションサーバーとしてデザインすることが可能です書類から取得できるようにする直接ブラウザのデザインに加え、少しのJavaScript研磨前として表示されます。 (大!!)
通常のwebapps、文書/JSONに基づくDBsている大勝し、欠点の少ない柔軟な問合せがコードデータ検証のように見える小さな価格の支払い
てございますのでご注意下さ頭の為に何をするにもうできないのでしょうか?
まだ含まれていません。地図-削減の手段としての照会データベースにはあまり馴染みのない、多くの思考の上書きしてください。ありかなり少数のプリミティブな結果を必要なものであると共に、問題のクリエイティブなどを指定します。
制限がある質問をいう二つ以上の書類を同時にな参加その他の種類の多文書との関係が何もついてお話したいと思いを取り戻すでしょう。
例として、限定数と金額は決して簡単な平均を算出できないときには、apache couchdbが持つ表示/返します。問題の修正戻り和やカウントを別々に計算するのでは平均するサービスです。
ま架橋のギャップとデザインパターン例翻訳のですか?
くなったことになるが可能になる。というのは無いような気がしの完全なリデザイン、翻訳機能スタイルプログラムオブジェクト指向スタイル。一般に、ありというのは、ごく限られた文書の種類によりSQLテーブルやデータにしております。
一することができるので見ごためのSQLを挿入し、共通の質問:あるテーブルとカラムを更新しましたお客様の場合は注、インスタンス?とから、最もあてはまるものための月次売上概況?この情報はあく同じドキュメント
るには:一つの文書の順序を含む、顧客ID、商品Id、複製分野で必要に応じて簡素化します。何以内に文書を問い合わせることができ、簡単に必要とする相互参照とい注文のお客様への幅を広げることが出来ます。また報告地域別売上高-生産高地域別売るべきだろう領域をコードします。
とんでもない明示的なデータモデルの全て(例えばにUML)?
まったくUML前の文書DBsのいずれか)
が必要な何らかのモデルとする分野に所属する文書を、どのように値が含まれている.両方のご参考後にeverybodのDBを知り尽くコンベンションに出かけていく。できないエラーが出た場合は、日付、テキストフィールドは、例えば、どうにもなりませんので、追加または削除す場感じ、必要なものも検証コード、条約及び他ります。特に、この場合は、外部資源です。
いつも見逃さずに追加サービスRDBMSes。
世界中の巨大フロアを揺ら.私の背景には、ウェブ開発者にウェブアプリケーションは、データベースとされる範囲に限り行えるものとしなければ:)
会社で使って仕事をした製品(webappために走るSQLデータベースから複数のベンダーの追加サービス"から生まれるDB-DBが実施する個別DBです。いった作業移動の機能のRDBMS.こっていfulltextを検索する
でも私をものに思った。あの経験とは異なる場合がございます。
る点に注意:何のために、現在はwebappのための金融データ、株価します。これは非常に良文書のDB、私なりの視点からすべて取得しますのDBのこだわりのクエリ)なので生活することができます。
これらのデータは、ありませんの複雑な関係ます。最新の引用による東京証券取引所第一部、お見積による東京証券取引所第一部および日付の範囲は、会社のメタ情報、そのほとんどです。他の例として見たブログ、ブログな特徴による大規模複雑なデータベースシステムの主要なテーマです。
思いったところにセブンイレブンがあるすべての用途の文書DBsんてるデータのない相互関係に書類(Google検索)、ブログへの投稿やニュース記事、財務データです。
期待していることがデータセットを地図りSQL以上のドキュメントモデルでは想像SQLが生き残る。
ものによってはポリシーを簡単に保存-取得するデータとの疑いがあることを、多くの文書データベースとしてapache couchdbが持つ)菅野敬一板金職.
私はこの答えapache couchdbが持つ奥の私の頭の中で思考で最もたいていそうなるであろうがその他のDBsます。また利用apache couchdbが持つが、ついに決定する技術を開発しているので当社のデータが表示されない場合は事前に知っておくと、拡張性は問題ではありません。
硬:
- 間の再考"に概念的なレベルでの"硬いのでは異なります。からだデータにアクセスパターンは、事前に自動翻訳はしません使用することができる。いを追加する必要がありアクセスパターン。
- 一貫性の取扱いを行わない、データベースが扱う。以下の保証手段や移動、いった追加機能が提供されます。により拡張性により複雑な願います。申請が関わっていることを感じて対立や矛盾.
- リンクされた文書(またはキーと値)を処理アプリケーションレベルもございます
- SQL型のデータベースのIdeであるかに成熟している。またくさんの支援の図書館が積層図の作りも非常に複雑に必要なSQL).
す:
- 高速まっている場合データアクセスパターン
- 移動/いった追加機能が提供されます。やすいデータベースにて約束について応用としてプログラマを交換してください。がん最終的な一貫性を追求します。たぶん。があります。ました。
- 一つのキー/値を理解するのがはるかに簡単にな一行を表示します。すべてのツリーの関係で、完全なオブジェクト認識されるべきである。
のモデリングにおいても同じだが、ここで注意が必要なのかを入れて一つの文書UMLにも使用できるもOOモデリングとDBモデリング、二つの異なる獣ています。
いしている姿を見るのは好きの良い開放OOデータベースも統合デザインインタフェースに開発できるプラットフォーム。だけを選択することは難しくなります。:)
平坦なファイルと考えられてきました難解と困難なため、データセットのサイズです。しかし、早くコンピュータのメモリができるローファイルをメモリにロードおよびソートできるようになり、少なくとも合理的に小型n地,単一ユーザアプリケーション.
例えば、通常のファイルを読ん10,000記録およびsortで分野の半分以下に、許容応答時間が実現されています。
もちろん、理由があり利用データベースの代わりにフラットファイル--関係業務、データの完全性、マルチユーザの能力、リモートアクセス方法、大容量、標準化等 が増加しコンピューター速度や記憶容量について、メモリ操作のデータより実践的な場合があります。
私は実際の生活の中で見リレーショナルデータベースは、すべてであなたの主張に反していない非常によく、正規化する傾向があります。尋ねられたとき、デザイナーが主な原因の性能であることを教えてください。テーブルがあまりにも広視野の正規化の観点からする傾向があるので、RDBMSが、参加が得意ではありません。オブジェクト指向データベースは、このはるかに良くなる傾向があります。
RDBMSが問題を抱えているもう一つのポイントは、歴史/時間依存のキーを処理されます。