2017-06-23 3 views
0

私はいつもMySQLはNoSQLデータベースほどスケーラブルではないことを読んでいます。これは、リレーショナルデータベースの主な欠点の1つです。それはなぜそうですか?なぜNoSQLデータベースとしてスケーラブルではないのですか? Sharding私はそれを簡単に配布することができます。それはなぜそうですか?MysqlをNoSQLとしてスケーラビリティできないのはなぜですか?

私の考えはどこか間違っています。

+0

たとえば、mysqlデータベースを2つの断片に分割し、アプリケーションロジックでそれらの間を切り替えると、ちょうどトランザクションが破られました。両方のシャードにまたがるACIDトランザクションを実行することはできません。これは単なる例です。 NoSQLデータベースは、シングルノードモードであっても、ACIDをまったく持たないことでこれを解決します。 :) –

+0

いくつかのRDBMSはシャードであり、ほとんどすべての機能を備えています(MS SQL Server、私は聞いています)。 –

+0

@SergioTulentsev、DTC(分散トランザクション)はどうですか? – Rahul

答えて

1

ACIDの要件をすべて満たしている複数の並列ネットワークノードにまたがるトランザクションを実装することは非常に困難です。いつでもノードを上下に移動できるようにサポートする必要があるだけでなく、複数の稼動中のパーツに分割されているときにネットワークの断片化をサポートする必要があり、各パーツはもはや他のパーツを認識しませんやって

特定のソリューションでこの問題が何らかの形で解決されていたり、重要でない場合は、データベースが最終的に一貫している必要があるだけであれば、クラスタリングに適した実装が不十分であるという理由がありません。

最初から分散データベースとして書かれたものは、使いやすくなる可能性があります。

関連する問題