5 nyílt forráskódú SQL IDE, amit megismerhetsz és felfedezhetsz

, Author

Ha sokat dolgoztál már SQL-el, valószínűleg használtál már valamilyen SQL IDE-t, hogy segítsd a munka elvégzését. Igen, mindent el lehet végezni az SQL-ben a parancssorból; de az adatbázisok és táblázatok létrehozása vagy akár karbantartása ilyen módon mazochista gyakorlat. Van néhány szép kereskedelmi IDE, például a dbArtisan és az SQL Server Management Studio, de az IDE egy olyan terület, ahol a nyílt forráskódú programok ugyanolyan jól (vagy bizonyos esetekben még jobban) működnek.

Ez különösen fontos, mivel a felhő (azaz a SAAS) hatása kezd érezhetővé válni a kereskedelmi adatbázisok piacán. Ennek oka többek között az, hogy a szolgáltatók nagyobb mértékben használják a nyílt forráskódú adatbázisokat, valamint az alternatívák, például a NoSQL felemelkedése. A statista weboldal szerint a kereskedelmi adatbázisokból származó globális bevétel az elkövetkező években tovább fog csökkenni.

A cikkhez az általam választott öt SQL kliens a Squirrel, a HeidiSQL, a DBeaver, a Tora és az OmniDB. Egy ideje már használom a HeidiSQL-t és a Squirrel-t, ezért kezdjük az utóbbival.

Squirrel

A Squirrel népszerű kliensválasztás volt abban a bankban, ahol öt évvel ezelőtt dolgoztam, mivel a Java-t részesítették előnyben, és ez az, amiben íródott. A Sybase-t is széles körben használták (nem éppen a legnépszerűbb adatbázis volt), és a Squirrel egyike azon kevés klienseknek, amelyek tudnak vele beszélni. (Ha otthon tartod a számlát, a Sybase volt az SQL Server őse is). A Squirrel az összes nagy adatbázis (Oracle, DB2, Informix, Ingres, SQL Server, SAPDB és Sybase), valamint még sok más adatbázis esetében is kipipálható, és 17 éves múltra tekint vissza.

A Squirrel azonban végül betiltották a banknál a termelésben, főleg azért, mert képes volt támogatni a több adatbázissal való egyidejű munkameneteket. Néhányszor kifogyott a memóriából, ami problémákat okozott az élő adatbázisoknál; ezért piros lapot kapott. A lefedettség szélessége miatt (a JDBC-nek köszönhetően) erősen ajánlott, de figyeljünk arra, hogy hány munkamenetet futtatunk; minél több memóriával rendelkezünk, annál jobb.

HeidiSQL

Alig több mint fele annyi idős, mint a Squirrel, a HeidiSQL az elmúlt három évben a személyes kedvencem volt. Az adatbázisok körét tekintve korlátozottabb (csak MySQL/MariaDB, SQL Server és PostgreSQL érhető el), de sokaknak ez is elég. Nagyon gyorsnak találtam, ami létfontosságú az olyan projekteknél, mint például egy 29 millió soros táblázat; egy select count (*) SQL parancs a számítógépemen futó MariaDB ellen körülbelül két percet vesz igénybe.

A sebesség nagy része szerintem annak köszönhető, hogy saját meghajtókat használ, és közvetlenül csatlakozik, nem ODBC-n keresztül. Különösen jók az import/export funkciók és a kötegelt importálás: A nagy SQL-fájlok (például a biztonsági mentések exportálása) közvetlenül futtathatók anélkül, hogy be kellene tölteni őket a lekérdezési ablakba.

Egy másik szép funkció: SQL-lekérdezés írása közben az aktuálisan kiválasztott táblázat oszlopai egy másik ablakban jelennek meg az SQL-funkciókkal és kulcsszavakkal, valamint a saját snippetekkel együtt. Amikor éles és fejlesztői adatbázisokkal egyaránt dolgozol, nagyon fontos, hogy nagy adattömböket tudj könnyen mozgatni.

A HeidiSQL Windowsra készült, de a Wine Emulatoron keresztül Linuxon és Macen máshol is használható (de hogy őszinte legyek, én inkább a Squirrel-t vagy a DBeaver-t használnám).

DBeaver

ADBeaver egy másik Java-alapú SQL-kliens; a JDBC-konnektorhoz hasonlóan nagyszámú adatbázishoz tud csatlakozni. Van egy Enterprise verzió, amely NoSQL adatbázis-támogatást is tartalmaz (Cassandra, MongoDb és Redis), de én a közösségi kiadást vizsgáltam.

A csatlakozási varázslóból kipróbálható adatbázisok nagy listája; én az SQLite-ot választottam, mivel van egy 600 MB-os adatbázisom, amelyet egy néhány évvel ezelőtti projekthez készítettem. Azzal az adatbázissal hibátlanul működött, és le voltam nyűgözve. Bár még mindig jobban szeretem a HeidiSQL-t, nagyon szívesen használnám a DBeavert, ha erre lehetőség adódna.

Egy dolgot érdemes megjegyezni: a DBeaver nem telepíti a drivereket az induláskor, hanem akkor hívja le őket, amikor szükség van rájuk (ez nagyon “Eclipse-szerű”). Ez valószínűleg azért van, mert az Eclipse platformra épül, így ha ehhez hozzászoktál, akkor otthonosan fogod érezni magad. Nekem mindenesetre nem volt vele problémám; nagyon fürgének éreztem. Az exportformátumok között szerepel a CSV, HTML és XML, valamint a JSON és Markdown.

A Java előnye mind ennél, mind a Squirrelnél, hogy nem korlátoz a platform; a DBeaver tartalmaz Debian és RPM telepítést Linuxra, valamint Windowsra és Macre is.

Tora

A C++-ban írt Tora-t azért választottam az öt közül, mert támogatja az Oracle-t és van PL/SQL debugger. Platformokon átívelő, és GCC-vel, Clanggal és MSVC 2013/2015-tel tesztelt. Az Oracle mellett támogatja a MySQL-t, a PostgreSQL-t és más adatbázisokat is ODBC-n keresztül. Nyílt forráskódúvá vált 13 évvel ezelőtt.

Amint az várható volt, a Tora Qt-t használ a felhasználói felülethez, és gyors, de egy kicsit elavultnak tűnik, különösen a MySQL-hez való csatlakozáskor. Ha Oracle-lel dolgozol, és nincs kereskedelmi szoftvered, használd a Torát; de a MySQL/PostgreSQL, vagy bármelyik HeidiSQL, a Squirrel és a DBeaver valószínűleg jobb.

OmniDB

Az OmniDB egy kicsit más, mint a többi. Python nyelven íródott, és egy helyi webszerver és böngésző telepítését végzi. A támogatott adatbázisok közé tartozik az Oracle, a MySQL, a MariaDB és a PostgreSQL. Az SQLite, SQL Server, DB2 és Firebird adatbázisok jelenleg nem támogatottak, de egyértelműen szerepelnek az útitervben.

Nem vagyok általában a webes GUI-k híve, de ez jól nézett ki és nagyon jól működik. A HeidiSQL és a DBeaver jobb import/exportot biztosít, de az OmniDB nyitott a jövőbeli fejlesztési javaslatokra. A két Java klienshez hasonlóan az OmniDB is cross-platform, és a legmodernebb kinézettel rendelkezik.

Következtetés

A HeidiSQL-hez vagyok szokva, de a DBeaver funkciói lenyűgöztek. A Squirrel nagyon szilárd és kiforrott. Az OmniDB szépnek tűnik, bár jelenleg egy kicsit könnyűnek tűnik a funkciókban; valószínűleg nem is gondolnád, hogy a Django CMS-t használja. A Tora elég jó, de jobb csatlakozási lehetőséggel rendelkezik.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.