HeadlinesBriefing favicon HeadlinesBriefing.com

PlanetScale Neki: Scalable Workloads ke liye Sharded Postgres

Hacker News •
×

Neki platform preview mein available hai. Neki baaton se bana hai jo hume eight saal mein kahan gayi kisi bhi se largest sharded MySQL clusters running ki. Hazar production workloads jo har second mein million queries chalta hai, companies ke liye jahan even a few second downtime bhi public event hai.

Hum jaante hain duniya ke biggest tier 0 workloads ko power dene ka matlab kya hota hai. Jab humne saal aur half pehle Planet Scale Postgres launch kiya tha, tab hume pata tha ki humko aur karna hai. Is waqt humne hazaar customers ko Planet Scale par onboard kiya hai, unme se kuch unse bhi large hain hamari largest MySQL customers.

Waqt aur waqt par, hume teams ko ek single machine ke Postgres ke upar ceiling dikhne ko mila. Metal ne unhe time diya, lekin customers jab ek single machine ki capacity ki upper limit ko cross kar rahe the, tab hume koi accha option nahi mila jo unhe de sakte. Enter Neki.

Neki kya hai? Neki Planet Scale ka sharded Postgres hai. It aapko ek Postgres database ko bohot machines par scale karne aata hai har shard par real Postgres rakh ke. Aapki application Neki router se connect karti hai standard Postgres wire protocol ke through, isliye aapke existing drivers, ORMs aur connection string kaam karte rahte hain.

Har ek shard ek complete Postgres cluster hai jismein 1 primary aur at least 2 replicas hon 3 availability zones. Koi bhi custom storage engine nahi hai, isliye extensions, SQL support aur performance waisi behave karta hai jaise Postgres karta hai. Aap shard key choose karte hain aur JSON data topology ke through tables ko group aur distribute karte hain.

Schema changes, version upgrades, failovers, imports aur resharding—sab built-in fully online workflows ke roop mein chalte hain. Aap already rely kare Planet Scale features, jiske andar Insights, schema recommendations, branching aur MCP include hain. Aapko shard pe pehley din nahi karna.

Chaliye Neki ko single primary ke saath replicas ke roop mein run karein, jab aap ek machine se outgrow karein, to resharding ek workflow hai jo aap already have cluster ke against run kar sakte. Why Neki? Aap already jaante hain fast-growing Postgres databases ke saath aane wale problems: tables bohot bade vacuum ya index karne ke liye bina traffic affect kiye, backups ghante lete hain, connection limits, maintenance windows for schema changes, transaction wraparound aur bohot zyada. Aap ek bigger instance par move kar sakte hain, lekin eventually aap big enough machines se bahar aa jayenge, aur problems linearly scale nahi honge jaise aap cores aur IOPS add karte jaayenge.

Existing answers har ek aap se kuch dena maangti hain. Application-level sharding routing ko aapke code mein push karta hai. Postgres-"compatible" distributed databases aapki se shard key chhupa leti hain, aapke extensions chhina leti hain, aur complexity aur latency add karti hain jo handle aur debug karna mushkil ban jata hai.

Isliye humne Neki ko baaton ke principles par banaya hai, sab se bada principle hai: stick to Postgres, uska kaam mat karo, uska fikr mat karo, ya us se door bano. Neki kaise kaam karta hai? Humne Neki ko Postgres ke liye first principles se architect kiya hai, har shard par real Postgres ke saath. Char moving parts hain.

Neki routers Aapki application pehle Neki router se connect karti hai. Router Postgres wire protocol speak karta hai isliye aapke existing drivers, ORMs ek single connection string ke saath kaam karte rahte hain. Ek router ke paas full Postgres query parser, distributed query planner, query buffering aur zyada hai.

Aapki query parse karta hai, plan banata hai jo decide karta hai ki kaunsa shards chalte hain, kaam baahar bhejta hai, aur results ko ek stream mein combine karta hai. Routers vertical aur horizontal scale kar sakte hain, isliye koi single router bottleneck nahi banega. Sharding aur shard groups Har ek Neki shard real Postgres hai jismein 1 primary aur at least 2 replicas hon 3 availability zones.

Koi modified storage engine nahi hai. Extensions, SQL support aur performance waisi behave karta hai jaise Postgres behave karta hai, kyunki it Postgres hai. Shards ko shard groups mein organize kiya gaya hai, isliye alag alag tables ya workloads different sets of shards par rah sakti hain.

Har ek shard ek configuration profile use karta hai jo uski instance size, replica count, storage, Postgres parameters aur extensions define karta hai, isliye aap har group ko i...