| Techniques | Pros | Cons |
|---|---|---|
| Separate Indexes Each customer would have a separate index | • Customer data is truly separated physically by indexes | • You cannot query across customers if you wish • Cost and maintenance of several indexes |
| Namespaces You can isolate data within a single index using namespaces | • You can only query one namespace at a time, which would keep customer data separate logically • Cheaper than #1 potentially by making more efficient use of index storage | • You cannot query across namespaces • Customer data is only separated logically |
| Metadata Filtering All data is kept in a single index and logically separated by filtering at query time | • Most versatile if you wish to query across customers • As with namespaces cheaper than #1 potentially | • Customer data is separated only by filtering at query time |