Shard document id's by the first character into one-level deep subdirectories. This feature also bumps the major version to 2.0.0.
Requires updating README.md, CHANGELOG.md, and adding new specific tests for this case as well.
Why?
Mitigates filesystem limits on the number of files in a single directory by a factor of 16 since we are sharding by the first character only.
Constraints
- The solution should be backwards compatible, meaning
jsonlite still can read databases that don't use sharding without significant performance degradation.
- Should not significantly degrade performance of existing commands
set, get, count, delete.