Persistensi Data
****************

Modul yang dijelaskan di dalam bab ini mendukung untuk menyimpan data
Python di dalam sebuah bentuk persisten pada disk. Modul "pickle" dan
"marshal" bisa mengubah banyak tipe data Python ke sebuah aliran byte
dan kemudian membuat ulang objek dari bytenya. Berbagai modul terkait
DBM mendukung serangkaian format file berbasis hash yang menyimpan
pemetaan string ke string lain.

Daftar modul yang dijelaskan di dalam bab ini adalah:

* "pickle" --- Python object serialization

  * Relationship to other Python modules

    * Comparison with "marshal"

    * Comparison with "json"

  * Data stream format

  * Module Interface

  * What can be pickled and unpickled?

  * Pickling Class Instances

    * Persistence of External Objects

    * Dispatch Tables

    * Handling Stateful Objects

  * Custom Reduction for Types, Functions, and Other Objects

  * Out-of-band Buffers

    * Provider API

    * Consumer API

    * Contoh

  * Restricting Globals

  * Performa

  * Contoh-contoh

* "copyreg" --- Register "pickle" support functions

  * Contoh

* "shelve" --- Python object persistence

  * Restrictions

  * Contoh

* "marshal" --- Internal Python object serialization

* "dbm" --- Interfaces to Unix "databases"

  * "dbm.gnu" --- GNU's reinterpretation of dbm

  * "dbm.ndbm" --- Interface based on ndbm

  * "dbm.dumb" --- Portable DBM implementation

* "sqlite3" --- DB-API 2.0 interface for SQLite databases

  * Module functions and constants

  * Connection Objects

  * Cursor Objects

  * Row Objects

  * Pengecualian

  * SQLite and Python types

    * Pengenalan

    * Using adapters to store additional Python types in SQLite
      databases

      * Letting your object adapt itself

      * Registering an adapter callable

    * Converting SQLite values to custom Python types

    * Default adapters and converters

  * Controlling Transactions

  * Using "sqlite3" efficiently

    * Using shortcut methods

    * Accessing columns by name instead of by index

    * Using the connection as a context manager

  * Common issues

    * Multithreading
