SharePoint 2013(SharePoint Online)のライブラリが 5,000 ファイルを越すとどうなるのか
SharrePoint を活用する上で厄介なのがこの「5000件問題」です。ひとつのリスト/ライブラリに登録する情報は 5,000 件以下に抑えてね、という話なのですが、必ずしも「絶対的な制限」でないのがヤヤコシイところ。実際にライブラリに 5,000 以上のファイルをアップロードするとどんな問題が生じるのか? SharePoint Online のライブラリで確認してみました。
この「5,000 件制限」について、公式の情報は以下になります。
Software boundaries and limits for SharePoint 2013
List view threshold 5,000
Specifies the maximum number of list or library items that a database operation, such as a query, can process at the same time outside the daily time window set by the administrator during which queries are unrestricted.
SharePoint Online: software boundaries and limits
Site collection quota limit
Up to 1 TB per site collection. (25 GB for a trial).5,000 items in site libraries, including files and folders.The minimum storage allocation per site collection is 100 MB.
SharePoint 2013 と SharePoint Online で扱いが微妙に違いますね。SharePoint 2013 では単なる「技術的なしきい値」ですが、 SharePoint Online では明確な「制限」としてのニュアンスで記述されています。
これはおそらく、SharePoint 2013 においてはこの「5,000」というしきい値を、システム管理社が全体管理の設定で変更できるのに対し、Online ではそれができない、つまり「5,000」が実質的に定的な制限であることに関係しているかと思います。
なお、SharePiont 2013 の boundaries and limits には、ライブラリあたり 3000 万ファイルまでサポートされることが明記されています。三千万…実質無制限ですね、コレ。
SharePoint Online には関連する記述が無いのですが、上記で「5000迄」と明記されてしまっていることもあり、果たして SharePiont 2013 に準ずると考えて良いのか、悩ましいところです。とはいえ、技術的には問題ない、と考えてしまって良いでしょう。
Documents 30,000,000 per library Supported
You can create very large document libraries by nesting folders, or using standard views and site hierarchy. This value may vary depending on how documents and folders are organized, and by the type and size of documents stored.
つまり、ライブラリには 5,000 以上のファイルがきちんと入る、ということです。では何が問題なのか?というと、5,000 ファイル(厳密にはフォルダもひとつの item なのでファイル+フォルダ)を 越えたときから、いくつか SharePoint の機能が制限されることにあります。
情報としてはこのスライドが非常に解りやすいです。
SharePoint 2010 ベースのお話ですが、基本は変わってません。
参考:SharePoint Online で最近の困った。 大きなリストのお話。by Hirofumi OTA,
技術系の方は、このあたりが List view threshold 5,000 って何?という点で参考になるかと思います。
参考:Working with Large Lists in SharePoint 2010 – List Throttling
さて。実際にライブラリに 5,000 ファイルを登録すると、何ができて何ができないのか?SharePoint Online のサイトに作成したライブラリで確認してみましたので、以下、簡単に列挙しておきます。
まず、制限されること:
- 配下に 5000 アイテム以上を持つフォルダの名前が変更できなくなる。
- 配下に 5000 アイテム以上を持つフォルダの権限の継承を切れなくなる。
- 配下に 5000 アイテム以上を持ち、固有の権限が設定されたフォルダは、権限の再継承(固有の権限の削除)ができなくなる。ただし、権限の変更は可能。
- ライブラリの URL が変更できなくなる(SharePoint Designerを利用)
- ビュー:5000アイテム以上がフィルタ条件に該当するビューは表示されなくなる(既にある場合。新規作成はできなくなる)。フォルダ無視のビューを作成していると該当しやすい。アイテムの制限(ページング)は有効な場合と無効な場合がある。
- 列の追加(一部)。例:集計値が追加不可。
- エクスプローラーで開く(WebDAV)でライブラリを開いた際、同じレベルに 5,000件以上のアイテムがあると何も表示されない。
一方、問題ないのは:
- ファイルの GUI ベースのアップロード/ダウンロード/編集
- ファイルやフォルダの削除、ゴミ箱からの復元
- ライブラリの削除、ゴミ箱からの復元
- クイック編集(ファイル/フォルダ名の変更は上記条件に該当する場合不可)。
- ビュー:ひとつのフォルダのひとつのレベルに 5,000 ファイルがあっても、ページング(デフォルト30)でページあたり5,000 未満に抑えられていればOK
- 列の追加(一部)。例:一行テキストは追加可能。
現象だけをおいかけていくと、かなりややこしいですね(苦笑)
ようは、5,000件を越えるデーターに一括で参照や更新が行われる処理がアウト、ということなんですが…そんなのユーザーには解りません(汗
基本的には、5,000件を越えても構わないのだけど、それが予想されるライブラリは事前に設計や権限設定をすべて完了させておいて、あとは設計や権限に触らない。逆にそれが難しいのなら、5,000 を越えないように運用すること、ということになると思います。
おまけ:
ビューで「このビューは、管理者が設定したリスト ビューのしきい値 (アイテム 5000 個) を超えるため、表示できません」エラーが発生すると、リボンもすべてグレーアウトします。しかしこれに騙されてはいけません!(笑)実は、どのボタンもきちんと動作するので、慌てず[ライブラリの設定]をクリックして管理画面を開き、ビューの設定を変更しましょう。