Politik

Vad kan du om sharding och databas-skärvor, alla IT-entreprenörers mardröm?

Klicka på bilden för att läsa om hur MongoDB har stöd för sharding.

et finns situationer som får den mest härdade IT-entreprenör att gömma sig under sängen med händerna för öronen. Nej det är inte problem med riskkapital, strulande datormoln, motspänstiga buggar, snabbfotade konkurrenter eller ens med den totala frånvaron av användare.

Nej det som IT-entreprenörer fruktar mer än något annat är en plötslig tsunami av användare, som dubbleras varje vecka, och sen den plötsliga insikten, “oh shit, vår databas har blivit en flaskhals, om vi inte gör något nu på momangen som kommer hela systemet att krascha.

En shard är en skärva, ordet används ofta inom arkeologin, men i det här faller handlar det om hur man delar upp en monolitisk databas i olika delar, skärvor, så att den inte överbelastas.

Instagram-gänget har skrivit om hur de “shardade”, splittrade, sin databas i olika skärvor för att klara av den veritabla tsunamin av nya användare som strömmade till: Sharding & IDs at Instagram

Our sharded system consists of several thousand ‘logical’ shards that are mapped in code to far fewer physical shards. Using this approach, we can start with just a few database servers, and eventually move to many more, simply by moving a set of logical shards from one database to another, without having to re-bucket any of our data. We used Postgres’ schemas feature to make this easy to script and administrate.>

Som jag har skrivit så kan dagens IT-entreprenörer använda sig av väl etablerade datorspråk, rutiner och formler för att utveckla sina förtag och skriva ihop sina produkter. Datorspråk som Ruby och Python, ramverk som Rails och Django, datormolnbaserade utvecklingsmiljöer som Heroku och Google App Engine, databaser som MongoDB och MySQL, och sist men inte minst datormoln som Amazon, Azure, och Rackspace.

Men det är som med barn, Ju större dom blir, desto större blir också problemen. Och ett av de största problem man överhuvudtaget kan få är just överbelastning på databas-servern.

Det är då man måste distribuera databasen i skärvor, och det är inte speciellt lätt. Speciellt inte eftersom man samtidigt inte kan ta databasen off-line under tiden.

Så det är viktigt att från början ha en databas med internt stöd för skärvor.

Mer IT-koncept framöver.

Axplock från den nordiska pressen:

DN.se – Kultur/Böcker,DN.se – Kultur/Böcker,SvD – Senaste nytt, SvD – Senaste nytt

[tags]Sharding, Shard, IT-entreprenörer, Web 2.0, databaser, Instagram Sharding [/tags]