- row-level locking
- independent transaction coordinators at data nodes
- pruned index scans
- network-aware transactions (with user-defined partition keys for tables)
- any asynchronous/event API
?
- row-level locking
- independent transaction coordinators at data nodes
- pruned index scans
- network-aware transactions (with user-defined partition keys for tables)
- any asynchronous/event API
?
- independent transaction coordinators at data nodes -> we have a tier called "aggregators" that act as transaction coordinators. These are the nodes you connect to. Under the hood leaf nodes in memsql also manage transactions.
- pruned index scans -> Do you mean information retrieval? Our indexes support seeks and range scans if that's what you mean.
- network-aware transactions (with user-defined partition keys for tables) --> yes, we have user-defined partition keys (shard keys) and transactions work across multiple nodes on the network.
- any asynchronous/event API --> no, we don't have an event API Most of our use cases are "pull" oriented which scales very well with MemSQL
Within each node, for column store tables in MemSQL we do use segment elimination very aggressively, which is effectively the same thing as partition pruning. [2] [3]
[1] http://docs.memsql.com/latest/concepts/distributed_sql/#inde...
[2] http://docs.memsql.com/latest/concepts/columnar/#query-effic...
[3] http://docs.memsql.com/latest/concepts/columnar/#maintenance...