frostfs-node/pkg/local_object_storage/metabase
Leonard Lyubich e48f8a189e [#142] metabase: Replace exclusive select with the inclusive one
The previous metabase implementation took an exclusionary approach: filters
narrowed the set of all objects to those that match all filters. An
inclusive approach is presented. In it, when traversing the indexed headers,
the object becomes a candidate for selection. If at least one of the
subsequent filters is not passed, the object ceases to be a candidate. At
the end of the traversal, the remaining candidates are added to the
resulting sample. The borderline case of no filters is handled in a special
way: all stored objects are added to the resulting selection.

Presented inclusive approach showed better performance in most scenarios
(although not all).

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-03 18:42:32 +03:00
..
db.go [#137] metabase: Implement Path method 2020-11-03 18:42:32 +03:00
db_test.go [#137] metabase: Add unit test for a nonexistent attribute 2020-11-03 18:42:32 +03:00
delete.go [#128] metabase: Implement Delete method 2020-10-29 17:34:41 +03:00
delete_test.go [#137] metabase: Implement and useful test funcs for work with DB 2020-11-03 18:42:32 +03:00
get.go [#128] metabase: Implement Delete method 2020-10-29 17:34:41 +03:00
get_test.go [#137] metabase: Implement and useful test funcs for work with DB 2020-11-03 18:42:32 +03:00
put.go [#131] metabase: Implement indexing by object properties 2020-11-03 18:42:32 +03:00
put_test.go [#137] metabase: Implement and useful test funcs for work with DB 2020-11-03 18:42:32 +03:00
select.go [#142] metabase: Replace exclusive select with the inclusive one 2020-11-03 18:42:32 +03:00
select_test.go [#137] metabase: Implement and useful test funcs for work with DB 2020-11-03 18:42:32 +03:00