Stellar

Dev tools

database version control

SHOW HN2014

325points
77comments
#41of 2,272 in 2014
Top 2%of 2014 by points

How HN took it

RoastedHalf or more of the comments are critical

6 positive, 11 neutral or asking, 1 mixed, 18 critical, out of 36 comments about the project. Thread score -0.36.

Idea: 5 for, 4 againstDocs: 0 for, 7 againstExecution: 0 for, 4 againstPerformance: 0 for, 3 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Useful for quickly restoring database state between development workflows

    From 2 comments
    • The use case which this really excites me about is automated testing from the GUI level. If the performance is good enough, this would be really useful for restoring DB state in…
      killing_time on HN
    • Suppose I'm working on a new feature branch and I run a bunch of migrations and add new data. Then I need to go make a bug fix on the master branch. Using Stellar, I could just…
      michaelmior on HN
  • Excellent project for managing development databases

    From 2 comments
    • I expected something related with Stellar coins. Looks like a good project, I definitely want an easy way to manage development databases.
      iurisilvio on HN
    • Unfortunate name, excellent project :)
      codeoclock on HN

Objections

  • Name and 'git' comparison are misleading; it is not version control

    From 4 comments
    • Why does the author compare it to Git? The functions this software performs are no where near those performed by Git. Nor it is a proper version control system.
      m3h on HN
    • To elaborate on what this comment may be referring to. A Ripple (cryptocurrency) fork was recently released with the name of Stellar.
      gexla on HN
    • Folks might confuse this with the Stellar currency (stellar.org). You might give some emphasis in the title.
      edem on HN
    • So it's yet another toy project with grandiose, overblown claims ("git for databases"? seriously?!) An honest update to the README would be to take the whole thing down several…
      mbca on HN
  • Documentation lacks explanation of how it works and failure modes

    From 4 comments
    • I wish projects like these would always include some basic info in their README about: (1) how it works, and (2) how it might fail.
      mbrock on HN
    • Totally agree, peoples needs to know how it works before starting using it.
      areski on HN
    • How does it work? Where does it breakdown? Why are these things not in the README?
      JohnDotAwesome on HN
    • Seconded. The extent of what I know about this project is: 1. It's like git somehow? 2. I can run some commands which presumably do something? 3. That something happens faster…
      danudey on HN
  • Not stable enough for production use and can lose data

    From 1 comment
    • I have regularly used this with database that's nearing 1000 megabytes. I don't particularly mind slow snapshotting because my workflow is more about restoring database back to…
      obsession on HN
  • Snapshot copying is slow and space-heavy on larger databases

    From 2 comments
    • So, it appears to just copy tables around within the database. I wouldn't want to use this on a DB over a few MB in size. Sure, restores are "fast" (a table rename), but copies…
      falcolas on HN
    • Why not use a binary backup method? Faster to backup and restore.
      falcolas on HN
  • Table name handling in SQL construction looks injection-prone

    From 2 comments
    • From the code: ``` INSERT INTO %s.%s SELECT * FROM %s.%s ``` Yeah, good luck with that.
      Gigablah on HN
    • Line 53 of https://github.com/fastmonkeys/stellar/blob/master/stellar/operations.py is ``` CREATE TABLE %s.%s LIKE %s.%s ``` This made me think of a table called ``` create table…
      swehner on HN

Requests

  • Better README explaining how it works and where it fails

    From 3 comments
    • I wish projects like these would always include some basic info in their README about: (1) how it works, and (2) how it might fail.
      mbrock on HN
    • How does it work? Where does it breakdown? Why are these things not in the README?
      JohnDotAwesome on HN
    • Just a small correction; it's not PostreSQL, it's PostgreSQL.
      ZenoArrow on HN
  • Practical examples

    From 1 comment
  • Separation of schema and data changes with branching and merging

    From 2 comments
    • Generally the hardest thing with version control on a database (for an evolving codebase) is separating unrelated changes - such as schema changes vs content updates - and…
      robert_tweed on HN
    • I'd love a tool that solves that problem. Schema / data / user / permission migrations, support for both production and development environments and integration with CM tools…
      akurilin on HN

Questions

  • How does it compare to existing migration tools and transactional DDL

    From 3 comments
    • This sort of thing is useful, but already supported by Postgres through transactional DDL. Migrations that fail will have their transaction reverted.
      lucian1900 on HN
    • This sounds like something Sqitch would help with. http://sqitch.org
      baudehlo on HN
    • What if you're writing a migration that includes DML, and it fails partway through? Wouldn't it be good to be able to restore the DB state automatically and try again?
      mdellabitta on HN
  • How does it compare to time travel queries or temporal databases

    From 1 comment
    • how does this compare to time travel queries? http://en.wikipedia.org/w/index.php?title=Temporal_database#cite_ref-SQL2011_1-2
      iso8859-1 on HN

Alternatives named

  • Sqitch

    From 1 comment
    • This sounds like something Sqitch would help with. http://sqitch.org
      baudehlo on HN
  • shmig

    From 1 comment
    • FWIW, I found shmig [1] much simpler than sqitch. Last I used sqitch, it returned a zero value on error, which made me leery of using it for scripted deployments. [1]…
      mbucc on HN
  • LVM snapshots and mylvmbackup

    From 3 comments
    • Why not use a binary backup method? Faster to backup and restore.
      falcolas on HN
    • Agreed. I've been successfully using mylvmbackup on 10gb+ databases for a few years now. http://www.lenzg.net/mylvmbackup/
      martin_ on HN
    • Column-oriented databases virtually all feature this in the form of column compression (e.g. "repeat this value for the next 1000 rows"). And if you don't want column…
      personZ on HN
  • Irmin

    From 1 comment
    • If anyone's interested in git-like storage systems then it's work checking out Irmin [1]. Previous discussion is at [2]. Excerpt: "Irmin is a library to persist and synchronize…
      amirmc on HN
  • Datomic

    From 1 comment
    • Have you looked at Datomic? It seems to fit your problem description well.
      symfrog on HN
  • DBSteward

    From 1 comment
    • While not exactly the same thing, I've recently found and started using https://github.com/nkiraly/DBSteward to specify schema and then store the spec in my repo with the code.…
      jimktrains2 on HN
  • mysqldump

    From 1 comment
    • Nothing wrong with the syntax, it's just that if you're going to create an entire mirror of your database, you might as well use mysqldump. (Plus it'll actually be portable).
      Gigablah on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/8211575)