Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.4 In-Memory Storage #20

Open
yyin-dev opened this issue Sep 18, 2022 · 6 comments · May be fixed by #21
Open

1.4 In-Memory Storage #20

yyin-dev opened this issue Sep 18, 2022 · 6 comments · May be fixed by #21

Comments

@yyin-dev
Copy link
Collaborator

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.

@yyin-dev
Copy link
Collaborator Author

yyin-dev commented Sep 18, 2022

I think we should explain more in the doc about the following designs:

  • Use BitVec + Vec<T> for PrimitiveArray<T> instead of Vec<Option<T>> for memory efficiency;
  • A DataChunk contains a number of Array. A DataChunk logically represents a subset of rows in a table, so a table contains a number of DataChunk.

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 Array and ArrayBuilder;
  • 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) and ArrayImpl (and builder);
  • Implement ArrayIter, enable collect for PrimitiveArray and Utf8Array;
  • Implement DataChunk

@yyin-dev yyin-dev changed the title 1.4 In-memory Storage 1.4 In-Memory Storage Sep 18, 2022
@wangrunji0408 wangrunji0408 linked a pull request Sep 19, 2022 that will close this issue
@wangrunji0408
Copy link
Member

I just opened a draft PR #21 for this section. Feel free to directly commit to this branch!

@yyin-dev
Copy link
Collaborator Author

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 ;)

@wangrunji0408
Copy link
Member

wangrunji0408 commented Sep 19, 2022

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.

@yyin-dev
Copy link
Collaborator Author

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?

@wangrunji0408
Copy link
Member

Not yet. Any recommendations? 👀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants