可能ですが、多くのメンテナンス作業が必要です。説明-
データの垂直スケーリング(SQLデータベースの正規化と同義) スペースの冗長性を減らすために、データを列ごとに複数のテーブルに分割することと呼ばれます。ユーザーテーブルの例-
データの水平スケーリング(シャーディングと同義) データのフェッチにかかる時間を短縮するために、行を複数のテーブルに分割することと呼ばれます。ユーザーテーブルの例-
ここで注意すべき重要なポイントはです ご覧のとおり、SQLデータベースのテーブルは、関連データの複数のテーブルに正規化されています。このようなテーブルのデータを複数のマシンでシャーディングするには、それに応じて関連する正規化されたデータをシャーディングする必要があります。これにより、メンテナンスの労力が増加します。上記のSQLデータベースの例のように
顧客データの一部の行を他のマシンに移動する場合(シャーディングと呼ばれます)、関連する注文データも同じマシンに移動する必要があります。これは、複数の関連するテーブルの場合に面倒な作業になります。
NOSQLデータベースはフラットなテーブル構造に従うため、シャーディングアウトするのに便利です(データは正規化された形式ではなく集約された形式で保存されます)。