Hacker News new | past | comments | ask | show | jobs | submit login
Jailer, a unique open-source database tool (github.com/wisser)
116 points by jailertool2 on Aug 8, 2023 | hide | past | favorite | 28 comments



This was posted just yesterday by a user "jailertool". Did you make a new username just to repost?

https://news.ycombinator.com/item?id=37032304


For those wondering: Seems to be coded in Java and supports a decent number of SQL databases:

PostgreSQL

Oracle

MySQL

MariaDB

Mirosoft SQL Server

IBM Db2

SQLite

Sybase

Amazon Redshift

Firebird

Informix Dynamic Server

H2

Exasol

My only "negative feedback" since I dont have time to test it out so far is the name of the tool. Jailer does not imply database management to me. When I think of jailer I think of containers, I guess databases can be seen as container types.

Personally I have a JetBrains license so I usually just opt to use DataGrip (Which I have some minor gripes against) most of the time. Although a lot of the time I use HeidiSQL for MySQL / MariaDB since I got too used to it.

I will have to see if I have time to try this tool next.


you should check azure data studio, they have a plugin for few databases other then ms sql server

  * Postgresql
  * MySQL
  * Oracle
And maybe more


Replibyte also does this and supports anonymization: https://www.replibyte.com/docs/introduction

You might want to combine a subsetting tool with an anonymizing tool like this one:

https://datanymizer.github.io/docs/


"Replibyte" is a toy. This thing operates seriously on database dumps - a text file full of "insert" statements (what DBMS often generates like this, but no guarantee)


Do you mean it is a toy because it only works on database dumps or..? I can imagine that querying, filtering and traversing relations will be harder with only a textual dump.


It operates on database dumps. That alone is absurd. Database dumps are not public interfaces. And they are really not suitable for mass data processing.

You have a DBMS available, but all you ask from it is a dump of all data in a format that can only be used as an archive or transfer format. And yet you think you can process this data reasonably?


> would you expect to be congratulated on your unusually high IQ?

I guess your "you" is not directed at me, as I basically wondered the same.

Replibyte seems like to use a highly unpractical way as I explained, but I meant to ask wether you only found the implementation to be bad, or that you also found it lacking in other terms.


The browsing-through-relationships features looks very, very, cool. One-click "see related rows" would save me a ton of time every day, as I use TablePlus, where I often find myself manually copying foreign keys as I switch between related tables. Anyone know of any other apps that do this, as this is Windows only?


+1. I work with data from different applications dumped into one database. Analytics. Often you cannot enforce foreign key relations and you need to define these relationships. Jailer allows you to define these relationships and then you can explore the data by following you defined relationships. This is so useful when working in analytics. I have never actually used jailer to subset but to explore data and to demo data to users. You can quickly find a piece of data by filtering on the field and then retrieve related rows in other tables. This is way faster than writing the SQL out.

Thank you to the author(s). Great underated tool that takes a bit of effort to understand.


I'm glad you like it. It is not only available for Windows, but also for macOS/linux and others. (It is a Java application)


Is this supposed to be a generic drop in replacement for cross platform admin tools like Dbgate or Dbeaver? Or is it more of a specialized tool to do a specific thing?


Not being familiar with Java apps, can any reader tell me the best way to run this on macOS? From the CLI?


This has a Linux build too. The releases contain a .deb file.


It took them time. I had asked the same problem few months ago [0]. I needed a tool to subset a huge PostgreSQL db. The choices where Condenser [1] and this Jailer. Since I'm not a Java guy, I was struggling to know how to properly run this Jailer. I'm glad they released a .deb format. But I ended up using Condenser.

[0]: https://news.ycombinator.com/item?id=35975606 [1]: https://github.com/TonicAI/condenser


Java is a huge plus over Python for me, namely type checking and ease of deployment.

I don't know either jailer or condenser, but I know that jailer@java has an unreasonable better change to have less bugs then condenser@python. Like you already noticed, condenser produces errors during run time.


I just took a quick look at condenser application you linked. Only supports Postgresql and MySQL. This is often the case with none Java tools. They tend to support a select few number of databases. With tools that support JDBC you will be able to connect to most databases. That is often my challenge as someone who works in BI.


May I ask why you decided to use a condenser?


We’ve used this tool to subset a decent sized database (~1500 tables, mostly 5th normal form) with success. The UI is pretty good for exploring the database and getting a configuration up and running.

The resulting configuration is in plain text which makes it very easy to commit to source control and even batch edit.

Extracting data can be done on the command line without running the UI and is thus well suited for pipelines.

We had a few questions and the author was very friendly and helped us understand how to solve our issues.

Big +1 from me.


Any support for remote server connections via SSH? My RDBMS instance is not exposed publicly, and is only accessible over SSH.


If you have any problems with this tool, you can contact the developers. Either here (preferred): https://github.com/Wisser/Jailer/issues

or here (no registration necessary): https://sourceforge.net/p/jailer/_list/tickets


Can you do SSH tunneling? That would be transparent to any other tooling.


as wcerfgba pointed out, SSH tunnel is the way to go.


Jailer works well with ssh port forwarding.


Looking Beyond the shitty title that doesn’t tell you why it’s “unique” until you click the link (and it is not unique anyway), I can’t imagine this tool will provide consistent value for a user. Sure, every now and then, you’ll want to trace back relationships strictly defined by a user at some point… but what meaningful business use cases are there?


The use cases are right there in the first section. You're being a dick to the authors just because you don't understand why this is useful. Please take a moment and chill.


The tool is aimed more at developers/quality assurance specialists. So people who have a more technical view of the data. It is therefore not much about business cases.

Furthermore, the relationships do not have to be defined manually either. Rather, they are automatically recognized based on the database metadata. (However, manual entry is also possible).


Moreover, it is not just a "tool", but "tools". In addition to the data browser that you are talking about here, there is also the "subsetter" (for extracting consistent subsets of a database). And for sure this tool is unique.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: