5 Open-Source SQL IDEs for You to Learn and Explore

, Author

Jeśli zrobiłeś dużo z SQL, prawdopodobnie użyłeś jakiejś formy SQL IDE, aby pomóc Ci ukończyć tę pracę. Tak, możliwe jest zrobienie wszystkiego w SQL z linii poleceń; ale tworzenie lub nawet utrzymywanie baz danych i tabel w ten sposób jest ćwiczeniem masochizmu. Istnieje kilka ładnych komercyjnych IDE, takich jak dbArtisan i SQL Server’s Management Studio, ale IDE to jeden z obszarów, w którym open-source radzi sobie równie dobrze (a w niektórych przypadkach nawet lepiej).

Jest to szczególnie istotne, ponieważ wpływ chmury (tj. SAAS) zaczyna być odczuwalny na komercyjnym rynku baz danych. Powody obejmują dostawców usług, którzy w większym stopniu wykorzystują bazy danych typu open-source, a także wzrost alternatyw takich jak NoSQL. Witryna statista sugeruje, że globalne przychody z komercyjnych baz danych będą nadal spadać w nadchodzących latach.

Do tego artykułu pięć klientów SQL, które wybrałem, to Squirrel, HeidiSQL, DBeaver, Tora i OmniDB. Przez jakiś czas używałem HeidiSQL i Squirrel, więc zacznijmy od tego ostatniego.

Squirrel

Squirrel był popularnym wyborem klienta w banku, w którym pracowałem pięć lat temu, ponieważ preferowali Javę, a właśnie w niej jest napisany. Sybase był również szeroko wykorzystywany (nie była to najpopularniejsza baza danych), a Squirrel jest jednym z niewielu klientów, którzy mogą z nim rozmawiać. (Jeśli liczysz punkty w domu, Sybase był również przodkiem SQL Servera). Squirrel obsługuje wszystkie główne bazy danych (Oracle, DB2, Informix, Ingres, SQL Server, SAPDB i Sybase), plus wiele innych, i ma 17-letnie doświadczenie.

Ale Squirrel został ostatecznie zakazany w produkcji w banku, głównie z powodu jego zdolności do obsługi jednoczesnych sesji z wieloma bazami danych. Kilka razy zabrakło mu pamięci, powodując problemy z bazami danych na żywo; to spowodowało, że dostał czerwoną kartkę. Ze względu na szeroki zasięg (dzięki JDBC) jest bardzo polecany, ale uważaj, ile sesji uruchamiasz; im więcej masz pamięci, tym lepiej.

HeidiSQL

Już o połowę młodszy od Squirrel, HeidiSQL był moim osobistym faworytem przez ostatnie trzy lata. Jest bardziej ograniczony w zakresie baz danych (masz tylko MySQL/MariaDB, SQL Server i PostgreSQL), ale dla wielu osób to wystarczy. Uważam, że jest bardzo szybki, co jest istotne dla projektów takich jak tabela o 29 milionach wierszy; polecenie SQL select count (*) przeciwko MariaDB działającej na moim komputerze zajmuje około dwóch minut.

Myślę, że duża część szybkości wynika z tego, że używa własnych sterowników i łączy się bezpośrednio, a nie przez ODBC. Szczególnie dobre są funkcje importu/eksportu i importu wsadowego: Możesz uruchamiać duże pliki SQL (takie jak eksport kopii zapasowych) bezpośrednio bez ładowania ich do okna zapytań.

Inna miła funkcja: Podczas pisania zapytania SQL, aktualnie wybrane kolumny tabeli są wyświetlane w innym oknie wraz z funkcjami SQL i słowami kluczowymi, plus własne snippety. Kiedy pracujesz z bazami danych zarówno na żywo, jak i dla deweloperów, możliwość łatwego przenoszenia dużych bloków danych jest bardzo ważna.

HeidiSQL jest dla Windows, ale może być używany gdzie indziej poprzez emulator Wine na Linuksie i Macu (ale szczerze mówiąc, równie dobrze mógłbym używać Squirrel lub DBeaver).

DBeaver

DBeaver jest kolejnym klientem SQL opartym na Javie; podobnie jak złącze JDBC, ma duży zestaw baz danych, z którymi może się łączyć. Istnieje wersja Enterprise, która zawiera obsługę baz danych NoSQL (Cassandra, MongoDb i Redis), ale zbadałem edycję społecznościową.

Istnieje duża lista baz danych do wypróbowania w kreatorze połączeń; wybrałem SQLite, ponieważ mam 600 MB bazę danych utworzoną dla projektu kilka lat temu. Program działał z tą bazą bezbłędnie i byłem pod wrażeniem. Chociaż nadal wolę HeidiSQL, z przyjemnością skorzystałbym z DBeaver, gdyby nadarzyła się okazja.

Jedna rzecz do zauważenia: DBeaver nie instaluje sterowników na początku, ale pobiera je, gdy ich potrzebujesz (jest to bardzo „Eclipse-like”). To prawdopodobnie dlatego, że jest zbudowany na platformie Eclipse, więc jeśli jesteś do tego przyzwyczajony, będziesz się czuł jak w domu. Z pewnością nie miałem z nim żadnych problemów; był bardzo szybki. Zakres formatów eksportu obejmuje CSV, HTML i XML, a także JSON i Markdown.

Zaletą Javy zarówno w tym, jak i w Squirrel jest to, że nie jesteś ograniczony przez platformę; DBeaver zawiera zarówno instalacje Debiana, jak i RPM dla Linuksa, a także Windows i Maca.

Tora

Pisana w C++, wybrałem Torę jako jeden z pięciu, ponieważ obsługuje Oracle i ma debugger PL/SQL. Jest wieloplatformowy i testowany z GCC, Clang i MSVC 2013/2015. Oprócz Oracle, obsługuje MySQL, PostgreSQL i inne bazy danych poprzez ODBC. Stał się open source 13 lat temu.

Jak można się spodziewać, Tora używa Qt do interfejsu użytkownika i jest szybki, ale czuje się trochę przestarzały, zwłaszcza podczas łączenia się z MySQL. Jeśli pracujesz z Oracle i nie masz komercyjnego oprogramowania, użyj Tory; ale dla MySQL/PostgreSQL, lub któregokolwiek z HeidiSQL, Squirrel i DBeaver jest prawdopodobnie lepszy.

OmniDB

OmniDB jest trochę inny od reszty. Jest napisany w Pythonie i instaluje lokalny serwer WWW i przeglądarkę. Obsługiwane bazy danych to Oracle, MySQL, MariaDB oraz PostgreSQL. Bazy danych SQLite, SQL Server, DB2 i Firebird nie są obecnie obsługiwane, ale są wyraźnie na mapie drogowej.

Nie jestem fanem GUI sieciowych ogólnie, ale ten wyglądał świetnie i działa bardzo dobrze. HeidiSQL i DBeaver zapewniają lepszy import/eksport, ale OmniDB jest otwarty na sugestie dotyczące przyszłego rozwoju. Podobnie jak dwa klienty Java, OmniDB jest wieloplatformowy i ma najbardziej nowoczesny wygląd i odczucia.

Wnioski

Jestem przyzwyczajony do HeidiSQL, ale funkcje DBeaver zrobiły na mnie wrażenie. Squirrel jest bardzo solidny i dojrzały. OmniDB wygląda nieźle, choć w tej chwili jest trochę za mało funkcjonalny; prawdopodobnie nie zgadłbyś, że używa CMS Django. Tora jest całkiem niezła, ale przydałaby się lepsza łączność.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.