1.4 In-Memory Storage
This issue is intended to be where all discussions about Section 1.4 In-memory Storage happen (at least before the course is released). Please don't close this.
I think we should explain more in the doc about the following designs:
- Use
BitVec+Vec<T>forPrimitiveArray<T>instead ofVec<Option<T>>for memory efficiency; - A
DataChunkcontains a number ofArray. ADataChunklogically represents a subset of rows in a table, so a table contains a number ofDataChunk.
Also, I personally think we can provide more skeletons/guidance in the doc because this section requires writing much more code than previous ones:
- Provide skeleton code for
ArrayandArrayBuilder; - More guidance on implementing
ArrayIter(e.g. lifetime); - Provide basic test cases.
I suggest we create the following subtasks for this section:
- Implement
PrimitiveArray(and builder),Utf8Array(and builder) andArrayImpl(and builder); - Implement
ArrayIter, enablecollectforPrimitiveArrayandUtf8Array; - Implement
DataChunk
I just opened a draft PR #21 for this section. Feel free to directly commit to this branch!
I just opened a draft PR #21 for this section. Feel free to directly commit to this branch!
Just quickly skimmed through your edits... Looks nice -- I am impressed by how fast you write ;)
I am impressed by how fast you write ;)
No no no, it was written several months ago. 😅
It really takes time to draft these docs.
No no no, it was written several months ago. 😅
It really takes time to draft these docs.
Just curious, did you consult any paper/textbook/article when writing those texts?
Not yet. Any recommendations? 👀