この記事では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つが高可用性です。
各シャードはリソースを共有していないため、あるシャードで障害が発生しても他のシャードへの影響がありません。
メンテナンス時もシャードでアプリケーションの機能を分けておくことで、一部のサービスのみを停止し、ほかの機能は通常通り使用できるといった運用が可能です。