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 |