데이터 영속화

데이터 영속화 (Data Persistence)

이 장에서 설명하는 모듈들은 파이썬 데이터를 디스크에 영속적인 형태로 저장하는 것을 지원해요. picklemarshal 모듈은 많은 파이썬 데이터 타입을 바이트 스트림으로 바꾼 뒤 그 바이트에서 객체를 다시 만들 수 있어요. 여러 DBM 관련 모듈들은 문자열을 문자열에 매핑하는 해시 기반 파일 형식을 지원해요.

출처: Python documentation

본문

이 장에서 설명하는 모듈 목록은 다음과 같아요.

  • pickle — 파이썬 객체 직렬화
    • 다른 파이썬 모듈과의 관계
      • marshal 과의 비교
      • json 과의 비교
    • 데이터 스트림 형식
    • 모듈 인터페이스
    • 피클링·언피클링할 수 있는 것
    • 클래스 인스턴스 피클링
      • 외부 객체의 영속화
      • 디스패치 테이블
      • 상태 있는 객체 처리
    • 타입·함수·객체의 사용자 정의 리덕션
    • 대역외(Out-of-band) 버퍼
    • 전역 제한 (Restricting Globals)
    • 성능
    • 예제
    • 커맨드라인 인터페이스
  • copyregpickle 지원 함수 등록
    • 예제
  • shelve — 파이썬 객체 영속화
    • 제한 사항
    • 예제
  • marshal — 내부 파이썬 객체 직렬화
  • dbm — Unix "데이터베이스" 인터페이스
    • dbm.sqlite3 — dbm 의 SQLite 백엔드
    • dbm.gnu — GNU 데이터베이스 관리자
    • dbm.ndbm — 새 데이터베이스 관리자
    • dbm.dumb — 이식 가능한 DBM 구현
  • sqlite3 — SQLite 데이터베이스용 DB-API 2.0 인터페이스
    • 튜토리얼
    • 참조
      • 모듈 함수
      • 모듈 상수
      • 커넥션 객체
      • 커서 객체
      • 행(Row) 객체
      • Blob 객체
      • PrepareProtocol 객체
      • 예외
      • SQLite 와 파이썬 타입
      • 기본 어댑터·컨버터(비권장)
      • 커맨드라인 인터페이스
    • 방법 가이드 (How-to guides)
      • SQL 쿼리에서 값을 바인딩하기 위해 플레이스홀더 사용
      • 사용자 정의 파이썬 타입을 SQLite 값에 어댑트
      • SQLite 값을 사용자 정의 파이썬 타입으로 변환
      • 어댑터·컨버터 레시피
      • 커넥션 편의 메서드 사용
      • 커넥션 컨텍스트 매니저 사용
      • SQLite URI 다루기
      • 행 팩토리 만들기·사용하기
      • 비-UTF-8 텍스트 인코딩 처리
    • 설명 (Explanation)
      • 트랜잭션 제어
        • autocommit 속성을 통한 트랜잭션 제어
        • isolation_level 속성을 통한 트랜잭션 제어

더 알아보기 (Learn more)