sql

Under mer än 15 år har sql varit det självklara valet för att arbeta med databaser, så väl för att definiera databaser och manipulera data i dem, som för att formulera databasfrågor. Men sedan nosql-databasernas intåg för några år sedan utmanas det ärevördiga språkets ställning på allvar.

Just nu verkar det vara större intresse för specialiserade frågespråk för olika nosql-databaser, än det är för sql som generellt frågespråk. Den här utvecklingen är inte konstig på ett principiellt plan. Liksom pendeln svänger från en typ av databas (relationsdatabasen) för alla tänkbara användningsfall till specialiserade databastyper för olika fall, går utvecklingen från ett databasspråk till flera olika. Utvecklingen blir ännu mer logisk med tanke på att sql från början är starkt knutet till just relationsdatabaser, även om det faktiskt inte finns någon stark teoretisk koppling i grunden.

Läs också: Här är åtta utvecklingstrender du måste ha koll på

Det lanseras specialiserade språk som är knutna till de olika databaserna i en strid ström, både helt nya språk och nya versioner av existerande.

Ett exempel är Cypher från det svenskgrundade företaget Neo Technology. Neo är leverantören av den populära grafdatabasen Neo4j.

Emil Eifrém
Emil Eifrém, Neo Technology.

– En icke-trivial del av värdet med Cypher ligger just i att gränssnittet inte är sql, det är det som ökar på produktiviteten. Inte för att sql är dåligt, men för att det inte är bra på allt. Om vi skulle försöka konsolidera allt igen så tappar vi en stor del av poängen, säger Emil Eifrém, vd på Neo Technology.

Han tror på fler specialiserade arvtagare och komplement till sql.

Ett annat exempel är InfluxDB, en databas specialiserad på tidsserier, från företaget med samma namn. Vd:n Paul Dix var nyligen på besök på konferensen Öredev i Malmö och pratade om bland annat databasfrågor. InfluxDB har byggt ett eget frågespråk som till stor del är baserat på sql.

Funderade ni på InfluxDB att använda standard-sql som frågespråk?

– Nej, inte direkt. Vi visste att vi inte ville stöda hela sql, eftersom vi har ett specifikt användningsfall. Nu i efterhand ångrar jag ibland att vi baserade vårt frågespråk på sql, ett funktionellt språk hade varit bättre. Men våra kunder säger till oss att de gillar att vårt frågespråk är baserat på sql, det har varit en framgångsfaktor, säger Paul Dix.

Sql utmanas inte bara av specialiserade frågespråk. I många situationer är det vanligt att använda generella programmeringsspråk för att hantera data och definiera databasfrågor.

– Scala används mycket, till exempel för att jobba med plattformen Spark. Annars är Java vanligt i Hadoopsammanhang, säger Johan Pettersson, vd på konsultföretaget Big Data AB.

Läs också: Välj rätt i Amazons databasdjungel

Han berättar att han just nu för en diskussion med en kund om vilket språk som ska användas. I det fallet lutar det åt sql.

– Bland fördelarna med sql märks att det är många som kan det och att det finns utbildningar och verktyg tillgängliga. Det är lätt att komma i gång med sql.

Han påpekar också att det finns en del lösningar för att använda sql för att jobba med Hadoopdata.

– Men för vissa datamodeller, till exempel trädstrukturer, behövs det något annat än sql.

Den som är väl hemmastadd i sql lär fortfarande ha jobb att göra under de närmaste åren. Men räkna med att trycket ökar på att lära sig nya språk för att jobba med databaser, inte minst frågespråk.