Dark | Light
[GUEST ACCESS MODE: Data is scrambled or limited to provide examples. Make requests using your API key to unlock full data. Check https://lunarcrush.ai/auth for authentication information.]

# ![@debasishg Avatar](https://lunarcrush.com/gi/w:26/cr:twitter::6562002.png) @debasishg Debasish (দেবাশিস্) Ghosh 🇮🇳

Debasish (দেবাশিস্) Ghosh 🇮🇳 posts on X about rocksdb, scala, level, reduce the most. They currently have XXXXXX followers and XXX posts still getting attention that total XXX engagements in the last XX hours.

### Engagements: XXX [#](/creator/twitter::6562002/interactions)
![Engagements Line Chart](https://lunarcrush.com/gi/w:600/cr:twitter::6562002/c:line/m:interactions.svg)

- X Week XXXXXX +125%
- X Month XXXXXX -XX%
- X Months XXXXXXX -XX%
- X Year XXXXXXX +97%

### Mentions: XX [#](/creator/twitter::6562002/posts_active)
![Mentions Line Chart](https://lunarcrush.com/gi/w:600/cr:twitter::6562002/c:line/m:posts_active.svg)

- X Months XXX +21%
- X Year XXX +73%

### Followers: XXXXXX [#](/creator/twitter::6562002/followers)
![Followers Line Chart](https://lunarcrush.com/gi/w:600/cr:twitter::6562002/c:line/m:followers.svg)

- X Week XXXXXX +0.37%
- X Month XXXXXX +1.40%
- X Months XXXXXX +7.10%
- X Year XXXXXX +17%

### CreatorRank: XXXXXXXXX [#](/creator/twitter::6562002/influencer_rank)
![CreatorRank Line Chart](https://lunarcrush.com/gi/w:600/cr:twitter::6562002/c:line/m:influencer_rank.svg)

### Social Influence

**Social category influence**
[technology brands](/list/technology-brands)  [social networks](/list/social-networks) 

**Social topic influence**
[rocksdb](/topic/rocksdb) #10, [scala](/topic/scala) #54, [level](/topic/level), [reduce](/topic/reduce), [link](/topic/link), [skin](/topic/skin), [sunday](/topic/sunday), [facebook](/topic/facebook), [core](/topic/core), [longterm](/topic/longterm)

**Top accounts mentioned or mentioned by**
[@ngnghm](/creator/undefined) [@codeslubber](/creator/undefined) [@alexelcu](/creator/undefined) [@jergib](/creator/undefined) [@fbrasisil](/creator/undefined) [@manningbooks](/creator/undefined) [@anh32920995](/creator/undefined) [@clickhousedb](/creator/undefined) [@propensive](/creator/undefined) [@thegeeknarrator](/creator/undefined) [@odersky](/creator/undefined) [@felipe](/creator/undefined) [@icelandjack](/creator/undefined) [@paulsnively](/creator/undefined) [@grok](/creator/undefined) [@kitlangton](/creator/undefined) [@chshersh](/creator/undefined) [@kmett](/creator/undefined) [@hmemcpy](/creator/undefined) [@lukaszbialy](/creator/undefined)
### Top Social Posts
Top posts by engagements in the last XX hours

"New paper on LSM tree dropped in SIGMOD-25. It gives new insights into the trade-offs in vertical (adopted by RocksDB LevelDB Cassandra) and horizontal growth (used by AsterixDB BigTable HBase) of an LSM tree as it ingests new data. It suggests a technique that offers better write performance than the vertical scheme while incurring about six times less additional space cost compared to the horizontal scheme. link: 👇"  
[X Link](https://x.com/debasishg/status/1929052744796811474)  2025-06-01T05:49Z 12.5K followers, 6837 engagements


"I was going through the RocksDB blog post Dynamic Level Size for Level-Based Compaction (link: 👇) where it says "total size of the DB divided by the size of the last level will be a good estimation of spaceamplification". I was trying to get under the skin of this hypothesis and came up with the following generalisation . In a leveled LSM . each level is about T times larger than the one above it except for L0 levels dont overlap internally so almost all live data ends up consolidated at the bottom level upper levels hold only a small fraction of the bytes at any time (recent versions"  
[X Link](https://x.com/debasishg/status/1980543776188747882)  2025-10-21T07:56Z 12.5K followers, 7808 engagements


"Sunday evening paper reading and spending quite some time on auxiliary research on the references . A CIDR '17 paper: Optimizing Space Amplification in RocksDB by Siying Dong Mark Callaghan Leonidas Galanis Dhruba Borthakur Tony Savor and Michael Stumm The paper is a good read on the techniques that RocksDB apply to reduce space amplification (SA) with Facebook type workload. But one discussion that I found very interesting is a comparison between the SA of LSM trees and B-trees in Section 3: "An LSM-tree is typically far more space ecient than a B-tree. Under read/write workloads similar to"  
[X Link](https://x.com/debasishg/status/1982490537606205508)  2025-10-26T16:52Z 12.5K followers, 3977 engagements


"A typical pattern in today's database centric ecosystem beyond the core engine and internals work: Custom database or platform handles domain-specific storage or semantics (time-series streaming search etc.) Arrow is the in-memory layout Parquet (or similar) is the long-term compressed storage DataFusion provides SQL and query planning / execution on top of that storage One example of this pattern is ParadeDB: Postgres + DataFusion + Arrow (OLTP - OLAP in one box) Stack PostgreSQL - primary storage SQL dialect transactions Apache Arrow + DataFusion - embedded analytical query engine Columnar"  
[X Link](https://x.com/debasishg/status/1995916801935597690)  2025-12-02T18:03Z 12.5K followers, 3950 engagements


"another Rust tip as a design pattern: Zero Sized Strategy Types Instead of Runtime Flags Idea: Encode strategy/policy as a type parameter (usually a Zero-Sized Type) instead of a runtime enum/flag. The compiler then monomorphizes and optimizes away conditionals. Why it helps: Each R produces a separate monomorphization with no runtime branch to pick strategy. Compiler can inline through R::round and simplify the arithmetic further. The ZST strategies (like Floor) cost zero runtime space. When to use: algorithms with a small number of variants (rounding style hash strategy retry policy etc.)"  
[X Link](https://x.com/debasishg/status/1997986813865349223)  2025-12-08T11:09Z 12.5K followers, 12.3K engagements


"💯 working with pure FP in (mostly) Scala and Haskell for more than a decade was pure joy "  
[X Link](https://x.com/debasishg/status/1996149126292230608)  2025-12-03T09:26Z 12.5K followers, 2010 engagements


"@0xlelouch_ Newtype in general is a very powerful design pattern. Have been using it extensively in Scala and Haskell as well. Very powerful for domain modelling. I posted on it before as well"  
[X Link](https://x.com/debasishg/status/1997998613490978986)  2025-12-08T11:56Z 12.5K followers, XXX engagements


"Did some more research recently and I think many of the Bf-tree benefits are also offered by Bw-Trees (2013) / Open Bw-Trees . already lock-free delta updates - almost no random writes tiny in-memory nodes - excellent cache behavior large indirect pages on flash - NVMe-friendly Leanstore (and possibly Umbra) uses OpenBw-Tree + pointer swizzling + adaptive cache sizing. Based on some papers it dominates both classic B-trees and RocksDB on NVMe often by 310x on mixed workloads. Also Umbra beats PostgreSQL by 520x on analytics with NVMe (as per paper)"  
[X Link](https://x.com/debasishg/status/1992638267045605569)  2025-11-23T16:55Z 12.5K followers, 7523 engagements


"TIL: RocksDB uses fractional cascading as an active optimization for improving lookup performance in SST file indexing particularly in leveled compaction scenarios where it narrows the binary search range across levels by pre-building pointers during compaction. (link to the wiki page: 👇) Fractional cascading is one of those esoteric algorithmic techniques that I like a lot though the original papers were extremely hard to read and digest. The concept becomes much clear when explained in context of sorting and lookups. Quite some time back I wrote a detailed thread on FC (link 👇)"  
[X Link](https://x.com/debasishg/status/1994821246299816306)  2025-11-29T17:30Z 12.5K followers, 3546 engagements


"In practice: After compaction finishes RocksDB has the exact smallest/largest keys of the new files going into L+1 It walks upward to the parent level L and updates every overlapping files metadata with the new bounds from L+1 Result: every file in the LSM now carries a cached sub-range for the next level It would be interesting to find out how much cache friendly these pointer chasings would be on modern processors . I did some research with some Haskell code and they moved away from FC because of bad cache behaviors "  
[X Link](https://x.com/debasishg/status/1995184973444473120)  2025-11-30T17:35Z 12.5K followers, XXX engagements


"I was looking into RocksDB a bit . here are some of my thoughts . X. amortize syscalls/memory traffic: batch writes (coalesce updates in a Vec/BytesMut) use async flush thresholds X. tune compaction & write path: bigger write buffers more compaction threads rate limit background compaction so foreground writes dont stall (can tune these in RocksDB) X. isolate I/O & CPU: put store on fast NVMe - pin compaction threads with lower priority; separate runtime for compute vs I/O X. allocator choice: try mimalloc/jemalloc (link via #global_allocator) to stabilize latency under fragmentation. We got"  
[X Link](https://x.com/debasishg/status/1996432440303518057)  2025-12-04T04:12Z 12.5K followers, XXX engagements


"RocksDB wiki page: Link to my thread on FC:"  
[X Link](https://x.com/debasishg/status/1994821249533608222)  2025-11-29T17:30Z 12.5K followers, XXX engagements


"You have a Rust service doing per-key aggregates with a local LSM store (RocksDB or similar). p99 spikes during compactions. What concrete changes would you go for in Rust and store config to reduce p99 without cutting throughput"  
[X Link](https://x.com/debasishg/status/1996192055702516139)  2025-12-03T12:17Z 12.5K followers, 3236 engagements


"Rust's Vecu8 with vec0u8; len does indeed force zero-initialization leading to redundant writes. BytesMut from the bytes crate (a de facto standard in Tokio ecosystems) sidesteps this elegantly by decoupling capacity from length and using read_buf to advance the writer cursor post-write. It's a deliberate API design for application-level (not kernel-level) zero-copy . a nice blog post : wish there were some criterion benchmarks "  
[X Link](https://x.com/debasishg/status/1997662031781191720)  2025-12-07T13:38Z 12.5K followers, 8484 engagements


"@alittletyper meant to say it's not runtime but compile time check as also in some other statically typed languages like Scala OCaml "  
[X Link](https://x.com/debasishg/status/1998979430140809658)  2025-12-11T04:53Z 12.5K followers, XX engagements

[GUEST ACCESS MODE: Data is scrambled or limited to provide examples. Make requests using your API key to unlock full data. Check https://lunarcrush.ai/auth for authentication information.]

@debasishg Avatar @debasishg Debasish (দেবাশিস্) Ghosh 🇮🇳

Debasish (দেবাশিস্) Ghosh 🇮🇳 posts on X about rocksdb, scala, level, reduce the most. They currently have XXXXXX followers and XXX posts still getting attention that total XXX engagements in the last XX hours.

Engagements: XXX #

Engagements Line Chart

  • X Week XXXXXX +125%
  • X Month XXXXXX -XX%
  • X Months XXXXXXX -XX%
  • X Year XXXXXXX +97%

Mentions: XX #

Mentions Line Chart

  • X Months XXX +21%
  • X Year XXX +73%

Followers: XXXXXX #

Followers Line Chart

  • X Week XXXXXX +0.37%
  • X Month XXXXXX +1.40%
  • X Months XXXXXX +7.10%
  • X Year XXXXXX +17%

CreatorRank: XXXXXXXXX #

CreatorRank Line Chart

Social Influence

Social category influence technology brands social networks

Social topic influence rocksdb #10, scala #54, level, reduce, link, skin, sunday, facebook, core, longterm

Top accounts mentioned or mentioned by @ngnghm @codeslubber @alexelcu @jergib @fbrasisil @manningbooks @anh32920995 @clickhousedb @propensive @thegeeknarrator @odersky @felipe @icelandjack @paulsnively @grok @kitlangton @chshersh @kmett @hmemcpy @lukaszbialy

Top Social Posts

Top posts by engagements in the last XX hours

"New paper on LSM tree dropped in SIGMOD-25. It gives new insights into the trade-offs in vertical (adopted by RocksDB LevelDB Cassandra) and horizontal growth (used by AsterixDB BigTable HBase) of an LSM tree as it ingests new data. It suggests a technique that offers better write performance than the vertical scheme while incurring about six times less additional space cost compared to the horizontal scheme. link: 👇"
X Link 2025-06-01T05:49Z 12.5K followers, 6837 engagements

"I was going through the RocksDB blog post Dynamic Level Size for Level-Based Compaction (link: 👇) where it says "total size of the DB divided by the size of the last level will be a good estimation of spaceamplification". I was trying to get under the skin of this hypothesis and came up with the following generalisation . In a leveled LSM . each level is about T times larger than the one above it except for L0 levels dont overlap internally so almost all live data ends up consolidated at the bottom level upper levels hold only a small fraction of the bytes at any time (recent versions"
X Link 2025-10-21T07:56Z 12.5K followers, 7808 engagements

"Sunday evening paper reading and spending quite some time on auxiliary research on the references . A CIDR '17 paper: Optimizing Space Amplification in RocksDB by Siying Dong Mark Callaghan Leonidas Galanis Dhruba Borthakur Tony Savor and Michael Stumm The paper is a good read on the techniques that RocksDB apply to reduce space amplification (SA) with Facebook type workload. But one discussion that I found very interesting is a comparison between the SA of LSM trees and B-trees in Section 3: "An LSM-tree is typically far more space ecient than a B-tree. Under read/write workloads similar to"
X Link 2025-10-26T16:52Z 12.5K followers, 3977 engagements

"A typical pattern in today's database centric ecosystem beyond the core engine and internals work: Custom database or platform handles domain-specific storage or semantics (time-series streaming search etc.) Arrow is the in-memory layout Parquet (or similar) is the long-term compressed storage DataFusion provides SQL and query planning / execution on top of that storage One example of this pattern is ParadeDB: Postgres + DataFusion + Arrow (OLTP - OLAP in one box) Stack PostgreSQL - primary storage SQL dialect transactions Apache Arrow + DataFusion - embedded analytical query engine Columnar"
X Link 2025-12-02T18:03Z 12.5K followers, 3950 engagements

"another Rust tip as a design pattern: Zero Sized Strategy Types Instead of Runtime Flags Idea: Encode strategy/policy as a type parameter (usually a Zero-Sized Type) instead of a runtime enum/flag. The compiler then monomorphizes and optimizes away conditionals. Why it helps: Each R produces a separate monomorphization with no runtime branch to pick strategy. Compiler can inline through R::round and simplify the arithmetic further. The ZST strategies (like Floor) cost zero runtime space. When to use: algorithms with a small number of variants (rounding style hash strategy retry policy etc.)"
X Link 2025-12-08T11:09Z 12.5K followers, 12.3K engagements

"💯 working with pure FP in (mostly) Scala and Haskell for more than a decade was pure joy "
X Link 2025-12-03T09:26Z 12.5K followers, 2010 engagements

"@0xlelouch_ Newtype in general is a very powerful design pattern. Have been using it extensively in Scala and Haskell as well. Very powerful for domain modelling. I posted on it before as well"
X Link 2025-12-08T11:56Z 12.5K followers, XXX engagements

"Did some more research recently and I think many of the Bf-tree benefits are also offered by Bw-Trees (2013) / Open Bw-Trees . already lock-free delta updates - almost no random writes tiny in-memory nodes - excellent cache behavior large indirect pages on flash - NVMe-friendly Leanstore (and possibly Umbra) uses OpenBw-Tree + pointer swizzling + adaptive cache sizing. Based on some papers it dominates both classic B-trees and RocksDB on NVMe often by 310x on mixed workloads. Also Umbra beats PostgreSQL by 520x on analytics with NVMe (as per paper)"
X Link 2025-11-23T16:55Z 12.5K followers, 7523 engagements

"TIL: RocksDB uses fractional cascading as an active optimization for improving lookup performance in SST file indexing particularly in leveled compaction scenarios where it narrows the binary search range across levels by pre-building pointers during compaction. (link to the wiki page: 👇) Fractional cascading is one of those esoteric algorithmic techniques that I like a lot though the original papers were extremely hard to read and digest. The concept becomes much clear when explained in context of sorting and lookups. Quite some time back I wrote a detailed thread on FC (link 👇)"
X Link 2025-11-29T17:30Z 12.5K followers, 3546 engagements

"In practice: After compaction finishes RocksDB has the exact smallest/largest keys of the new files going into L+1 It walks upward to the parent level L and updates every overlapping files metadata with the new bounds from L+1 Result: every file in the LSM now carries a cached sub-range for the next level It would be interesting to find out how much cache friendly these pointer chasings would be on modern processors . I did some research with some Haskell code and they moved away from FC because of bad cache behaviors "
X Link 2025-11-30T17:35Z 12.5K followers, XXX engagements

"I was looking into RocksDB a bit . here are some of my thoughts . X. amortize syscalls/memory traffic: batch writes (coalesce updates in a Vec/BytesMut) use async flush thresholds X. tune compaction & write path: bigger write buffers more compaction threads rate limit background compaction so foreground writes dont stall (can tune these in RocksDB) X. isolate I/O & CPU: put store on fast NVMe - pin compaction threads with lower priority; separate runtime for compute vs I/O X. allocator choice: try mimalloc/jemalloc (link via #global_allocator) to stabilize latency under fragmentation. We got"
X Link 2025-12-04T04:12Z 12.5K followers, XXX engagements

"RocksDB wiki page: Link to my thread on FC:"
X Link 2025-11-29T17:30Z 12.5K followers, XXX engagements

"You have a Rust service doing per-key aggregates with a local LSM store (RocksDB or similar). p99 spikes during compactions. What concrete changes would you go for in Rust and store config to reduce p99 without cutting throughput"
X Link 2025-12-03T12:17Z 12.5K followers, 3236 engagements

"Rust's Vecu8 with vec0u8; len does indeed force zero-initialization leading to redundant writes. BytesMut from the bytes crate (a de facto standard in Tokio ecosystems) sidesteps this elegantly by decoupling capacity from length and using read_buf to advance the writer cursor post-write. It's a deliberate API design for application-level (not kernel-level) zero-copy . a nice blog post : wish there were some criterion benchmarks "
X Link 2025-12-07T13:38Z 12.5K followers, 8484 engagements

"@alittletyper meant to say it's not runtime but compile time check as also in some other statically typed languages like Scala OCaml "
X Link 2025-12-11T04:53Z 12.5K followers, XX engagements

@debasishg
/creator/twitter::debasishg