<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: S Bala Vignesh</title>
    <description>The latest articles on DEV Community by S Bala Vignesh (@sbalavignesh123).</description>
    <link>https://dev.to/sbalavignesh123</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3969794%2F6ed3fc75-3b50-47cf-8cc6-e328b0191413.jpeg</url>
      <title>DEV Community: S Bala Vignesh</title>
      <link>https://dev.to/sbalavignesh123</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sbalavignesh123"/>
    <language>en</language>
    <item>
      <title>Introducing SketchLog v1.2.5: Bounded-Memory Telemetry for Observability</title>
      <dc:creator>S Bala Vignesh</dc:creator>
      <pubDate>Fri, 17 Jul 2026 11:24:49 +0000</pubDate>
      <link>https://dev.to/sbalavignesh123/introducing-sketchlog-v125-bounded-memory-telemetry-for-observability-oi3</link>
      <guid>https://dev.to/sbalavignesh123/introducing-sketchlog-v125-bounded-memory-telemetry-for-observability-oi3</guid>
      <description>&lt;p&gt;I just released SketchLog v1.2.5.&lt;/p&gt;

&lt;p&gt;SketchLog is an open-source observability project built around a simple idea:&lt;/p&gt;

&lt;p&gt;Telemetry systems should not need unlimited raw-event storage to answer useful production questions.&lt;/p&gt;

&lt;p&gt;Modern systems generate huge volumes of metrics, logs, events, traces, and service signals. Storing everything forever is expensive, and querying raw history can become slow or operationally painful.&lt;/p&gt;

&lt;p&gt;SketchLog takes a different approach.&lt;/p&gt;

&lt;p&gt;Instead of keeping every raw event as the primary source for every question, SketchLog uses bounded-memory sketch data structures to summarize telemetry streams while still supporting practical operational analytics.&lt;/p&gt;

&lt;p&gt;What SketchLog is trying to solve&lt;/p&gt;

&lt;p&gt;In production systems, teams often need answers like:&lt;/p&gt;

&lt;p&gt;What is the current p99 latency?&lt;/p&gt;

&lt;p&gt;How many unique users or services appeared in this window?&lt;/p&gt;

&lt;p&gt;Which events are happening most often?&lt;/p&gt;

&lt;p&gt;Did this release change the latency distribution?&lt;/p&gt;

&lt;p&gt;Is an SLO burning faster than expected?&lt;/p&gt;

&lt;p&gt;Can we compare two windows without scanning all raw events?&lt;/p&gt;

&lt;p&gt;Traditional observability systems are excellent, but high-cardinality and high-volume telemetry can become expensive quickly.&lt;/p&gt;

&lt;p&gt;SketchLog is not trying to replace Prometheus, Grafana, Loki, Datadog, New Relic, TimescaleDB, InfluxDB, Mimir, Thanos, or a data warehouse.&lt;/p&gt;

&lt;p&gt;It is designed to work beside them.&lt;/p&gt;

&lt;p&gt;Use existing systems for raw history, deep label indexing, dashboards, logs, traces, and long-term analysis.&lt;/p&gt;

&lt;p&gt;Use SketchLog when you want compact, mergeable, bounded-memory summaries for fast operational questions.&lt;/p&gt;

&lt;p&gt;The core idea: compact telemetry summaries&lt;/p&gt;

&lt;p&gt;At the center of SketchLog are sketch data structures.&lt;/p&gt;

&lt;p&gt;Sketches are probabilistic data structures that trade exact raw storage for compact approximate answers with useful guarantees.&lt;/p&gt;

&lt;p&gt;SketchLog includes:&lt;/p&gt;

&lt;p&gt;DDSketch for percentile estimation&lt;/p&gt;

&lt;p&gt;HyperLogLog-style cardinality estimation&lt;/p&gt;

&lt;p&gt;Count-Min Sketch-style frequency tracking&lt;/p&gt;

&lt;p&gt;mergeable sketch state&lt;/p&gt;

&lt;p&gt;bounded sparse stores&lt;/p&gt;

&lt;p&gt;streaming summaries across windows and namespaces&lt;/p&gt;

&lt;p&gt;This makes it possible to keep useful signals like p50, p95, p99, unique counts, and top events without retaining every individual event forever.&lt;/p&gt;

&lt;p&gt;What is new in v1.2.5&lt;/p&gt;

&lt;p&gt;This release focuses on making SketchLog easier to evaluate as a real product, not just a GitHub repository.&lt;/p&gt;

&lt;p&gt;Highlights include:&lt;/p&gt;

&lt;p&gt;polished hosted playground&lt;/p&gt;

&lt;p&gt;stronger public website positioning&lt;/p&gt;

&lt;p&gt;improved README and documentation&lt;/p&gt;

&lt;p&gt;storage backend proof documentation&lt;/p&gt;

&lt;p&gt;PostgreSQL durability path&lt;/p&gt;

&lt;p&gt;optional OmniKV embedded storage path&lt;/p&gt;

&lt;p&gt;realistic telemetry load proof&lt;/p&gt;

&lt;p&gt;Docker smoke verification&lt;/p&gt;

&lt;p&gt;package publishing improvements&lt;/p&gt;

&lt;p&gt;Python, TypeScript, React, Go, and WebAssembly surfaces&lt;/p&gt;

&lt;p&gt;Helm, Docker, and Kubernetes documentation&lt;/p&gt;

&lt;p&gt;release and CI hardening&lt;/p&gt;

&lt;p&gt;The goal was to make the project easier to understand, easier to try, and easier to verify.&lt;/p&gt;

&lt;p&gt;Hosted playground&lt;/p&gt;

&lt;p&gt;The hosted playground is now the fastest way to try SketchLog.&lt;/p&gt;

&lt;p&gt;You can open it in a browser without installing anything:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://sbalavignesh123.github.io/sketchlog/demo/" rel="noopener noreferrer"&gt;https://sbalavignesh123.github.io/sketchlog/demo/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The playground includes:&lt;/p&gt;

&lt;p&gt;guided product tour&lt;/p&gt;

&lt;p&gt;live dashboard view&lt;/p&gt;

&lt;p&gt;DDSketch percentile estimation&lt;/p&gt;

&lt;p&gt;cardinality and frequency examples&lt;/p&gt;

&lt;p&gt;Streaming SQL examples&lt;/p&gt;

&lt;p&gt;stream operations&lt;/p&gt;

&lt;p&gt;exporter payload previews&lt;/p&gt;

&lt;p&gt;storage proof commands&lt;/p&gt;

&lt;p&gt;PostgreSQL and OmniKV backend explanations&lt;/p&gt;

&lt;p&gt;It runs as a static browser demo, so it does not require API keys, a backend, or local setup.&lt;/p&gt;

&lt;p&gt;Streaming SQL&lt;/p&gt;

&lt;p&gt;SketchLog also includes Streaming SQL examples for asking operational questions over telemetry streams.&lt;/p&gt;

&lt;p&gt;For example, you can reason about:&lt;/p&gt;

&lt;p&gt;latency grouped by service&lt;/p&gt;

&lt;p&gt;approximate unique users&lt;/p&gt;

&lt;p&gt;top events&lt;/p&gt;

&lt;p&gt;window comparisons&lt;/p&gt;

&lt;p&gt;anomaly movement&lt;/p&gt;

&lt;p&gt;SLO burn signals&lt;/p&gt;

&lt;p&gt;The goal is to make telemetry summaries queryable, not just stored.&lt;/p&gt;

&lt;p&gt;Storage backends&lt;/p&gt;

&lt;p&gt;SketchLog supports multiple storage paths depending on how you want to run it.&lt;/p&gt;

&lt;p&gt;In-memory&lt;/p&gt;

&lt;p&gt;Useful for demos, tests, quick experiments, and ephemeral workflows.&lt;/p&gt;

&lt;p&gt;PostgreSQL&lt;/p&gt;

&lt;p&gt;PostgreSQL-backed storage is the durable server deployment path.&lt;/p&gt;

&lt;p&gt;It is useful when you want SketchLog state persisted in a familiar production database.&lt;/p&gt;

&lt;p&gt;OmniKV&lt;/p&gt;

&lt;p&gt;OmniKV is an optional embedded storage backend.&lt;/p&gt;

&lt;p&gt;This is useful for local-first, edge, and single-node deployments where running a separate database service may be too heavy.&lt;/p&gt;

&lt;p&gt;The idea is not that every user must use OmniKV. It is available as an embedded option when it fits the deployment model.&lt;/p&gt;

&lt;p&gt;Integrations&lt;/p&gt;

&lt;p&gt;SketchLog is designed to fit into existing observability workflows.&lt;/p&gt;

&lt;p&gt;Current and documented integration paths include:&lt;/p&gt;

&lt;p&gt;OpenTelemetry&lt;/p&gt;

&lt;p&gt;Prometheus&lt;/p&gt;

&lt;p&gt;Grafana&lt;/p&gt;

&lt;p&gt;Loki&lt;/p&gt;

&lt;p&gt;Datadog&lt;/p&gt;

&lt;p&gt;New Relic&lt;/p&gt;

&lt;p&gt;Docker&lt;/p&gt;

&lt;p&gt;Helm&lt;/p&gt;

&lt;p&gt;Kubernetes&lt;/p&gt;

&lt;p&gt;WebAssembly&lt;/p&gt;

&lt;p&gt;Python SDK&lt;/p&gt;

&lt;p&gt;TypeScript SDK&lt;/p&gt;

&lt;p&gt;React dashboard SDK&lt;/p&gt;

&lt;p&gt;Go client&lt;/p&gt;

&lt;p&gt;The goal is to make SketchLog useful beside existing tools, not isolated from them.&lt;/p&gt;

&lt;p&gt;Proof-first engineering&lt;/p&gt;

&lt;p&gt;One thing I care about deeply is not just saying “production-ready.”&lt;/p&gt;

&lt;p&gt;Production readiness has to be earned through evidence.&lt;/p&gt;

&lt;p&gt;SketchLog includes proof and validation paths such as:&lt;/p&gt;

&lt;p&gt;Docker smoke checks&lt;/p&gt;

&lt;p&gt;PostgreSQL durability proof&lt;/p&gt;

&lt;p&gt;OmniKV storage proof&lt;/p&gt;

&lt;p&gt;realistic telemetry load proof&lt;/p&gt;

&lt;p&gt;CI matrix testing&lt;/p&gt;

&lt;p&gt;branch coverage&lt;/p&gt;

&lt;p&gt;package checks&lt;/p&gt;

&lt;p&gt;wheel validation&lt;/p&gt;

&lt;p&gt;release smoke tests&lt;/p&gt;

&lt;p&gt;documentation checks&lt;/p&gt;

&lt;p&gt;security scanning&lt;/p&gt;

&lt;p&gt;This does not mean SketchLog is perfect.&lt;/p&gt;

&lt;p&gt;It is still an open-source beta.&lt;/p&gt;

&lt;p&gt;But the project is moving in a proof-first direction: if something is claimed, there should be a way to test it.&lt;/p&gt;

&lt;p&gt;Why I built this&lt;/p&gt;

&lt;p&gt;I wanted to explore a different way of thinking about telemetry.&lt;/p&gt;

&lt;p&gt;Raw events are valuable, but not every operational question requires storing every event forever.&lt;/p&gt;

&lt;p&gt;For many production questions, compact summaries are enough:&lt;/p&gt;

&lt;p&gt;how bad is tail latency?&lt;/p&gt;

&lt;p&gt;how many unique users were affected?&lt;/p&gt;

&lt;p&gt;what changed after deployment?&lt;/p&gt;

&lt;p&gt;which events dominate the stream?&lt;/p&gt;

&lt;p&gt;is this service drifting from normal behavior?&lt;/p&gt;

&lt;p&gt;SketchLog is my attempt to build that idea into an open-source platform.&lt;/p&gt;

&lt;p&gt;Try it&lt;/p&gt;

&lt;p&gt;GitHub:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/SBALAVIGNESH123/sketchlog" rel="noopener noreferrer"&gt;https://github.com/SBALAVIGNESH123/sketchlog&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Website:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://sbalavignesh123.github.io/sketchlog/" rel="noopener noreferrer"&gt;https://sbalavignesh123.github.io/sketchlog/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hosted playground:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://sbalavignesh123.github.io/sketchlog/demo/" rel="noopener noreferrer"&gt;https://sbalavignesh123.github.io/sketchlog/demo/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Documentation:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://sbalavignesh123.github.io/sketchlog/docs/" rel="noopener noreferrer"&gt;https://sbalavignesh123.github.io/sketchlog/docs/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you work on observability, SRE, platform engineering, telemetry pipelines, distributed systems, or databases, I would love your feedback.&lt;/p&gt;

&lt;p&gt;What would you want to see before trusting a bounded-memory telemetry system in production?&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>observability</category>
      <category>devops</category>
      <category>python</category>
    </item>
    <item>
      <title>built a 24K-line transactional SQL engine from scratch in Rust—no RocksDB/SQLite wrappers. From sharded memtables to a cost-based optimizer and SSI, here is how I designed it: https://github.com/SBALAVIGNESH123/OmniKV</title>
      <dc:creator>S Bala Vignesh</dc:creator>
      <pubDate>Fri, 05 Jun 2026 12:01:32 +0000</pubDate>
      <link>https://dev.to/sbalavignesh123/built-a-24k-line-transactional-sql-engine-from-scratch-in-rust-no-rocksdbsqlite-wrappers-from-25a9</link>
      <guid>https://dev.to/sbalavignesh123/built-a-24k-line-transactional-sql-engine-from-scratch-in-rust-no-rocksdbsqlite-wrappers-from-25a9</guid>
      <description>&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://github.com/SBALAVIGNESH123/OmniKV" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fopengraph.githubassets.com%2Ffbaeb87ba44414b3641562428c4487416de6547ec56d1e6a83986d1577ca022b%2FSBALAVIGNESH123%2FOmniKV" height="600" class="m-0" width="1200"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://github.com/SBALAVIGNESH123/OmniKV" rel="noopener noreferrer" class="c-link"&gt;
            GitHub - SBALAVIGNESH123/OmniKV: Distributed transactional SQL + KV engine. PostgreSQL wire protocol. Raft consensus. Cost-based optimizer. 290 tests. 20K lines of Rust. From scratch. · GitHub
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Distributed transactional SQL + KV engine. PostgreSQL wire protocol. Raft consensus. Cost-based optimizer. 290 tests. 20K lines of Rust. From scratch. - SBALAVIGNESH123/OmniKV
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.githubassets.com%2Ffavicons%2Ffavicon.svg" width="32" height="32"&gt;
          github.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>architecture</category>
      <category>database</category>
      <category>rust</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
