1. 24
  1. 8

    See also Irmin

    1. 2

      There’s also noms which has been around longer.

      1. 2

        Dolt uses noms internally, but it doesn’t seem like noms is a ready end-user product. Dolt is a UI layer and workflow for end-users on top of noms.

    2. 7

      My understanding of the GDPR is that it requires user data to have a retention period. This means that if a user leaves we eventually have to hard delete their data. Maybe my understanding is off, but does Dolt allow this? The comparable operation in git would be history rewriting, which is frowned upon in public histories.

      1. 3

        The blockchain GDPR problem

        1. 3

          This means that if a user leaves we eventually have to hard delete their data.

          That is not true. One need to make PII, non-business critical, information unreadable, that doesn’t mean that all data need to be deleted, nor that account deletion is request for deleting data.

          About allowing to do so, there are 2 ways to achieve that:

          • store PII in separate DB and just reference between these two
          • encrypt data with per-user key, and delete key on user request.
          1. 1

            Yeah, key shredding is a great approach. Saw this a bunch at Google.

          2. 1

            You’re not wrong, this is a big problem for people who store customer data.

            The solution we have for now is basically rebase. You censor the offending fields in the entire history. This means everybody has to re-clone.

            As we mature we’ll look into less disruptive ways to achieve the same thing.

          3. 7

            What are some interesting use cases for this?

            1. 7

              The most interesting one currently is paying people to crowdsource large data sets. We just ran a couple large bounties that paid $25k and $10k:



              There’s another one going on for $10k right now.

              But most people who are paying us money for the product are using it as an application server, basically to replace MySQL or postgres. They want to be able to manage versioning of their production database like git.

              There’s a ton of use cases though, it’s a really cool product.


              1. 2

                Are there any real-world analysis being done on DoIt’s election precinct data?

                1. 2

                  Not that I know of, but it’s only a month old.

                  We recently announced we’re going to be partnering with OpenElections to fill out the rest of the data for 2020, so a more complete set of data might spur further interest.


            2. 4

              I was a little surprised that a local system settings of “email address” for dolt the tool was overwritten (er … without history or diffs!) by the email address used by dolthub when that account was created (and since I auth’d with github, that became a private address not used for anything else). Easy enough to fix via shell history, but the irony amuses me.

              They’re pretty up-front about the billing model for orgs, which is at least a nice change and avoids the bait-and-switch which has had people upset with, eg, Docker Hub. It’s not the cheapest around but I guess if you’re actually using this, you’ll want it:

              Sign up for a DoltHub Pro subscription for the ability to create private repositories for free, up to 1 GB.

              After the first GB, you are billed $50/month, which includes the first 100 GB of storage. Each additional 10 GB/month is $1.

              but since ssh is not mentioned as a remote when they talk about the available ones in the readme, it means that for sensible tinkerer-use there aren’t so many options for sharing. Anyone played enough to know what the sanest local-network hosting is? I’d try Minio, but the AWS support in dolt looks like it requires Dynamo too (presumably as a lock service).

              1. 2


                1. I’m quite comfortable with git, but I don’t care for its low level CLI API.
                2. I tend to advocate for designing (not copying) interfaces for the purpose at hand. To be clear, borrowing interface ideas is good, as long as they fit the need.
                3. So, I tend to be skeptical when I see that Git’s CLI API was copied for another use case.

                Still, I’m trying to be open minded and listen to how other people use it. Would anyone like to share some experience reports of how DoIt’s API worked for you? For people less familiar with Git?

                1. 2

                  More like Git for MySQL, but alright, seems cool.

                  1. 1

                    Let’s put this in every application and instead of transactions just rely on the history ;)

                    1. 7

                      That’s pretty much the idea behind event-sourcing