Mailman 2.1 accesses all list member information through a single MemberAdaptor module. This module is defined at Mailman/MemberAdaptor.py which defines and documents all the methods that Mailman uses to store, retrieve and change member information. The methods in this module are designed to be overridden by those of a specific member information module.
The overriding module that ships with Mailman is Mailman/OldStyleMemberships.py. That module stores member info in the same python pickle that stores the list configuration.
Other MemberAdaptor modules are available for LDAP and MySQL. Information about the LDAP adaptor is in the tracker at https://bugs.launchpad.net/mailman/+bug/558106. This is a read-only adaptor. I.e., you can't add members or change member options when using this adaptor. Also, many member options aren't retrieved from the LDAP database, but are just given default values. There is a fork of this adaptor by Sebastian Rettenberger at https://github.com/rettenbs/mailman-ldap-memberadaptor that overcomes some of these limitations.
Information about the MySQL adaptor from Kev Green including links to various revisions is in the tracker at https://bugs.launchpad.net/mailman/+bug/558093. There is also a fork of this adaptor at http://trac.rezo.net/trac/rezo/browser/Mailman. These are both functional, read-write interfaces to a MySQL database.