@jetbrains has helped me a lot with a free open-source license for over 3 years for my work on @SwayDB. Can't imagine writing software being this fun without @intellijidea & @clion_ide. Today I got another open-source license for #JProfiler from #EJTech. #grateful. Thanks heaps!!
Been testing and I can move over 70% (all dynamic memory allocations) of @SwayDB in-memory allocation off-heap using sun.misc.Unsafe. On heavy write and read workloads JVM pauses is a painful penalty. Project-panama's foreign-mem-api is an option but we will be stuck with Java14+
Crossed 3000 commits! Last few weeks were
- Defer byte transfer directly to OS where possible (skip JVM heap)
- Higher compaction concurrency on each Level, each file and on each group of data within each file
- Controlled concurrency of compaction IO via a Scheduler @SwayDB
Released @SwayDB v0.16.1 with improved write performance for sequential writes and added atomicity to in-memory SkipList types without copying (used internally). https://t.co/nlHl1ztBIg #scala#java#jvm#database#opensource
In process of updating the documentation. Initial serialisers documentation for Scala and Java. Using BooPickle and Custom - https://t.co/LxqriJtuM6 @SwayDB#scala#java#database
Released @SwayDB v0.16. This release was mainly focused on MultiMap & Compaction performance. Complete #Java API. Support for Boopickle (cc: @ochrons) serialisation. QA and usability testing. See release note. #scala#database#opensource # https://t.co/Jd87MKscfI
Released @SwayDB v0.14 with MultiMap data-type which allows creation of nested Map (Trees). This is basically to support segregating data similar Tables in SQL. Example - https://t.co/G9wKN7QlVu #scala#java $kotlin #opensource#database#storage
Blogged about Compression strategies in SwayDB.
https://t.co/YFmLIQOWBf. Applications can have different read, write & caching requirements and compression for these applications can be tuned accordingly. #java#kotlin#scala#storage#compression#swaydb#database
Time-series, events or metric data like weather, electricity etc can have reoccurring duplicate values. This config allows detecting & eliminating these duplicates to save storage space. https://t.co/kchlL2HTGn #java#scala#kotlin#storage
BloomFilters are epic! Requires only 1% storage space but save a lot on IOPs, space & improve read perform by skipping files they do not require searching. https://t.co/hVaeuqI8SH #java#scala#kotlin#storage
Binary-search is essential for read performance but it can be disabled for cold storage. Caching, normalising bytes, partial indexing, concurrency & compression can all be configured accounting for available machine RAM and Disk space https://t.co/3UU10MFGGd #java#scala#storage