Oracle Shardingとは

この記事ではOracle Shardingとは何かについて解説します。

 Oracle Shardingとは

Oracle Sharding (シャーディング)複数のサーバで1つのデータベースを構成するためのアーキテクチャです。

各サーバごとにCPU、メモリなどのリソース、データベースを持ち、各サーバは完全に独立して動作する、シェアードナッシング型のアーキテクチャです。

この独立したデータベースをシャード、すべてのシャードのまとまったものをシャードデータベース(SDB)と呼びます。

データはシャードに分散して配置されます。

このためSDBは複数のデータベースから構成されますが、アプリケーション側からは単一のデータベースのように扱うことが可能です。


 RACとShardingの違い

RACもShardingもどちらも複数サーバでDBを構成するアーキテクチャです。

この2つの違いはRACはDB(データ領域)を各サーバで共有するのに対し、ShardingはDBを共有しません。

Shardingは単一障害点が存在しないため、RACに比べて高可用性を実現できます。


 Shardingのメリット

Shardingのメリットの1つが高可用性です。

各シャードはリソースを共有していないため、あるシャードで障害が発生しても他のシャードへの影響がありません。

メンテナンス時もシャードでアプリケーションの機能を分けておくことで、一部のサービスのみを停止し、ほかの機能は通常通り使用できるといった運用が可能です。