5 IDE SQL s otevřeným zdrojovým kódem, které se můžete naučit a prozkoumat

, Author

Pokud hodně pracujete s jazykem SQL, pravděpodobně jste použili nějakou formu IDE SQL, které vám pomohlo tuto práci dokončit. Ano, vše v SQL je možné dělat z příkazového řádku; ale vytvářet nebo dokonce udržovat databáze a tabulky tímto způsobem je cvičení v masochismu. Existuje několik pěkných komerčních IDE, jako je dbArtisan a SQL Server’s Management Studio, ale IDE je jednou z oblastí, kde si open-source poradí stejně dobře (nebo v některých případech dokonce lépe).

To je obzvláště důležité, protože na trhu komerčních databází se začíná projevovat vliv cloudu (tj. SAAS). Důvody zahrnují poskytovatele služeb, kteří ve větší míře využívají databáze s otevřeným zdrojovým kódem, a také vzestup alternativ, jako je NoSQL. Webové stránky statista naznačují, že celosvětové příjmy z komerčních databází budou v následujících letech nadále klesat.

Pro tento článek jsem vybral pět klientů SQL: Squirrel, HeidiSQL, DBeaver, Tora a OmniDB. HeidiSQL a Squirrel už nějakou dobu používám, takže začneme druhým jmenovaným.

Squirrel

Squirrel byl oblíbenou volbou klienta v bance, kde jsem před pěti lety pracoval, protože dávali přednost Javě, a v té je také napsán. Sybase se také hojně používala (nebyla to zrovna nejoblíbenější databáze) a Squirrel je jeden z mála klientů, který s ní umí komunikovat. (Pokud doma počítáte skóre, Sybase byla také předchůdcem SQL Serveru). Squirrel zaškrtává všechny hlavní databáze (Oracle, DB2, Informix, Ingres, SQL Server, SAPDB a Sybase) a mnoho dalších a má za sebou sedmnáctiletou historii.

Ale Squirrel byl nakonec v bance zakázán ve výrobě, hlavně kvůli jeho schopnosti podporovat současné relace s více databázemi. Několikrát mu došla paměť, což způsobilo problémy s živými databázemi; za to si vysloužil červenou kartu. Pro šíři záběru (díky JDBC) jej lze vřele doporučit, ale dávejte si pozor, kolik relací spouštíte; čím více paměti máte, tím lépe.

HeidiSQL

Jen o polovinu mladší než Squirrel, HeidiSQL byl poslední tři roky mým osobním favoritem. Má sice omezenější nabídku databází (k dispozici máte pouze MySQL/MariaDB, SQL Server a PostgreSQL), ale mnohým to stačí. Zjistil jsem, že je velmi rychlý, což je pro projekty, jako je tabulka o 29 milionech řádků, životně důležité; SQL příkaz select count (*) proti MariaDB spuštěný na mém počítači trvá asi dvě minuty.

Myslím, že velká část rychlosti je dána tím, že používá vlastní ovladače a připojuje se přímo, ne přes ODBC. Zvláště dobré jsou funkce importu/exportu a dávkového importu:

Další příjemnou funkcí je možnost spouštět velké soubory SQL (například exporty záloh) přímo bez jejich načítání do okna dotazu: Při psaní dotazu SQL se sloupce aktuálně vybrané tabulky zobrazí v dalším okně spolu s funkcemi a klíčovými slovy SQL a vlastními úryvky. Když pracujete s živými i vývojovými databázemi, je možnost snadno přesouvat velké bloky dat velmi důležitá.

HeidiSQL je určen pro Windows, ale prostřednictvím emulátoru Wine jej lze používat i jinde v Linuxu a Macu (ale upřímně řečeno, stejně rád bych použil Squirrel nebo DBeaver).

DBeaver

DBeaver je další SQL klient poháněný Javou; stejně jako konektor JDBC má velkou sadu databází, ke kterým se může připojit. Existuje verze Enterprise, která zahrnuje podporu databází NoSQL (Cassandra, MongoDb a Redis), ale já jsem zkoumal komunitní edici.

V průvodci připojením lze vyzkoušet velký seznam databází; já jsem si vybral SQLite, protože mám 600 MB velkou databázi vytvořenou pro jeden projekt před několika lety. S touto databází to fungovalo bezchybně a udělalo to na mě dojem. I když stále dávám přednost HeidiSQL, velmi rád bych DBeaver použil, kdyby se naskytla příležitost.

Jednu věc je třeba zmínit: DBeaver neinstaluje ovladače na začátku, ale načítá je podle potřeby (to je velmi „Eclipse-like“). Je to pravděpodobně proto, že je postaven na platformě Eclipse, takže pokud jste na ni zvyklí, budete se cítit jako doma. Rozhodně jsem s tím neměl žádné problémy; připadalo mi to velmi svižné. Nabídka exportních formátů zahrnuje CSV, HTML a XML, stejně jako JSON a Markdown.

Výhodou Javy pro tento program i pro Squirrel je, že nejste omezeni platformou; DBeaver obsahuje instalace pro Debian i RPM pro Linux, stejně jako pro Windows a Mac.

Tora

Napsaná v C++, Tora jsem si vybral jako jeden z pěti, protože podporuje Oracle a má PL/SQL debugger. Je multiplatformní a testovaná s GCC, Clangem a MSVC 2013/2015. Kromě Oracle podporuje MySQL, PostgreSQL a další databáze prostřednictvím ODBC. Před 13 lety se stal open source.

Jak se dalo očekávat, Tora používá pro uživatelské rozhraní Qt a je rychlá, ale působí trochu zastarale, zejména při připojování k MySQL. Pokud pracujete s Oracle a nemáte komerční software, použijte Tora; ale pro MySQL/PostgreSQL nebo některý z HeidiSQL je pravděpodobně lepší Squirrel a DBeaver.

OmniDB

OmniDB je trochu jiná než ostatní. Je napsaná v Pythonu a instaluje lokální webový server a prohlížeč. Mezi podporované databáze patří Oracle, MySQL, MariaDB a PostgreSQL. Databáze SQLite, SQL Server, DB2 a Firebird nejsou v současné době podporovány, ale jsou zjevně v plánu.

Nejsem obecně příznivcem webových grafických rozhraní, ale toto vypadalo skvěle a funguje velmi dobře. HeidiSQL a DBeaver poskytují lepší import/export, ale OmniDB je otevřená návrhům na budoucí vývoj. Stejně jako oba javovští klienti je OmniDB multiplatformní a má nejmodernější vzhled a ovládání.

Závěr

Jsem zvyklý na HeidiSQL, ale funkce DBeaveru na mě udělaly dojem. Veverka je velmi solidní a vyspělá. OmniDB vypadá pěkně, i když je v tuto chvíli trochu odlehčený co do funkcí; asi byste neuhodli, že používá CMS Django. Tora je docela dobrá, ale mohla by mít lepší konektivitu.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.