추가 전용

Append-only

부록 전용은 새로운 데이터를 저장소에 추가할 수 있는 컴퓨터 데이터 저장소의 속성이지만, 기존 데이터는 불변한다.

접근 제어

많은 파일 시스템의 액세스 제어 목록은 "애플리케이션 전용" 권한을 구현한다.

  • 리눅스의 chattr은 추가 전용 플래그를 파일과 디렉터리로 설정하는 데 사용할 수 있다.이것은 에 해당한다.O_APPEND깃발을 [1]꽂다
  • NTFS ACL은 "폴더 만들기/데이터 추가"에 대한 제어권을 가지고 있지만, 데이터를 불변하게 유지하지는 않는 것 같다.[2]

많은 클라우드 스토리지 제공업체는 액세스를 추가 전용으로 제한할 수 있는 기능을 제공한다.[3]이 기능은 특히 백업 중인 시스템이 시스템의 백업을 삭제하거나 암호화할 수 있는 랜섬웨어에 감염된 경우 백업 정책에 대한 데이터 손실 위험을 줄이는 데 중요하다.[4][5]

데이터 구조

많은 데이터 구조데이터베이스불변의 객체를 구현하여 효과적으로 데이터 구조를 추가 전용으로 만든다.추가 전용 데이터 구조를 구현하면 데이터 일관성 보장, 성능 향상,[6] 롤백 허용 등 많은 이점이 있다.[7][8]

표준적인 추가 전용 데이터 구조는 로그 파일이다.로그 구조 파일 시스템과 데이터베이스에서 발견된 로그 구조 데이터 구조는 유사한 방식으로 작동한다: 데이터에 발생하는 모든 변경(트랜잭션)은 프로그램에 의해 기록되며, 프로그램을 검색할 때 프로그램은 이 로그 파일에 있는 데이터 조각들을 결합해야 한다.[9]블록체인은 모든 거래를 검증할 수 있도록 로그에 암호화를 추가한다.

추가 전용 데이터 구조는 하드웨어 또는 소프트웨어 환경에 의해 요구될 수도 있다.

  • 모든 물체는 순기능 프로그래밍 언어로 불변하며, 모든 기능이 순수하고 글로벌 상태가 존재하지 않는다.[10]
  • 플래시 저장 셀은 지우기 전에 한 번만 쓸 수 있다.플래시 드라이브에서 지우는 것은 한 번에 많은 셀을 덮는 페이지 수준에서 작동하므로, 각 페이지는 가득 찰 때까지 추가 전용 셀 세트로 처리된다.[9][11]
  • 대상 자기 기록을 사용하는 하드 드라이브는 트랙에 쓰는 것이 보통 나중에 이웃한 트랙을 가로지르기 때문에 무작위로 쓸 수 없다.따라서 드라이브의 각 "구역"은 추가 전용이 된다.[12][6]

추가 전용 데이터 구조는 시간이 지남에 따라 증가하며, 역사에서만 발견되는 "스테이일" 데이터 전용 공간은 점점 더 늘어나고 이러한 데이터를 분석하는 데 더 많은 시간이 낭비된다.다수의 추가 전용 시스템은 현재 버전과 선택적으로 몇 개의 오래된 버전만 포함하는 새로운 구조가 생성되도록 다시 쓰기(쓰레기 수집 복사)를 구현한다.[7][13]

참고 항목

참조

  1. ^ chattr(1)Linux 사용 설명서 – 사용자 명령
  2. ^ "powershell - How to give "only append" access to user in windows , for logging purposes". Server Fault.
  3. ^ Jim Donovan (September 11, 2018). "Why Use Immutable Storage?". Wasabi.
  4. ^ Eugene Kolodenker, William Koch, Gianluca Stringhini,Manuel Egele (April 2017). "PayBreak: Defense Against Cryptographic Ransomware". Proceedings of the 2017 ACM on Asia Conference on Computer and Communications Security: 599–611. doi:10.1145/3052973.3053035. Due to the threat of ransomware targeting the key vault, our implementation stores the harvested key material into an append-only file protected with Administrator privileges.{{cite journal}}: CS1 maint: 작성자 매개변수 사용(링크)
  5. ^ Pont, Jamie; Abu Oun, Osama; Brierley, Calvin; Arief, Budi; Hernandez-Castro, Julio (2019). "A Roadmap for Improving the Impact of Anti-ransomware Research". Secure IT Systems, Proceedings of 24th Nordic Conference, NordSec 2019. Springer International Publishing. pp. 137–154. ISBN 978-3-030-35055-0.
  6. ^ a b Magic Pocket Hardware Engineering Teams. "Extending Magic Pocket Innovation with the first petabyte scale SMR drive deployment". dropbox.tech.
  7. ^ a b "Redis Persistence". Redis.
  8. ^ "Additional Notes". Borg Deduplicating Archiver 1.1.11 documentation.
  9. ^ a b Reid, Colin; Bernstein, Phil (1 January 2010). "Implementing an Append-Only Interface for Semiconductor Storage" (PDF). IEEE Data Eng. Bull. 33: 14–20.
  10. ^ "Thirteen ways of looking at a turtle". F# for fun and profit. Retrieved 2018-11-13.
  11. ^ "NVMe Zoned Namespace". ZonedStorage.io. The internals of Solid State Drives are such that they implement a log-structured data structure, where data is written sequentially to the media.
  12. ^ Jake Edge (March 26, 2014). "Support for shingled magnetic recording devices". LWN.net. Retrieved December 14, 2014.
  13. ^ Brewer, Eric; Ying, Lawrence; Greenfield, Lawrence; Cypher, Robert; T'so, Theodore (2016). "Disks for Data Centers". Proceedings of USENIX FAST 2016. Because of the write restrictions imposed by SMR, when data is deleted, that deleted capacity can not be reused until the system copies the remaining live data in that SMR zone to another part of the disk, a form of garbage collection (GC).