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

Data Types #67

Open
alecmocatta opened this issue Jun 18, 2020 · 0 comments
Open

Data Types #67

alecmocatta opened this issue Jun 18, 2020 · 0 comments

Comments

@alecmocatta
Copy link
Member

alecmocatta commented Jun 18, 2020

amadeus-types has three goals:

  • have types that are supersets of equivalents in Parquet, Postgres, Rust stdlib, e.g.:
    • a DateTime can accept any valid Parquet, Postgres timestamp, while remaining lossless
  • have a type that is a superset of all the above types:
    • Value enables dynamic and gradual data typing by not requiring the complete type at compile time
  • optimise data layout for performance, e.g,:
    • List<Value> is optimised to be backed by Vec<u8> if all the value are Value::U8
    • List<Row> is optimised to be backed by a Vec<_> of each column – i.e. columnar, like Apache Arrow

What other data types are relevant?

Should amadeus_core::file::{PathBuf, OsString} be moved to amadeus-types?

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

No branches or pull requests

1 participant