Dbeaver databashanterare

Om du som jag hanterar en mängd olika sorters databaser och växlar mellan verktygen, då kan jag rekommendera Dbeaver. Dbeaver är open source, fri att ladda ned, finns till Windows, Linux och MacOS. Gränssnittet är snyggt och funktionellt. Och det bästa är till sist: den kan koppla upp mot en mängd olika sorters databaser.

Dbeaver finns i två versioner, en öppen version som heter CE (Community edition) och en stängd kommersiell som heter EE (Enterprise edition). EE har allt som CE har + stöd för noSQL databaser såsom MongoDb, Cassandra med flera.

Läs mer on Dbeaver på Wikipedia, deras hemsida och på Github. Eller fortsätt läsa här…

Enterprise-versionen

CE versionen av Dbeaver har inte stöd för noSQL databasservrar såsom Cassandra och MongoDb. Det finns däremot i EE versionen. EE versionen kostar 99 dollar (idag 806 Kronor) och för det får du EE versionen och dessutom fria versionsuppgraderingar under ett år. Om du är student kan du ansöka om att få EE versionen gratis. Du kan testa EE versionen i två veckor utan att betala. EE versionen har stöd för MongoDB, Cassandra, Redis, Apache Hive, WMI. Jag är väldigt sugen på att se stödet för Redis. Använder Redis mycket.

Installera

Gå till deras hemsida och ladda ned den CE version som passar för ditt operativsystem.

Databasstödet

Dbeaver har ett omfattande databasstöd. Just nu har jag bara fyra databastyper tillgängliga så här nedan är snabbtester hur det går att jobba med dem i Dbeaver.

Microsoft Access

Jag kör numera Ubuntu och MacOS på mina datorer. År 1991-2006 körde jag enbart Windows och mitt favoritverktyg var Microsoft Access. Det kunde fortfarande ha varit det om Microsoft hade släppt Access till Linux och Mac. Jag har en ansenlig mängd med Access-databaser. Det har varit en resa att konvertera dem till MySQL. Det jobbet är inte klart.
Jag blev väldigt paff när Dbeaver på Linux öppnar Access databaser utan. Det går att se alla tabeller och all data. Stödet är inte stabilt, börjar den trilskas så fortsätter den. Men det påverkar inte de andra databaserna.

Mina Access-databaser är gjorda i Access 2000 och 2003. Det går inte att ändra i datat på grund av att de använder index som Dbeaver inte har support för. Men vad gör väl det så länge man kommer åt datat och kan konvertera det till andra databasmotorer.

MySQL (och MariaDb)

MySQL är världens mest populära databasserver (SQLite är världens mest populära databasmotor). Stödet för MySQL är klanderfritt och fungerar toppen. Jag föredrar Dbeaver framför MySQL Workbench.

Om du använder MacOS så finns fantastiska SequelPro att tillgå. Jag vill påstå att Dbeaver vid första anblicken är nära men inte riktigt på samma trimmade nivå som SequelPro.

PostgreSQL (PSQL)

PostgreSQL har väldigt mycket funktioner. Det är lätt att springa vilse bland alla begrepp. Jag väljer därför oftast andra databasservrar som är lättare att hantera. Det kanske blir ändring på det nu när stödet i Dbeaver är så bra. Det var inga problem att koppla upp mot PostgreSQL. Men som alltid bör du ha koll på användare, lösenord, rättigheter, förvald databas, portar, hosts – då är det inga problem.

SQLite

Gudars skymning vad lätt det var att koppla upp mot en SQLite-fil. SQLite har den fördelen att det är en databasmotor (Precis som MS Access är), SQLite är ingen server. Du kopplar upp dig direkt mot databasfilen. Det har fungerat perfekt med SQLite.
Hur man SKAPAR en SQLite-databas i Dbeaver har jag inte listat ut än. SQLite-filen är EN databas med tabeller medan med databasservrarna som MySQL och PostgreSQL kopplar man upp till servern och skapar databaser där. Det får jag kolla på senare.

Övriga databaser

Det finns stöd för mängder med databastyper. Här är några av de vanligare: SAP, Sybase, Oracle, MS SQL Server, Ingres, Infomix, Hadoop, HSQLDB (Used in LibreOffice Base), Firebird, IBM DB2. Och mer därtill. Du ser inga noSQL-databastyper i listan, de finns i Enterprise-versionen av Dbeaver.

Funktioner

Dbeaver passade mig direkt. Mycket av konceptet återfinns redan i verktyg som phpMyAdmin, pgAdmin III, SequelPro, MySQL Workbench och så vidare. Det var enkelt att känna igen sig och börja använda verktyget.

Tabellurval

Jag saknar i Dbeaver att snabbt kunna göra urval i en tabell.
Å andra sidan går det att högerklicka på ett fält och enkelt bygga upp ett SQL-uttryck som gör urvalet åt dig. Det urvalet finns sedan som sökhistorik snabbt att återanvända.

Granska data

Fält med löptext visas på en rad med synliga radmatningstecken. Du kan visa hela den riktiga texten i en sidopanel. Mycket smidigt. Byter du post så uppdateras panelen.

SQL uttryck

Det finns en smidig SQL editor som hjälper dig att skriva rätt och föreslår databasnamn och tabellnamn medan du skriver. Du kan bara ignorera dem och fortsätta skriva eller välja med tangenterna något av det den visar. Det hjälper bra att undvika stavfel.

När du kört SQL-uutrycket får du upp utvalet på samma sätt som om du tittar på en tabell. Alla finesser är där, du kan till och med göra mer urval. Oerhört smidigt.
Sidopanelen för att granska data finns också där. Ser att det finns en auto-refresh också så man kan få ett uppdaterat urval. Mycket smart när man ska bevaka en integration till exempel.

Du kan ha så många SQL editorer du vill, de öppnas i flikar precis som allting annat.

Visa andra

Ofta ska jag visa andra vad jag hittat i databasen. Det blir ett skärmskott, en bild som laddas upp och jag delar sedan en webbadress. Dbeaver har gjort det hela mycket smartare, det finns en knapp som växlar till textläge så du snabbt kan markera den del av informationen du vill visa och kopiera den.

path                          |bubble
——————————|—————————————–
infohub_storagedemo/bar/foo/d |{¶    ”david”: ”hello”,¶    ”email”: ”dav
infohub_storagedemo/foo/bar/a |{¶    ”adam”: ”hello”,¶    ”email”: ”adam

Oerhört praktiskt och smart.

Vill du visa all data som finns i en post så växlar du smabbt över till postläge och får då all information överskådlig. Växlar du dessutom till textläge så kan du få med all information om en post.

Name  |Value
——|———————————-
path  |infohub_storagedemo/foo/bar/a
bubble|{
”adam”: ”hello”,
”email”: ”adam@a.com”,
”name”: ”Adam”
}

Export och Import

Stödet för att exportera MySQL-databaser finns genom att högerklicka på en MySQL-uppkoppling och välja ”Tools” >> här finns allt som behövs för att exportera och importera MySQL-databaser.
En sak som ibland ställt til det för mig är när MySQL-databaser i Magento Enterprise exporteras, då finns det DEFINERs som ställer till det när man importerar databasen på en annan server. Här går det att få bort dessa redan i exporten.
Behöver senare kolla om Dbeaver exporterar till en textfil med SQL kommandon.
Det är ytterst viktigt att export och import fungerar för de andra databastyperna också. Jag får kolla senare hur det fungerar med det.

Migrera mellan databastyper

Det har jag inte testat ännu. Jag får kolla det någon dag och uppdatera texten.

Operativsystem

Jag har testat Dbeaver i Ubuntu 17.04 med OpenJDK (Öppen javamotor), och kommer att testa den i MacOS.
Stödet för olika databastyper kommer från Java så man kan hoppas att det inte är någon skillnad mellan operativsystemen.

 

CharZam