tarantool でのシャーディングには、ロックhttps://github.com/tarantool/shardprimary
を使用しており、インデックスによる検索に最適です。
キーとインデックスのスペースevents
があります。primary
secondary
box.schema.create_space('events')
box.space.events:create_index(
"id", {type = 'primary', parts = {1, 'unsigned'}}
)
box.space.events:create_index(
"secondary", {type = "tree", unique=true, parts = {2, 'str'}}
)
shard.events:insert{1, "pv.1", 3, 12345671, "uuid1"}
shard.events:insert{2, "pv.2", 3, 12345672, "uuid2"}
-- query by primary index works! and return tuple
shard.events:select{2}
-- query by secondary index NOT work!
shard.events.index.event_hash:select('pv.2', {iterator = box.index.EQ})
私の質問は:
secondary
インデックスによるクエリシャードに対して何を使用する必要があるか、または何をする必要がありますか?