ವಿಷಯಕ್ಕೆ ಹೋಗಿ

ಸಮನ್ವಯ

bae ಯ ಸಮನ್ವಯ coven ನ ಸಮನ್ವಯ: bae ತನ್ನ ಪಟ್ಟಿಗಳು ಮತ್ತು blobs ಘೋಷಿಸುತ್ತದೆ, coven ಉಳಿದದ್ದನ್ನು ಮಾಡುತ್ತದೆ. ಈ ಪುಟ mechanics bae ಗೆ ಹೇಗೆ ಅನ್ವಯಿಸುತ್ತವೆ ಎಂಬುದು; coven ನ ಸ್ವಂತ docs ಪ್ರತಿಯೊಂದು ಭಾಗವನ್ನು ಪೂರ್ಣ ಆಳದಲ್ಲಿ ವಿವರಿಸುತ್ತವೆ.

coven SQLite ಸಂಪರ್ಕವನ್ನು ಹೊಂದಿರುವುದರಿಂದ, bae commit ಮಾಡುವ ಪ್ರತಿಯೊಂದು ಬರಹ ಅದರ ಮೂಲಕ ಹೋಗುತ್ತದೆ. SQLite ನ session ವಿಸ್ತರಣೆ ಪ್ರತಿಯೊಂದು transaction ನಲ್ಲಿ ಏನು ಬದಲಾಯಿತು ಎಂಬುದನ್ನು ನಿಖರವಾಗಿ ದಾಖಲಿಸುತ್ತದೆ; ಸಮನ್ವಯಿತ ಪಟ್ಟಿಗಳ ಬದಲಾವಣೆಗಳು ಬದಲಾವಣೆಸಂಚಯ ಆಗುತ್ತವೆ, ಗ್ರಂಥಾಲಯ ಕೀಯಿಂದ sealed ಮತ್ತು ಸಾಧನದ ಗುರುತು ಕೀಯಿಂದ signed. diffing ಇಲ್ಲ, dirty flags ಇಲ್ಲ: ಹಿಡಿತ ಸಂಪರ್ಕದ ಗುಣ, ಮತ್ತು ಬರಹ ತಪ್ಪಿಸಿಕೊಳ್ಳುವುದಿಲ್ಲ.

ಪ್ರತಿಯೊಂದು ಸಾಧನ ತನ್ನ ಬದಲಾವಣೆಸಂಚಯಗಳು ಅನ್ನು ಮೇಘ ಮನೆಯಲ್ಲಿನ ತನ್ನದೇ ಹರಿವಿಗೆ ಸೇರಿಸುತ್ತದೆ, ಕ್ರಮಾಂಕಿತವಾಗಿ. ಸಾಧನಗಳು ಪರಸ್ಪರದ ಹರಿವಿಗೆ ಎಂದಿಗೂ ಬರೆಯುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಸಂಗ್ರಹದಲ್ಲಿ ಬರಹ ಘರ್ಷಣೆಗಳು ಇಲ್ಲ, ಮತ್ತು ಪ್ರತಿಯೊಂದು ಸಾಧನ ಸಹಸಾಧನ ಹರಿವು ಪ್ರತಿ cursor ಹಾದಿ ಹಿಡಿಯುತ್ತದೆ. ಸಮನ್ವಯ ಸುತ್ತು ಸ್ಥಳೀಯ outbox ಅನ್ನು push ಮಾಡುತ್ತದೆ, ನಂತರ ಪ್ರತಿಯೊಂದು peer ಹರಿವನ್ನು ತನ್ನ cursor ನಿಂದ ಮುಂದೆ pull ಮಾಡಿ, ಪ್ರತಿಯೊಂದು ಬದಲಾವಣೆಸಂಚಯ ನ signature ಮತ್ತು ಅದರ author ನ ಸದಸ್ಯತ್ವ ಪರಿಶೀಲಿಸಿ ಅನ್ವಯಿಸುತ್ತದೆ.

ಸುತ್ತು ಸ್ಥಳೀಯ ಬದಲಾವಣೆಗಳ ನಂತರ, backoff ಇರುವ idle timer ಮೇಲೆ (poll ಗಳು ಐದು ನಿಮಿಷಗಳವರೆಗೆ ಅಂತರ), ಮತ್ತು Sync Now ಮೇಲೆ ತಕ್ಷಣ ನಡೆಯುತ್ತದೆ. ವಿಫಲತೆಗಳು ಹಿಂದಕ್ಕೆ ಸರಿದು ಮರುಪ್ರಯತ್ನಿಸುತ್ತವೆ; loop ಪ್ರತಿಯೊಂದು ಸುತ್ತಿನ ಫಲಿತಾಂಶವನ್ನು UI ಗೆ ಸ್ಥಿತಿ, ದೋಷ ಪಠ್ಯ, ಮತ್ತು ಅನ್ವಯಿಸಿದ ಸಾಲುಗಳ ಸಂಖ್ಯೆಯಾಗಿ ತಿಳಿಸುತ್ತದೆ.

ಬೇರೆಬೇರೆ ಇರುವಾಗ ಒಂದೇ ಗ್ರಂಥಾಲಯ ತಿದ್ದುವ ಎರಡು ಸಾಧನಗಳು ಸಾಮಾನ್ಯ ಪರಿಸ್ಥಿತಿ, ಹೊರತಲ್ಲ. ಅವುಗಳ ಬದಲಾವಣೆಗಳು ಸೇರಿದಾಗ:

  • different rows or different columns ಗೆ ತಿದ್ದುಪಾಡಿಗಳು ಎರಡೂ ಅನ್ವಯಿಸುತ್ತವೆ. laptop ನಲ್ಲಿ ಬಿಡುಗಡೆ ವರ್ಷ ತಿದ್ದು, desktop ನಲ್ಲಿ ಅದರ ಲೇಬಲ್ ತಿದ್ದಿದರೆ ಎರಡೂ ಸಿಗುತ್ತವೆ.
  • same column of the same row ಗೆ ತಿದ್ದುಪಾಡಿಗಳು ಸಾಲಿನ _updated_at hybrid logical clock ಮೂಲಕ ಕ್ರಮಿಸಲ್ಪಡುತ್ತವೆ: ನಂತರದ ತಿದ್ದುಪಾಡಿ ಗೆಲ್ಲುತ್ತದೆ, ನಿರ್ಧಾರಾತ್ಮಕವಾಗಿ ಮತ್ತು ಪ್ರತಿಯೊಂದು ಸಾಧನದಲ್ಲಿ ಒಂದೇ ರೀತಿಯಾಗಿ.
  • Deletes win ಸಮಕಾಲೀನ ತಿದ್ದುಪಾಡಿಗಳ ಮೇಲೆ: ಒಂದು ಸಾಧನದಲ್ಲಿ ಅಳಿಸಿದ ಬಿಡುಗಡೆ ಅದೇ ಅವಧಿಯಲ್ಲಿ ಇನ್ನೊಂದು ಸಾಧನ ತಿದ್ದಿದ್ದರೂ ಅಳಿಸಿದಂತೆಯೇ ಉಳಿಯುತ್ತದೆ.

ಘರ್ಷಣೆ UI ಇಲ್ಲ, ಏಕೆಂದರೆ ಪರಿಹರಿಸದ ಸ್ಥಿತಿ ಇಲ್ಲ: ಯಾವ ಅನ್ವಯ ಕ್ರಮದಿಂದಲಾದರೂ ಪ್ರತಿಯೊಂದು ಸಾಧನ ಅದೇ ಫಲಿತಾಂಶಕ್ಕೆ ಸೇರುತ್ತದೆ.

ಸೇರುವ ಅಥವಾ ಮರುಪಡೆಯುವ ಸಾಧನ history ಅನ್ನು ಆರಂಭದಿಂದ replay ಮಾಡುವುದಿಲ್ಲ. ಅದು ಸ್ನ್ಯಾಪ್‌ಶಾಟ್ ಡೌನ್‌ಲೋಡ್ ಮಾಡುತ್ತದೆ, ಮೇಘ ಮನೆಗೆ ನಿಯಮಿತವಾಗಿ ಪ್ರಕಟವಾಗುವ ಪೂರ್ಣ SQLite image, ನಂತರ ಪ್ರತಿಯೊಂದು ಹರಿವು ಅದರ ನಂತರ ಸಂಗ್ರಹಿಸಿದ ಬದಲಾವಣೆಸಂಚಯಗಳು ಮಾತ್ರ ಅನ್ವಯಿಸುತ್ತದೆ. ಸ್ನ್ಯಾಪ್‌ಶಾಟ್ ಮೆಟಾಡೇಟಾ ರೂಪರಚನೆ ಆವೃತ್ತಿ ಮತ್ತು ಅದು ಹೊಂದಿರುವ ಪ್ರತಿ-ಹರಿವಿನ cursors ದಾಖಲಿಸುತ್ತದೆ.

bae ರೂಪರಚನೆ ಸಂಖ್ಯೆಯ ಮೆಟ್ಟಿಲಿನ ಮೂಲಕ migದರ ಆಗುತ್ತದೆ, ಮತ್ತು ಮೆಟ್ಟಿಲಿನ ಮೇಲಿನ ಹಂತ ಪ್ರತಿಯೊಂದು ಸಾಧನ ಬರೆಯುವ ಬದಲಾವಣೆಸಂಚಯ ಮೇಲೆ ಮುದ್ರಿತ. ಸಾಧನ ತನ್ನದಕ್ಕಿಂತ ಹೊಸ ರೂಪರಚನೆ ಯ ಬದಲಾವಣೆಸಂಚಯ ಎಳೆದರೆ, ಆಪ್ ನವೀಕರಣವಾಗುವವರೆಗೆ ಆ ಹರಿವನ್ನು park ಮಾಡುತ್ತದೆ, ಅದರ ನಂತರದ್ದೇನೂ ಅನ್ವಯಿಸುವುದಿಲ್ಲ; ಏನೂ ಕಳೆದುಹೋಗುವುದಿಲ್ಲ ಮತ್ತು ತಪ್ಪಾಗಿ ಅನ್ವಯಿಸುವುದಿಲ್ಲ. ಡೇಟಾಬೇಸ್ ಕಡತ ತಾನೇ ತನ್ನ ರೂಪರಚನೆ ಗಿಂತ ಹಳೆಯ binary ಅಡಿಯಲ್ಲಿ ತೆರೆಯಲು ನಿರಾಕರಿಸುತ್ತದೆ.

ರೂಪರಚನೆ ಆವೃತ್ತಿ ಗಿಂತ ದೊಡ್ಡದು compatibility era: ಪ್ರತಿಯೊಂದು binary ಒಳಗೆ baked ಆಗಿರುವ pinned coven revision. ಎರಡು builds ಒಂದೇ era ಒಳಗೆ ಮಾತ್ರ ಸಮನ್ವಯಗೊಳ್ಳುತ್ತವೆ; coven wire-ಸ್ವರೂಪ break ಹೊಸ era ಮತ್ತು ಪ್ರತಿಯೊಂದು ಆಪ್‌ನಲ್ಲಿ major version bump. Pre-1.0 ನಲ್ಲಿ, ಪ್ರತಿಯೊಂದು build era zero ಮತ್ತು ಸ್ವರೂಪಗಳು migration ಇಲ್ಲದೆ ಬದಲಾಗುತ್ತವೆ.

ಒದಗಿಸುವವರು ಏನು ನೋಡುತ್ತಾರೆ

ಈ ವಿಭಾಗಕ್ಕೆ ಲಿಂಕ್

opaque ಮನೆಯಲ್ಲಿ ಒದಗಿಸುವವರು ciphertext ಬದಲಾವಣೆಸಂಚಯಗಳು, ciphertext blobs, ಮತ್ತು signed ಸದಸ್ಯತ್ವ ದಾಖಲೆಗಳು ಸಂಗ್ರಹಿಸುತ್ತಾರೆ; ವಸ್ತುಗಳನ್ನು ಎಣಿಸಬಹುದು ಮತ್ತು ಗಾತ್ರ ಹಾಗೂ ಸಮಯವನ್ನು ಗಮನಿಸಬಹುದು, ಆದರೆ ಯಾವುದನ್ನೂ ಓದಲು ಸಾಧ್ಯವಿಲ್ಲ. ಸಾಧನ ಎಳೆಯುವ ಪ್ರತಿಯೊಂದು ವಸ್ತು signature ಮತ್ತು ಸದಸ್ಯತ್ವ ಪರಿಶೀಲಿಸಿದ ನಂತರ ಮಾತ್ರ ಡೇಟಾಬೇಸ್ ಮುಟ್ಟುತ್ತದೆ: ಸಂಗ್ರಹವು ಮೂಕ, ನಂಬಲಾರದ mailbox. ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಮತ್ತು ಗುರುತು ಮತ್ತು ಸದಸ್ಯತ್ವ ನೋಡಿ.