Very nice!
--
You received this message because you are subscribed to the Google Groups "ScyllaDB development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scylladb-dev...@googlegroups.com.
To post to this group, send email to scylla...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scylladb-dev/CANEVyjvfnscvZnBYgTFwa8NnmRQBXE%3DCf9eFno3YXB9Ft%3DCP8g%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
Very disappointing (the format, not the docs, which are excellent).
In the worst case the index entry can be bigger than the block it is indexing! And in any case, in C*2.x, the cell names contain the full clustering key plus the clustering key column names plus the column name of the first column in the block (which, if it happens to be an unfrozen collection, will include the collection element key).
It should work well for partitions containing large blobs though, rather than many small cql rows.
I see in C*3.x they have an "offsets map", but it is still O(n). bsearch()ing on disk is possible, but very expensive, this is why btrees were invented.
On 06/29/2016 12:01 AM, Nadav Har'El wrote:
--While we have some fairly detailed documentation on the Cassandra (2.*) sstable file format in the ScyllaDB wiki, one important piece that was still missing was the format of the index file.So starting today, this piece is no longer missing. Check out:
https://github.com/scylladb/scylla/wiki/SSTables-Index-File
Importantly, this document also explains the "promoted index" feature, which allows skipping inside very long partitions (sstable rows), without reading an entire partition. Understanding this feature was necessary before we can fix issue https://github.com/scylladb/scylla/issues/959.
n...@scylladb.com
--
Nadav Har'El
You received this message because you are subscribed to the Google Groups "ScyllaDB development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scylladb-dev...@googlegroups.com.
To post to this group, send email to scylla...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scylladb-dev/CANEVyjvfnscvZnBYgTFwa8NnmRQBXE%3DCf9eFno3YXB9Ft%3DCP8g%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "ScyllaDB development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scylladb-dev...@googlegroups.com.
To post to this group, send email to scylla...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scylladb-dev/1ecc268f-a5bd-4f73-54cc-b4ebe7a6f531%40scylladb.com.
On 06/29/2016 10:16 AM, Duarte Nunes wrote:
On 29/06/16 06:51, Avi Kivity wrote:
Very disappointing (the format, not the docs, which are excellent).The format seems to try and avoid seeks, like it's optimizing for HDDs.
In the worst case the index entry can be bigger than the block it is indexing! And in any case, in C*2.x, the cell names contain the full clustering key plus the clustering key column names plus the column name of the first column in the block (which, if it happens to be an unfrozen collection, will include the collection element key).
It should work well for partitions containing large blobs though, rather than many small cql rows.
I see in C*3.x they have an "offsets map", but it is still O(n). bsearch()ing on disk is possible, but very expensive, this is why btrees were invented.
It's not avoiding seeks.
--
You received this message because you are subscribed to the Google Groups "ScyllaDB development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scylladb-dev...@googlegroups.com.
To post to this group, send email to scylla...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scylladb-dev/1b725cae-00a6-02b9-8a3c-6c4307b35f62%40scylladb.com.