- 最初に話しましょう:
- RDBMS ==>(MySql、Oracle、SqlServer、およびその他のリレーショナルデータベース)の原則に従います:ACID原則(A:原子性。C:一貫性。I:独立性。D:永続性。)。
- NoSql ==>(redis、Mogodbおよびその他の非リレーショナルデータベース)の原則に従います:CAPの原則(C:強い整合性。A:可用性。P:パーティションのフォールトトレランス)。
分散フィールドには、よく知られているCAP定理があります。C:データの整合性。A:サービスの可用性。P:パーティションフォールトトレランス(ネットワークパーティション障害のサービスフォールトトレランス)。
- C:データの整合性
、つまり、すべてのノードにアクセスして取得されるデータは同じである必要があります。 - A:サービスの可用性。
つまり、すべてのノードが高可用性を維持する必要があります。注:ノードがデータ同期を待機して要求をブロックすると、応答時間が遅延し、Aが満たされなくなります。
つまり、障害が発生していないノードは、限られた時間内に妥当な結果を返さなければなりません。 - P:パーティションのフォールトトレランス
システム内の情報の損失または障害は、システムの継続的な運用に影響を与えません。
つまり、システム内の一部のサービスがハングアップして戻りません。または、ネットワークが信頼できないため、パケット損失とパケット損失が発生し、データの不整合が発生しますが、システムの通常の動作には影響しません。
この機能では、どの分散システムでも2つしか保証できません。
ネットワークの信頼性が低いため、パーティションのフォールトトレランスを実現する必要があり、データの一貫性とサービスの可用性のみを実現できます。その結果、CPによって実装された飼育係とAPによって実装されたユーレカになります。
飼育係の原則とエウレカの原則は書けません、ははは。