3 ms·
Thanks Ankur for the details! I saw you mention in another comment that memsql stores almost 30x the (rows) data as mysql by the end of the experiment. I would
by dhruvbird 14y ago
Thanks Ankur for the details!
I saw you mention in another comment that memsql stores almost 30x the (rows) data as mysql by the end of the experiment. I would be curious to know why this is so, and what that data is.
Also, from what I understand after reading the paper, the lock-free skip-list node is pretty heavy (more than the 3~4 pointers that a naive implementation would use). What is the # of bytes it occupies in memory. Assume that the data field is just a pointer (8 bytes).
Curious: Do you always store the data as a pointer or does it get stored inline for smaller types?
- ankrgyl 14y ago@Dhruv - The significant increase in number of rows is because of throughput. The experiment was run for the same length for all three databases, but MemSQL sustained a higher throughput, resulting in more data inserted. Refer to the simulation code (https://github.com/memsql/bench/blob/master/benchmark.py https://github.com/memsql/bench/blob/master/benchmark.py) to see exactly what is going on. - We actually print information about row overhead to stderr/memsql_tracelog. The best way to find out is to run this experiment yourself :-) - Data gets inlined for smaller types.
- dhruvbird 14y ago@Ankur - Thanks again for the clarification - that's helpful information.