緩く同期しながら複数端末でデータベース共有したい時の構成方法
緩く同期
- 常時ネット接続のサーバーはクラウドデータだけ。簡単に言えばdropbox。
他の端末はしばらくネットに繋がなかったりしつつ、各端末ができるだけ最新のDBと同期しながら更新を続けていく。
-> これはまさしくgit リポジトリだと思う。git の仕組みを使いたい。
git の内側
- 解説記事。わかりやすい。git はcommit, tree, blobのオブジェクトをハッシュ化してできている。
- commit は誰・いつ、コミットメッセージ、親のコミットメッセージ(前回コミット)、treeを持つ
- treeはファイル集合。パースできる。
- blobはファイル。
- 全員、ファイル名は自身のハッシュ
残課題
- git のコミットは編集を構成するオブジェクト(commit, tree, blob)の集合であることがわかった。
- あとは、push と pull, fetch mergeの仕組みがわかれば、ファイルオブジェクトだけでなくレコード管理するDBにも応用可能
こっちに少し書いてある。fast-fowardの話とかはないし、まだわからない部分ある。 Git - Gitの参照
fast-foward の話
https://www.kernel.org/pub/software/scm/git/docs/user-manual.html#_git_user_manual