個人財務 NoSQLで整合性メソッドを適用する - ダミー

NoSQLで整合性メソッドを適用する - ダミー

目次:

Anonim

データベースの 整合性 プロパティは、データがデータベースに正常に書き込まれると、それに続くクエリはデータにアクセスしてデータの一貫したビューを取得できます。実際には、これは、レコードをデータベースに書き込んですぐにそのレコードを要求すると、そのレコードが確実に表示されることを意味します。 Amazonの注文や銀行振込などの場合に特に便利です。

<! - 一 - >

一貫性はスライディングスケールですが、ここでカバーするには深すぎるテーマです。ただし、NoSQLの世界では、一貫性は一般的に次の2つのキャンプのいずれかになります。

  • ACID一貫性(ACIDは原子性、一貫性、分離、耐久性の略です):ACIDは、データが書き込まれると、読む。 最終的な一貫性(BASE):

  • BASEは、データが書き込まれると、最終的には読み上げられるようになることを意味します。 <!データベースの強固な一貫性が必要ではないと信じている人と、絶対に信じる人の間で闘争が激しさを増しています(999人を

    NoSQL企業に

'マーケティング部門! )。 現実はどこかにある。誰かのFacebookの投稿が彼の友達全員に5分間見られないことは重要ですか?いいえ、おそらくそうではありません。しかし、「Facebookの投稿」を「10億ドルの金融取引」に変更すると、あなたの態度は急速に変わります!どの一貫性アプローチを選択するかは、状況によって異なります。しかし、私の経験では、ミッションクリティカルなエンタープライズシステムの状況では常に強い一貫性が選択されています。 <! ACIDは、トランザクションシステムの一般的な原則であり、リレーショナルシステムだけにリンクされたものではなく、単にデータベースであっても、よく知っておく価値があります。 ACIDは、基本的には「 このデータベースには、すべてのデータベースに対して指定されていないデータの破損または喪失を防止する機能があります。実際、NoSQLデータベースの大部分はACID保証を提供していません。

Foundation DB、MarkLogic、Neo4jは注目に値する例外です。一部のNoSQLデータベースは、トランザクションの完了を許可する前に他の誰かが文書を変更したかどうかを確認する

確認と設定

という低品質保証を提供します。この動作は、単一レコード単位で実装される傾向があるため、通常は限定されています。

MongoDBは、チェックとセットの機能を提供する注目すべきデータベースです。 MongoDBでは、更新中にノード全体のデータをロックすることができるため、操作が完了するまですべての読み取り操作とすべての書き込み操作ができなくなります。しかし、同社はこの制限を取り除くために取り組んでいる。 BASE BASEは、ACID保証を行うのではなく、データベースが一貫性とデータ可用性の調整可能なバランスを持っていることを意味します。これは、通常、特定のデータベースクラスタのノードがデータベースの一部のプライマリマネージャとして機能し、他のノードが読み取り専用のレプリカを保持する場合です。

すべてのクライアントがすべての更新を確実に見るためには、データを保持するプライマリノードへの書き込みは、すべての読み取り複製が最新になるまでロックする必要があります。これは、 2つの -

フェーズコミット

と呼ばれます。変更はローカルに行われますが、他のすべてのノードが更新されたときにのみ適用され、クライアントに確認されます。

BASEはこの要件を緩和し、トランザクションが成功するためには、同じデータを保持するノードのサブセットのみを更新する必要がある。トランザクションがコミットされた後、読み取り専用レプリカが更新されます。

このアプローチの利点は、トランザクションがより迅速にコミットされることです。読み取り可能なライブレプリカを持つことは、データの読み込み負荷を分散して、読み込みをより迅速に行うことも可能になります。欠点は、読み取り複製物の一部に接続しているクライアントが、指定されていない期間の古い情報を参照する可能性があることです。いくつかのシナリオでは、この状態は正常です。あなたがFacebookに新しいメッセージを投稿し、あなたの友人の何人かが数分間それを見ないなら、それは大きな損失ではありません。ただし、銀行に支払い注文を送信した場合は、即時取引が必要な場合があります。読取り専用レプリカに対する別のアプローチは、クラスタ上の1つのノードのみが常にデータベースの特定の部分にサービスを提供する - 何もない クラスタを有することである。 共有は何もあなたが複製を失うことを意味しません。この方法を採用しているデータベースは、通常、別のプライマリノード(複数可)のセカンダリ領域にデータをレプリケートしますが、読み取りと書き込みのマスターはいつでも1つのみです。共有されていないクラスタは、より単純な整合性モデルの利点がありますが、レプリカには2フェーズコミットが必要です。この事実は、すべてのレプリカが更新されている間にトランザクションがロックされることを意味します。 (内部ロックと他のノードのロックにより、2つのフェーズが得られます)。非共有レプリカ・データ領域には読取り要求が受信されないため、通常、読取り専用レプリカを持つ共有データ・クラスタよりも影響が少なくなりますデータベースの一部。したがって、2フェーズ・コミットは、シェアード・ナッシング・クラスタでは、読み取り可能なレプリカを持つクラスタよりも高速です。

ACIDまたはBASEを選択しますか?

予想通り、NoSQLベンダーは異なる独自のアプローチを主張することで、競合他社と差別化できるからです。しかし、ロードマップにACID準拠のNoSQLベンダーが多数いることは興味深いことです。

いくつかのNoSQLデータベースは、BIDを支持しているにもかかわらず、ロードマップにACID準拠を持っています。これは、ACID保証が企業、ミッションクリティカルなシステムにどの程度関連しているかを示しています。

多くの企業ではアイデアをテストする際にBASE一貫性のある製品を使用しています。これは無料なので、ミッションクリティカルなシステムで稼動させたい場合はACID準拠の有料データベースに移行します。 あなたがACIDを必要としているかどうかを判断する最も簡単な方法は、人と他のシステムがあなたのデータと持つ相互作用を考慮することです。たとえば、データを追加または更新する場合は、次のクエリで変更を確認することが重要ですか?言い換えれば、データベースの現在の状態に重要な決定が下されていますか?期限切れになっているデータが少しだけ古いことが判明すれば、その決定に致命的な欠陥が生じる可能性がありますか? 金融サービスでは、一貫性の必要性が明らかです。トレーダーが在庫を購入すると考えてください。彼らは取引前に現金残高をチェックして、取引をカバーするための資金を確保する必要があります。彼らは正しいバランスが見えない場合、別の取引にお金を使うことにします。彼らが照会しているデータベースが最終的に一貫しているだけであれば、十分な資金が不足しているとは見られず、組織は財務リスクにさらされます。ヘルスケア、防衛、知能、その他の分野において、ACIDのBASEに対する同様のケースを構築することができる。しかし、それはすべてデータにまでこだわっており、適時性とデータセキュリティの両方の重要性があります。

NoSQLで整合性メソッドを適用する - ダミー

エディタの選択

キーボードからQuickBooksアクションへのショートカット - ダミー

キーボードからQuickBooksアクションへのショートカット - ダミー

QuickBooks 2012には便利なショートカットが用意されています重要な会計業務を遂行する。この表では、最も便利なQuickBooksショートカットをいくつか紹介しています。ショートカットキーまたはキーの組み合わせ結果+選択した番号または日付ファイルに表示されている値に1を加算 - 表示されている値から1を引く...

QuickBooks 2012を介して給与サービスに登録する - ダミー

QuickBooks 2012を介して給与サービスに登録する - ダミー

QuickBooks 2012 Intuit QuickBooks Payroll Servicesページから特定のオプションを選択した後、一連のWebページフォームを記入します。あなたの会社名と住所を入力し、会社の雇用者識別番号またはEINを入力し、Intuitのようにクレジットカード情報も入力します。

同時にQuickBooks 2012に領収書と請求書を記録する - ダミー

同時にQuickBooks 2012に領収書と請求書を記録する - ダミー

はQuickBooks 2012で、アイテムの領収書を記録すると同時に受け取ったアイテムの請求書を記録します。これは、明細受領伝票登録ウィンドウの上部付近に表示される請求受領チェックボックスを選択するだけで実行できます。

エディタの選択

公正なダミーを戦うことによる結婚作業

公正なダミーを戦うことによる結婚作業

いくつかのカップルは、彼らが決して論じることはないと主張する。これは、両方のパートナーが自由に相違点を表現できるような結婚では不可能です。他のカップルは頻繁に非常に大声を出す頻繁な議論を持っています。しかし、戦いの量と頻度はあまり知られていない - カップルが戦う問題でもありません。最も重要なのは...

事件後のあなたの関係の再構築 - ダミー

事件後のあなたの関係の再構築 - ダミー

不倫は離婚の主要な原因ですが、離婚するよりも事件。事件後の再建は、カップルが不倫やパターンをさまざまな形で直面することを要求します。時間は癒えますが、それだけではありません。ここではいくつか...

苦しい関係の警告サインを認識する - ダミー

苦しい関係の警告サインを認識する - ダミー

完全な関係はありません。カップルは、紛争の公正な分配を期待する必要がありますが、これらの紛争にどのように対処するかは、強さや苦痛の兆候となります。毎日の問題が時間の経過とともに克服できない問題になる可能性を見失うと、困ってしまうことがあります。ここにいくつかの警告兆候があります...

エディタの選択

セキュリティで保護されたWebサーバーをSEOフレンドリにする方法 - ダミー

セキュリティで保護されたWebサーバーをSEOフレンドリにする方法 - ダミー

Ifユーザーがクレジットカード番号や他のタイプのアカウント情報などの機密データを提供するWebサイト上のページがある場合、これらのページを安全かつSEOに適したものにすることができます。機密情報を保護するためのインターネットソリューションは、これらのWebページを安全なサーバーに置くことです。技術的には、これは...

あなたのウェブページをローカライズする方法 - ダミー

あなたのウェブページをローカライズする方法 - ダミー

ローカルでは、あなたのページにローカルな用語があることを確認することです。理想的には、「お問い合わせ」ページだけではなく、すべてのページにこれらの用語を載せてください。いくつかのウェブサイトでは、地域の検索用語をランク付けする必要がありますが、やりたいことが少しでもありません。

検索エンジンがあなたのウェブサイトを索引付けしているかどうかを調べる方法 - ダミー

検索エンジンがあなたのウェブサイトを索引付けしているかどうかを調べる方法 - ダミー

Ifあなたは検索エンジンの最適化(SEO)を心配しているので、あなたのサイトが実際に検索エンジンやディレクトリにあるかどうかを調べることが重要です。あなたのサイトは、誰かがGoogleで検索したときに現れませんか? Bingでそれを見つけることができませんか?おそらくそれは単にそこにないと思ったことはありますか?