Show HN: SQL Dry Runs with SQL Simulator
45 points| westonOG | 2 years ago |tribalknowledge.tech
It is similar in concept to Redgate SQL Clone or Windocs. If you are not familiar with these tools they make clones of your database. The key difference with SQL Simulator is, it only makes a clone of the database objects affected by your sql script, not the entire database. Nor does it copy the entire table (if your sql has where clauses). Once those database objects have been cloned, SQL Simulator then executes your script against the cloned database it created.
This software is only compatible with Oracle and SQL Server at the present time. My plan is to make it compatible with more databases in the future.
For a more in depth technical overview click here: https://docs.tribalknowledge.tech/ratifier-tutorials/sql-sim...
You can download the software here: https://www.tribalknowledge.tech/download.html
You can read the documentation here: https://docs.tribalknowledge.tech/ratifier-tutorials/sql-sim...
hamilyon2|2 years ago
The next I know, tool is closed source, tool is windows executable (?) and the third and most important, pricing page is 'contact us'. There is no way I am trying your tool or contacting you for a quote.
westonOG|2 years ago
"tool is closed source" I am open to changing to open source but I do not understand the business model yet.
"tool is windows executable" I created my program with C# and java. I had a sql server dev try to run it but he didn't have java installed on his computer. Apparently they have an intense dislike for java and avoid using programs that need java like the plague. LOL I guess I can't win either way?
"pricing page is 'contact us'" There is no lockout feature of the program that stops working after X days if you don't buy it. Also I am a 1 person startup. I am extremely flexible on pricing. I am not sure what people are willing to pay for it, so it is hard to put a price on it.
peter_l_downs|2 years ago
EDIT: after reading through the linked docs a bit more, I have to say that they are quite confusing. I'm not sure what the difference is between Ratifier, Kulvert, and SQL Simulator. I'd recommend finding a potential user and watching them go through the setup/install process and see where they have questions.
If anyone is interested in something similar for postgres, I recently released https://github.com/peterldowns/pgtestdb. It uses template databases and advisory locks to give each test its own unique database with a near-zero marginal cost for each additional test. Combined with a ram/tmpfs-backed postgres server that is tuned for performance, it goes extremely fast.
Currently just for golang but I'm planning on releasing equivalent-capability libraries for Python and Typescript over the next month. If anyone has any thoughts/comments/feedback/suggestions I'd be extremely thankful.
westonOG|2 years ago
I may need to create separate gitbooks for each of the programs so that would reduce the confusion. I hope you will find success with your product.
gwn7|2 years ago
I guess this tool probably has more utility though.
westonOG|2 years ago
ohlookabird|2 years ago
gavinray|2 years ago
In your demo video, when you run the following statement:
In the simulation DB schema, it picks up the FK from (payroll.employee_id <-> employee.id) and creates the employee table + inserts the related employee records for the affected payroll records in the parent statement.That's pretty nifty.
---
On an unrelated note, I think that creating an open-source version of this on the JVM using tools like jOOQ, SchemaCrawler, and Apache Calcite could be a fun weekend project.
westonOG|2 years ago
simonw|2 years ago
After clicking around a bit I found https://docs.tribalknowledge.tech/ratifier-tutorials/sql-sim... which indicates it works with both Oracle and SQL Server.
westonOG|2 years ago
remram|2 years ago
I wrote a fuse tool to provide copy-on-write for the file instead: https://github.com/remram44/cowblock
westonOG|2 years ago
sigg3|2 years ago
Cool project though. Since it's proprietary I'm less likely to pick it up, but I wish you the best.
westonOG|2 years ago
SoftTalker|2 years ago
A poorly formed query or WHERE conditions can put a potentially disabling load on a database server.
westonOG|2 years ago