I would consider using facebook if there were articles like that. Not sure why you consider this a problem... "Because I can" is a good enough reason to do anything that doesn't cause harm to others.
> "Because I can" is a good enough reason to do anything that doesn't cause harm to others.
It's hard to tell in advance how any action may impact others. The extreme example: jumping off a bridge doesn't physically harm others. But having to look at, examine, or otherwise interact with your corpse may inflict trauma on others.
Using git for so many things (it's a database! it's a blockchain! it's a dessert topping! It's a floor wax! [1]) does start to smell of "I have a hammer, and luckily everything looks like a nail if I squint enough". But it is fun to see how folks have stretched git into so many directions, even if some of them are more useful than others.
I don't see it that way - version control in general turns out to be highly applicable in many areas far beyond source code. I think it's still under-utilized.
Yes, it's extremely common to see applications which need a datastore to end up needing lots of version control type features later on, which end up implemented ad-hoc over a general database.
Git is an abstraction over file trees (or even more generally just chunks of data), and it turns out a ton of problems in software are easily modeled and dealt with as files in a tree.
It doesn't appear to be doing much more than replication though. https://litestream.io does that for sqlite already. (Edit for clarity) GitDB seem to have more "distributed" ideas in their roadmap for v3 maybe.
Really don't get it and would like to understand.
Let's say I don't need a full DB.
Why use it instead of, let's say, sqlite?
I know devops uses git itself for storing and pulling out stuff for their automations. Is it in that direction?
Putting a sqlite db in a git repo doesn't work well, it's just an opaque blob to git so you can't merge changes beyond "wipe out every other change and accept this as the new complete state of the world".
I've been imagining a similar concept, but using linting rules to create an optimized file tree with a SQL API to manipulate and query the data programmatically. You could even use a traditional text editor to manage the data.
"KayaCar, a distributed kayak with wheels to drive on the streets of San Francisco"
Might be because of my ignorance of other areas of human activity, though...
It's hard to tell in advance how any action may impact others. The extreme example: jumping off a bridge doesn't physically harm others. But having to look at, examine, or otherwise interact with your corpse may inflict trauma on others.
ahem... https://www.youtube.com/watch?v=bHpCEUSWt7Q&ab_channel=BeTRI...
[1] SNL, 1976: https://www.nbc.com/saturday-night-live/video/shimmer-floor-... (may not work in all regions, sorry)
(edited link)
I dislike Go, but I bet gitdb is easier to use
Git pull to receive updates, Git push to send your updates. No idea how/if it handles merge conflicts.
Also - you could have db “branches”.