Git Product home page Git Product logo

Comments (5)

iondbproject avatar iondbproject commented on July 30, 2024

Cutting any overhead possible was one of the primary goals of IonDB. The design choice to only allow fixed size keys and values was made in light of the resource constrained nature of our target platform.

from iondb.

pfalcon avatar pfalcon commented on July 30, 2024

If it's resource-constrained, how it helps to store a VARCHAR(255) field (using SQL terminology) in 255 bytes of storage, knowing that in reality length of data is logarithmically distributed? How it helps to waste 90% of storage space, how it helps to move 255 bytes around, instead of average 10, how it helps to write 255 bytes instead of 10+N (N is small) to flash?

That said, not arguing of design choices, just pointing that it would help to make this fact explicit in README.

from iondb.

graemedouglas avatar graemedouglas commented on July 30, 2024

My comment here would be that the design decision was more drastic: you don't get varchars. In that sense, sure, its lacking, but in most cases, I predict you won't be storing variably sized strings on your microcontroller.

from iondb.

pfalcon avatar pfalcon commented on July 30, 2024

I predict you won't be storing variably sized strings on your microcontroller.

That's as true as saying that people won't want to use SQL on their microcontrollers ;-). (With reference to LittleD.) But again, I may understand a need to apply some constraints to design (regardless whether I think a particular constraint is reasonable (though it's hard to argue that free space management for variable-sized data, and thus deletion support, is rather more complicated than for fixed-size)). Again, it just would be helpful to know these constraints right away.

from iondb.

iondbproject avatar iondbproject commented on July 30, 2024

Again, it just would be helpful to know these constraints right away.

We definitely agree on this point, and the README has been updated to explicitly state this.

Thank you pfalcon!

from iondb.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.