Comments (5)
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.
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.
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.
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.
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)
- flat_file_scan() improvements
- Implement flat file sorted mode search
- Write unit cpp-wrapper for sl_insert()
- Include support for other file systems (Arduino, Contiki) HOT 1
- Update sd_fopen() to handle other modes
- TODO: lfb_delete from values
- b+tree duplicate keys HOT 3
- Unneeded rebalancing on key update HOT 2
- Require help instructions for build with espressif sdk HOT 2
- compilation error HOT 8
- Need a way to set working directory HOT 2
- Basic Example in plain C HOT 1
- all functions and datatypes should have the "iond_"
- Is iinq working?
- Examples fail to compile on ESP-8266 HOT 1
- Teensy compilation issue HOT 1
- Teensy compilation issue
- conflicting library HOT 1
- ESP32 persistent data storage using SPIFFS or FATFS support
- How to get total number of stored records? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from iondb.