Citat:
Ursprungligen postat av
bithax
Vad är det för fel på SQL? Det är en an de bästa DSLerna som finns för att hantera data.
Gillar inte att skriva SQL? Använd dapper, linq eller något av alla misslyckade ORMs där ute.
Men ge fan i databasen.
SQL databaser har Atomicity, Integrity, Consistency och Durrability.
SQL databaser har snapshots och transaktioner som kan rullas tillbaka.
SQL databaser har index som gör att man kan göra sökningar visslande snabbt.
SQL databaser har nycklar eftersom relationer alltid finns i data ändå, även om den ligger i platta filer.
SQL databaser möjliggör att man kan joina, aggregera och skapa projektioner på data. Det är enkelt och kraftfullt.
SQL databaser har replikering och backups en disk skulle crasha.
De flesta SQL databaser har turing kompletta skriptspråk som man kan använda för att processa data i själva databasen villket går betydligt snabbare än att tanka över den till nån app och spara tillbaka den.
Det är mer än vad någon jävla mongodb eller annan document/event store ens kan drömma om att uppnå.
Inte skalbart? Men använd en skalbar SQL databas då! Det finns massor. Cockroach db, redshift mfl.
De flesta tjänster blir ändå aldrig så feta att de växer ur en databas. Och när de gör det, ja då tjänar vi så mycket pengar att vi kan bygga ett nytt jävla system ändå.
Så håll käften med din fancy pants nosql data store.
Du skriver SQL-databaser, men du verkar mena relationsdatabaser.
Och beroende på implementationen kan de ha allt du skriver om:
SQL databaser har Atomicity, Integrity, Consistency och Durrability.
SQL databaser har snapshots och transaktioner som kan rullas tillbaka.
SQL databaser har index som gör att man kan göra sökningar visslande snabbt.
Men det beror inte på att man kan använda SQL för att hämta data, utan det beror på implementationen av databasen.
Det finns databaser utan referentiell integritet, med dålig indexhantering, atomicity och 'durrability', det har inget med query-språket att göra. Inte alla relationsdatabaser har two-phase commit, eller rollback.
Och innan du pratar om Dinky Toys som 'Cockroach db, redshift ' borde du kolla in DB2, gärna på ZOS, eller någon av Oracles större implementationer.
Inte alla bygger en liten webshop, somliga bygger banker, eller bokningssystem för flygbolag, då är det andra krav på skalbarhet och konsistens. Hundratusentals transaktioner per sekund är en annan värld, när timestamp på milliskeundnivå ändå inte blir unikt, och det tar längre tid att skapa en GUID än att processa transaktionen.
Lyssningstips:
https://kodsnack.se/377/