Sriram Subramanian (@sriramsubram) 's Twitter Profile
Sriram Subramanian

@sriramsubram

Founder and CEO at @niledatabase. Previously: VP of Engineering at Confluent. Believe to win.

ID: 828258060

linkhttps://www.thenile.dev/ calendar_today17-09-2012 03:34:48

2,2K Tweet

2,2K Takipçi

179 Takip Edilen

Sriram Subramanian (@sriramsubram) 's Twitter Profile Photo

This is why RAG is still relevant. Providing the right context to the model is hard and could even be what differentiates a successful AI product

Gwen (Chen) Shapira (@gwenshap) 's Twitter Profile Photo

People underestimate PLPGSQL for Postgres Extensions. It is easier to write, compared to C, C++ or Rust, much safer, and can be dynamically changed without replacing shared libraries. Postgres makes it easy to combine C/C++/Rust with PLPGSQL in an extension. So we can take

Gwen (Chen) Shapira (@gwenshap) 's Twitter Profile Photo

Yesterday, I posted a riddle: What happens when you add and remove a column from a table in Postgres 2000 times? Answer: After 1598 times, you get "ERROR: tables can have at most 1600 columns" But... the table only has 2 columns when I get the error! So... why? Because

Gwen (Chen) Shapira (@gwenshap) 's Twitter Profile Photo

When I posted about how "drop column" works in Postgres, I didn't expect so much interest! I blogged an even deeper dive into the topic - inspecting the Postgres catalog and dumping data files to discover what Vacuum really does to dropped columns and why it doesn't violate

When I posted about how "drop column" works in Postgres, I didn't expect so much interest!

I blogged an even deeper dive into the topic - inspecting the Postgres catalog and dumping data files to discover what Vacuum really does to dropped columns and why it doesn't violate
Gwen (Chen) Shapira (@gwenshap) 's Twitter Profile Photo

🚢 New release: NileJS v4.2.0: - Async route handlers with built-in context = smoother DX 📷👇 - You can now pass a custom tenant ID in createTenant Plus a bunch of bug fixes

🚢 New release: NileJS v4.2.0: 

- Async route handlers with built-in context = smoother DX 📷👇
- You can now pass a custom tenant ID in createTenant

Plus a bunch of bug fixes
Gwen (Chen) Shapira (@gwenshap) 's Twitter Profile Photo

There’s something very comforting about learning that OpenAI has the same database scaling issues (and same solutions) as the rest of us.

There’s something very comforting about learning that OpenAI has the same database scaling issues (and same solutions) as the rest of us.
Gwen (Chen) Shapira (@gwenshap) 's Twitter Profile Photo

🚨 PostgreSQL 18 Beta is here 🚨 Highlights: ⚡️ Async I/O (with io_uring) — 2–3x speedups on seq scans, vacuums 🔍 Skip scan + smarter OR/IN optimizations 🔄 Keep planner stats during major upgrades 🧬 uuidv7() and virtual generated columns 🔐 OAuth login 📊 EXPLAIN

Gwen (Chen) Shapira (@gwenshap) 's Twitter Profile Photo

Photon is Databricks' C++ engine hiding under Spark SQL — and the SIGMOD '22 paper is full of 🔥 for engine nerds. They explain: - Why they ditched JVM for native code - Vectorized interpreted execution (not codegen!) - Runtime tricks like SIMD ASCII checks and UUID rewrites -

Photon is Databricks' C++ engine hiding under Spark SQL — and the SIGMOD '22 paper is full of 🔥 for engine nerds. They explain:

- Why they ditched JVM for native code
- Vectorized interpreted execution (not codegen!)
- Runtime tricks like SIMD ASCII checks and UUID rewrites
-
Gwen (Chen) Shapira (@gwenshap) 's Twitter Profile Photo

Redshift and Snowflake take very different approaches to data warehousing: 🔴 Redshift: – Shared-nothing – Compute and storage per node – S3 = backup & load ❄️ Snowflake: – Cloud-native – S3 = source of truth – Compute is stateless, local storage is cache Same SQL, totally

Redshift and Snowflake take very different approaches to data warehousing:

🔴 Redshift:
– Shared-nothing
– Compute and storage per node
– S3 = backup & load

❄️ Snowflake:
– Cloud-native
– S3 = source of truth
– Compute is stateless, local storage is cache

Same SQL, totally
Gwen (Chen) Shapira (@gwenshap) 's Twitter Profile Photo

Troubleshooting auth is the one of the hardest problems in software engineering. Modern auth flows involve 3-4 different services and 2-3 different protocols. All the complexity of troubleshooting distributed systems. But with the added fun where “for security reasons “ all the

Gwen (Chen) Shapira (@gwenshap) 's Twitter Profile Photo

Biggest mistake you've ever made in production? Mine is from 25 years ago: My manager asked me to "clean space on the database servers". I found a bunch of files called ".log" taking a lot of space. So I deleted them. <Waiting for everyone who knows DBs to 🤦‍♀️> Of course

Gwen (Chen) Shapira (@gwenshap) 's Twitter Profile Photo

“Why is Postgres seq-scanning rather than use this index?” 🤯 Short answer: the planner thinks that index won’t help (or can’t use it). Longer answer—5 usual suspects 👇 1️⃣ Stale stats: ANALYZE hasn’t run; filter looks un-selective. 2️⃣ Truly un-selective: Stats are right; scan

Gwen (Chen) Shapira (@gwenshap) 's Twitter Profile Photo

You think 'SELECT 1;' is simple? Let’s walk through everything that happens just to return the number 1 from an existing connection to Postgres. 1. Client sends the query. Whether you're using psql, JDBC, or a web app — it’s a client over TCP. Likely TLS. Postgres has

You think 'SELECT 1;' is  simple? 

Let’s walk through everything that happens just to return the  number 1 from an existing connection to Postgres.

1. Client sends the query. 
Whether  you're using psql, JDBC, or a web app — it’s a client over TCP. Likely  TLS. Postgres has
Gwen (Chen) Shapira (@gwenshap) 's Twitter Profile Photo

Learning Postgres: from “SELECT ” to "reading the source code for fun". Here’s my favorite list of resources to level up your PostgreSQL skills. No matter if you are a total beginner or quite experienced - there is always more to discover. 🔹 Beginner: - The official