A Facebook, Twitter, online banki tranzakciók és különféle internetes streaming szolgáltatások korában egy erősen adatvezérelt világban élünk. Attól függően azonban, hogy a gyorsaság vagy a pontosság a fontosabb, esetleg mindkettő elengedhetetlen, nem mindegy, milyen módszert használunk az adatkezelésre. Egy korábbi webináriumunk vendégeivel ezt a problémát próbáltuk meg kivesézni az SQL-re hangolva, ami máig az egyik legnépszerűbb megoldást jelenti a relációs adatbázisok kezelésére.
Velünk tartott Berke János, a Sun City Software Kft. ügyvezetője és vezető konzulens, aki több, mint két évtizede dolgozik IT vonalon fő fókuszában a Microsoft SQL Server adatbázis kiszolgálóval. Péter Bence CRM elemzőként ismerkedett meg az SQL alapjaival, illetve 4 éves System Analyst tapasztalata alatt sikerült rálátást nyerni, hogyan használható a nyelv JAVA környezetben, miként segíti a fejlesztést. Putovits Ábel pedig a DONE. Digital Kft. fullstack fejlesztőjeként csatlakozott hozzánk, aki közel négy év tapasztalattal rendelkezik nagy adatmennyiséget mozgató rendszerek fejlesztésében és üzemeltetésében.
Vendégeinket többek között arról kérdeztük, hogy miért épp az SQL-t választották, hogy mi a különbség a különböző SQL szerverek között, illetve milyen fejlesztői eszközöket használnak a mindennapokban. Az alábbiakban néhány kulcsgondolatot ki is gyűjtöttünk ezzel kapcsolatban cikkünkben, de ha van egy kis időd, a videóra kattintva érdemes visszanézni a teljes beszélgetést is!
Miért épp az SQL?
A Stuctured Query Language, röviden csak SQL már közel ötven éves múltra tekint vissza, a felhő alapú adattárolás korszakában pedig sokan meg is kérdőjelezik létjogosultságát. Népszerűsége mégis töretlen maradt az utóbbi években, ha meg nem nőtt, amit részben annak köszönhet, hogy kora ellenére is folyamatosan igyekszik tartani a lépést a modern fejlesztésekkel és igényekkel.
Berke János, a Sun City Software Kft. ügyvezetője, aki vendégeink közül a legrégebb óta foglalkozik adatkezeléssel és SQL szerverekkel például arról számolt be, hogy a húsz évvel ezelőtti és mai SQL szinte köszönőviszonyban sincs már egymással. Népszerűségének titkát akár adatkezelői, akár fejlesztői oldalról nézzük pedig sokoldalú használhatóságában és abban látja, hogy gyors és látványos sikereket érhetünk el a segítségével.
“Nagyon nagy sikerélményeket tud adni azoknak is akik kevés adattal és azoknak is, akik sok adattal dolgoznak. Ez a nagyszerű ebben, hogy mindent is lehet vele és hálás a dolog főleg, amikor az ember látja, hogy úgy működik, ahogy eltervezte.”
Putovits Ábel fullstack fejlesztőként közelítette meg az SQL népszerűségének kérdését. “Engem mindig is nagyon érdekelt egy adott szoftver életciklusa a legelejétől a legvégéig. Az elején értem azt, hogy adatstruktúrát tervezgetünk és sok esetben az adat az relációs és így relációs adatbázisban tároljuk. Így gyakorlatilag elkerülhetetlen, hogy egy fullstack fejlesztő ne találkozzon SQL-el, illetve ne kelljen használnia napi szinten.”
“Két kulcsszót mondanék a banki szektorból, mégpedig hogy az SQL az gyors és pontos” – emelte ki Péter Bence az SQL népszerűségének még két tényezőjét. – “Ahogy fejlődött a világ például régen papír alapon adták el az első váltót, vagy a részvényeknél csőben felküldték az eladási szándékot, azt valaki feldolgozta. Ma ezt az SQL rendkívül felgyorsítja. Rengeteg adatot kell egyszerre feldolgozni futási időben és pontosan kell elszámolni természetesen ezeket az árfolyamokat, aminek valós időben kell megtörténnie nagyon gyorsan, pontosan.”
Amikor egy-egy vállalat, vagy fejlesztő kiválasztja az adatkezeléshez használt szervert és módszert, elengedhetetlen, hogy ezeket is számításba vegye. A rendelkezésre álló rendszerek közül pedig még mindig kiemelkedő teljesítményre képes az SQL.
Mi a különbség a különböző SQL szerverek között?
Ha más Query nyelveket nem is veszünk számításba, még SQL szerver és SQL szerver között is találhatunk különbségekre. Vendégeink így arra is kitértek, hogy mi alapján születik meg általában a döntés arról, hogy melyikkel mennek majd tovább a projekt során.
“Mindig az adott feladatra kell eszközt válasszunk és az mindegy is, hogy open source vagy nem open source” – kezdett bele János, aki azt is kiemelte, hogy érdemes megnézni, milyen kompetencia van már meg házon belül és az kielégíti-e a projekttel kapcsolatos elvárásokat, mert nem mindig éri meg egy teljesen idegent választani.
“Például banki környezetben maradva visszautalva a pontosságra akkor az RDMB-es implementációk sokkal jobbak, de egy Facebook vagy egy Twitter esetén nem olyan fontos a pontosság, inkább a gyorsaság a nagy adathalmazoknak a kezelése” – folytatta a kérdés elemzését Bence. A házon belüli kompetenciákon kívül tehát azt is meg kell nézni, hogy mit kell igazán jól tudnia az adatbázist kezelő szerverünknek. Mik a felhasználók igényei?
Ábel például az open source világot képviselve osztotta meg tapasztalatait a kérdésben: “Nálunk inkább a válaszidő és a performancia fontosak. Egyrészt cégen belüli kompetencia miatt, másrészt nincs szükségünk olyanra, amit egy nagyvállalati enterprise adatbázis garantálna.”
Az SQL szerver és a fejlesztői eszközök
Habár az SQL-nek nagy szerepe van a programozás világán kívül is, például a marketing, a Data Science, vagy épp a machine learning területén, érdemesnek láttuk, hogy kitérjünk a hozzá kapcsolódó fejlesztői eszközökre is. Vendégeink pedig szívesen megosztották velünk az általuk használt fejlesztői eszközöket és technológiákat, amik a kezdő SQL szerver fejlesztők számára segítségül szolgálhatnak.
Ilyen például:
- a Groovy,
- a Java,
- a Hybernate,
- az Eclipse,
- a VS Code,
- a WebStorm,
- az SQL Server Management Studio,
- vagy az Azure Data Studio.
Ha szeretnél többet megtudni az SQL-ről, a relációs adatbázisok fejlesztéséről, vagy gyakorlati használatáról, nézd meg a BME-vel közös szervezésben induló képzéseinket. Már 3 hét alatt elsajátíthatod a leggyakoribb Adatbázis lekérdezések létrehozását SQL segítségével, ha pedig mélyebb tudásra vágysz, 12 hét alatt pedig megtanulhatod az Adatbázisok fejlesztését Microsoft SQL server környezetben.