SharePoint Onlineをデータベースとして使用すべきでない理由

SharePointは、ファイルの保存、文書の整理、他者との共同作業による文書の共有や編集を行うための文書管理システムです。 過去にMS ExcelやMS Accessを使用した経験のあるユーザーの中には、SharePointをデータベースとして使用しても問題ないと考える人もいるかもしれません。しかし、このアプローチにどのような利点があったとしても、SharePointをデータベースとして使用することは避けるべきです。

このような使用を推奨しない理由に入る前に、ユーザーがSharePointをデータベースとして使用することを検討する際に魅力的に思えるかもしれないいくつかの要因を以下に示します:

  • 必要ありません dba 新しいスキーマを作成するための権限
  • データ管理にすぐに使える拡張可能なインターフェース
  • SharePoint アプリと、他の場所に保存されているデータを連携させる必要はありません
  • 同期せずにデータを移行する
Microsoft 365 データのバックアップ

Microsoft 365 データのバックアップ

NAKIVOソリューションを活用して、Exchange Online、Teams、OneDrive、SharePoint Online内のMicrosoft 365データをバックアップし、ワークフローの中断を防ぎ、ダウンタイムをゼロにしましょう。

データの構成

SharePoint にはデータベースのようなデータ構成が存在せず、これが SharePoint をデータベースとして使用すべきでない重要な理由です。一見すると、SharePoint のリストは、さまざまな列やデータ型を持つデータベースのテーブルに似ています。しかし、これらの構造におけるデータの整理方法は異なります。SharePoint は SQL Server を使用していますか? SharePointは、その動作のためにデータベース管理システムとしてMS SQL Serverを使用していますが、SharePointは本来のデータベースとしての機能を果たすようには設計されていません。SharePointのコンテンツデータベースとは何ですか?コンテンツデータベースとは、1つまたは複数のサイト コレクションのSharePointデータを格納するためのデータベースです。これは、SharePointの動作に使用されるMS SQL Server上に配置されたデータベースです。

リレーショナルデータベースと比較すると、SharePointにはテーブル間の関係性が欠けています。SharePointに欠けているデータの関係性は以下の通りです:

One to Oneあるテーブルのレコードは、データベース内の別のテーブルのレコードと関連付けられています。例えば、1つの部署にはマネージャーが1人しかおらず、1人のマネージャーが管理できる部署も1つだけです。

One to Manyあるテーブルの1つのレコードは、別のテーブルの複数のレコードと関連付けられています。たとえば、1人の顧客に対して複数の販売注文が存在する場合があります。

Many to many. 2つ以上のテーブルにあるレコードは、別のテーブルの多くのレコードと関連しています。たとえば、顧客は複数の商品を購入することができ、商品は複数の顧客によって購入されることがあります。

データベース機能の欠落

データベース機能が欠落している(あるいは事実上欠落している) SharePoint Online および SharePoint オンプレミス. ここで、SharePointに欠けているこれらの機能について簡単に見ていきましょう。

主キーと外部キー

データベースでは、一意の識別子(主キーや外部キーなど)を使用してレコードを特定し、親子関係にあるテーブルを関連付けます。主キーはテーブル内のレコードを一意に識別するもので、1つのテーブルに主キーは1つしか存在できません。主キーは1つ以上の列で構成され、NULL値を指定することはできません。外部キーとは、別のテーブルの主キーを参照し、テーブル間のデータを関連付ける1つまたは複数の列のことです。 SharePoint リスト間には関係性が存在せず、これらのリストをデータベースのテーブルと同じ方法でリンクすることはできません。

SQL言語

SQL (Structured Query Language) は、データベースでの複雑なクエリを記述するための標準的な言語です。実際のデータベースを使用する場合、クエリを保存して再利用することができます。しかし、SharePoint にはこの機能が備わっていません。SharePoint がサポートしているのは CAML, Odata および検索クエリ。SharePoint データベース(SharePoint がコンテンツを保存するために使用する MS SQL データベース)に対して、SQL を使用して直接クエリを実行すべきではありません。安定性の問題を引き起こしたり、 EULA (end user license agreement).

ストアドプロシージャ

ストアドプロシージャはSQL言語の一部です。ストアドプロシージャとは、SQL文の集合、つまりデータベース内に作成・保存される再利用可能なコードブロックのことです。ストアドプロシージャは、ほとんどのデータベース管理システム(DBMS). ストアドプロシージャには多くの利点があります。データアクセスロジックを一箇所に集約し、最適化を行うことが可能です。セキュリティの面では、ストアドプロシージャの実行権限が付与されていれば、ユーザーは基となるテーブルに対する読み取り/書き込み権限を必要としません。ただし、SharePoint を使用している場合は、ストアドプロシージャを利用することはできません。

取引

トランザクションとは、データベースにおけるあらゆる変更を表す作業単位であり、"一つのまとまり"として捉えることができます。トランザクションの例としては、ある銀行口座(送信元)からお金を引き出し、別の銀行口座(受信先)へ送金する場合が挙げられます。これら2つの操作は、1つのトランザクションを構成する要素です。 最初の操作が成功したが、2番目の操作が失敗した場合、トランザクションの整合性を維持するために、お金は元の銀行口座に戻されます。これがトランザクションのロールバックです。同様に、トランザクションが失敗した場合はデータベース内の変更がロールバックされ、データは失われません。SharePointではトランザクションのロールバックはサポートされていません。

インデックス作成とクエリの最適化

インデックス作成とクエリの最適化は、データベースのパフォーマンスを向上させるために使用されます。頻繁に使用されるフィールドには事前にインデックスを作成することで、全体的なパフォーマンスが向上します。 データベースでは、データが格納されている場所へのポインタを作成するなどの最適化手法を用いることで、データ検索を最適化できます。このアプローチは、データベース全体を検索するよりもはるかに高速です。SharePointにおけるインデックス作成は、SharePointに保存されたコンテンツの検索を改善するために存在しますが、直接利用できるデータベースと比較すると機能は限定的です。特に、SharePointではリスト内のインデックス作成可能な列が20個に制限されています。

大容量のデータおよびバイナリデータ

最近のデータベースの多くは、大容量データやバイナリデータ(動画ファイル、画像、音声ファイルなど)をデータベース内に直接保存することができます。バイナリデータはSharePointリストにファイルとして添付して保存することも可能ですが、この方法は推奨されません。 機能面において、SharePointのバイナリ添付ファイルは、リレーショナルデータベースのバイナリフィールドと同等のパフォーマンスを発揮しません。SharePointリストにバイナリ添付ファイルを含むアイテムを過度に保存すると、パフォーマンスが大幅に低下する可能性があります。SharePointは、SharePointコンテンツデータベース内の各リストやライブラリごとに新しいデータベーステーブルを作成しません。SharePointのリストやライブラリに表示されるすべてのデータは、コンテンツDBの単一のテーブルに格納されています。

SharePointは、データベースのように多数のアイテムを処理することはできません。 SharePoint リスト内のアイテム数は 2000 件(ルート リストおよびその下位フォルダーを含む)に制限する必要があります。SharePoint にファイルをアップロードする必要がある場合は、SharePoint ライブラリにアップロードし、この目的で SharePoint リストを使用しないでください。

SharePoint 外部からのアクセス

SharePoint リストに SharePoint 外部からアクセスするには、プログラミングインターフェースを使用するか、 XML. 統合機能に不備があるため、外部アプリケーションからアクセスする必要があるデータをSharePointリポジトリにリスト形式で保存すべきではありません。対照的に、リレーショナルデータベースには、外部アプリケーションとの統合や連携に必要な機能がすべて備わっています。

結論

SharePointをデータベースとして使用すべきでない理由は数多くあります。SharePointは本来、他の目的のために設計されています。SharePointをデータベースとして使用すると、重大なデメリットやパフォーマンスの低下を招く恐れがあります。 SharePointでリレーショナルデータベースの代わりとすることはできません。SharePointにおいてリストが"テーブル"と呼ばれないのには理由があります。SharePointの主な目的は、ドキュメントを一元的に保存し、共同で編集することです。それぞれのビジネスニーズに適したツールを使用してください。

MS SQL、Oracle、SharePointのいずれを使用する場合でも、データのバックアップを忘れないでください。 NAKIVO Backup & Replication Oracleのバックアップ、MS SQLのバックアップ、Office 365のバックアップ(SharePoint Onlineのバックアップを含む)、およびSharePoint Serverのバックアップに対応した、汎用的なデータ保護ソリューションです。

試してみてください NAKIVO Backup & Replication

試してみてください NAKIVO Backup & Replication

無料トライアルをご利用いただき、本ソリューションのデータ保護機能をすべてお試しください。15日間無料です。機能や容量の制限は一切ありません。クレジットカードも不要です。

People also read