Re: [請益] 大型Git版本庫的備份或替代方案
※ 引述《popcorny (畢業了[email protected]@")》之銘言:
: 分享一下我們開發的工具
: https://artivc.io/
:
: 用法跟 git 很類似,但是就是拿來備份大的檔案。
: 更精確的說是 snapshot 檔案,每個版本類似 git 的 commit
:
: 有支援,可以參考
: https://artivc.io/use-cases/backup/
: 目前有支援 local, remote(透過ssh), 還有 aws s3, google cloud storage, azure blob
: 我們工具只要是連得到你存放的位置,都可以同步
: 但是也先說明一下,目前我們的東西對 linux 跟 mac 比較友善
: 如果要在 windows 用可能要裝 WSL
: 相關資訊在這裡 https://artivc.io/usage/windows-supports/
: 有問題也可以私訊我
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.25.57.79 (臺灣)
: ※ 文章網址: https://www.ptt.cc/Soft_Job/M.1649817739.A.49E
: 推 jackyhuang: 看起來和git非常相似,好奇開發這套的動機是什麼? 04/14 23:53: 推 chchwy: 回樓上 不就為了版控大檔? 04/18 19:49
感謝詢問,來說說動機
首先 git 是 source code version control
ArtiVC 是給 data version control
這是最大的不同
source code 需要好的 diff/branch/merge 的機制
所以 git 的解決方法是每個 local 都有 local repository
所以你的所有 version control 的動作都是在 local 做
最後再透過 push/pull/fetch 跟遠端同步
但是這樣做對 data version control 的缺點是
有時候 data 太大,你可能只要一個版本的資料
再來就是 git server 成本太高,所以 github/gitlab 都有檔案上限
當然有很多人試著從 git extension 做解決。
業界比較有名的兩個 git lfs 跟 dvc
git lfs 是 github 出的, https://git-lfs.github.com/
他讓server多了一個endpoint專門處理大檔案,他會特別的處理。
但是缺點也很明顯
第一個價錢不便宜,
第二個不能放在自己的 storage (例如s3)
再來就是你要特別指定哪些東西叫做大檔案
另外一個是 dvc https://dvc.org/
dvc 不在 server 做手腳
而是 client 自己有兩個 repo,一個是 git repo,一個是 dvc repo
但是很麻煩的也是,你要指定哪些在 git,哪些在 dvc
但是 dvc 是可以把資料放在所有主流的 cloud storage。
但是如果有做資料的人可能都有同樣的想法
我的大資料要放哪? 當然是放在 s3 或是各個雲端平台的 cloud storage
如果資料要放那,那為什麼我版控還需要另外一個 git server 去做版控?
何不直接在 cloud storage 做版控?
如果我一個 service 就可以解決的 service,那為什麼要兩個 service?
不管用 git lfs 或是 dvc,data就是二等公民
即使你的 project 沒有 code,你還是需要開個 git repo
可能有人會說,可是我就是想要 data 跟 code 一起 version control 啊
我會跟你說,code的進版跟data的進版是兩回事
例如你有個 project 是要爬股票資料
你可能寫好了之後 code 都不需要再動了
但是你的 data 會一直進版啊,因為永遠都有新的資料。
另外有人可能會說,我根本不需要版控啊
反正我在 s3 上面每有新版本就開心目錄就好了
以我的經驗來講,做 data project 有些時候data producer
跟 data consumer 是不同人
對於一些不定時更新的 data,我還是希望有版號
最好可以像是 git 一樣,我可以 pull 最新版本,或是很明確我用的是哪個版本
data version control 不是必要,但是是一個好的 practice
就像 source version control,我們還是可以開目錄或是包個zip/tgz檔名放版號
但是如果要有更好的quality 更好的 process,就需要更多的工具輔助
而回到動機,就是我覺得 data version control
所有的 data version 應該發生在你放data的storage
不是 git repo,也不是一個外部的一個 dataset/model registry
而是你的 s3,你的 datalake,或是你的NFS server
--
推
git lfs有收費喔!還以為是免費的
git lfs本身是open source,但用github上的超過額度要錢
要錢的產品,還有一個選擇 "Perforce"
lfs 有人有做plug-in 可以改變 blob的reference路徑,gith
ub 找一下就有了
有看有推
推分享
有下有推
lfs.url表示:...
抱歉,我git lfs說得不夠精確 如果你自己架git lfs server,當然有機會放在別的storage.. github有open source他們的git lfs reference implementation 也有人推放到支援放到s3的方案 但是這都是可行但是不會我選擇的方案 理由是如果要那麼麻煩就去用dvc就好了, 會選擇 git lfs 對我只有一個考量,就是我的git repo說有支援git lfs 然後我也不care資料實際放在哪裡,可存的量跟費用我可以接受 但不管怎麼樣,這都說明了現在放version control 大檔的難處 只是為了這個需求還要operate一個git lfs server是否太搞剛?
※ 編輯: popcorny (114.25.88.185 臺灣), 04/23/2022 06:59:09給推
thanks for the explanation!
就算git lfs不是first class citizen...他們在git下XD
爆
Re: [心情] 有年薪300的隊友 老婆還是不滿意笑死了 這篇通篇就可以看得出來為啥你老婆堅持要去賺更多錢 雖然在這個版我的觀點應該會被罵 但我還是要以身為男人的立場說明 ※ 引述《alias2005 (意笑雲城一登樓)》之銘言:爆
[問卦] 有生的跟你說羨慕你沒生…是幹話嗎?小弟年近40,婚後約10年,目前膝下無子。 我爸媽或岳父母以前會催 但我考量很多因素,不想生,我老婆也不想生,所以他們長輩也就放棄了哈 只是我們自己的親戚朋友,或是堂哥姐,表弟妹等等,大多是同年齡層的 總會跟我們說,好羨慕你們沒有生小孩喔,可以過兩人世界真好,想去那就去拿,又說養爆
[閒聊] 提到宮本武藏 你第一個想到的版本是哪一個?如題啦 就你現在腦海想到的那個宮本武藏 是哪一個版本的宮本武藏? 肥宅我小時候第一次接觸到宮本武藏是小叮噹名刀電光丸90
Re: [寶寶] 寶寶取了我不喜歡的名字看了原文非常有感 我們夫妻大概就是推文裡所謂的 很有guts的爸媽吧 兒子出生後我們左思右想名字煞費苦心 夫妻吃飯散步常常都在思考ing20
Re: [請益] Spring boot的依賴注入降低耦合的例子在這個時代依賴注入最重要的用途,特別是在後端開發是讓Application 在多個不同的 環境下(Development, Production, local, etc) 能夠根據profile 組出能正確執行的Application 多型在這裡當然有他的地位,但是一般來說,大部分不接觸system boundary的service objects 是不太需要多型的,如果是java,那種一個interface 只有一個implementation9
[請益] git rebase的問題各位好 本人在近來在公司需要將專案中某個pull request的commit統合成一個 下圖為pull request,本公司用的是bitbucket 我看了一些網路教學和youtube,仍然想不出解法。我的做法如下:7
Re: [問卦] 用VIM + gcc寫程式都是怎樣的人正確的問題是怎樣的公司而不是怎樣的人。 如果你在國外跟女友旅遊, 到了飯店的餐廳,料理放在面前, 抱怨相處時間少的女友難得露出了笑容。 這時有豬隊友把server搞掛了還沒辦法透過git還原,1
[問卦] 欸欸,git好用欸!最近學了一點git 雖然還不會合併 但是 哇! 光是版本管理就很爽惹