第8章 应用数据库

如果日常需要跟数据打交道,迟早是要接触到数据库的。因此,本章将介绍各种数据库及其应用编程接口。这里所说的数据库包括关系型数据库以及非关系型(NoSQL)数据库。关系型数据库是由数据表汇集而成的,更重要的是,这些数据表中的数据是按照数据项之间的关系进行组织的。当然,这里所说的关系,也可以是某个数据表中的行数据与其他数据表中的行数据之间的关系。关系型数据库不仅涉及数据表之间的关系:首先,它要处理同一个数据表中不同列之间的关系(很明显,一个数据表内的各列毫无疑问是相关的);其次,它还要处理数据表之间的关系。

伴随着大数据和Web应用的流行,非关系型 (Not Only SQL,NoSQL)数据库也开始野蛮生长。NoSQL系统将成为类SQL事实上的标准。NoSQL数据库的主旨在于,使用比关系模型更为灵活的方式来存储数据。这就可能意味着,无需数据库模式或者灵活的数据库模式。当然,灵活性和速度也是有代价的,如无法始终保证事务的一致性。NoSQL数据库可以利用面向列的方法以字典的形式来储存数据,这些数据对象包括文档、对象、图、元组,甚至这些对象的组合体。本章将要介绍的主题如下   所示。

  • 基于sqlite3的轻量级访问。
  • 通过pandas访问数据库。
  • SQLAlchemy的安装与配置。
  • 通过SQLAlchemy填充数据库。
  • 通过SQLAlchemy查询数据库。
  • Pony ORM。
  • Dataset:懒人数据库。
  • PyMongo与MongoDB。
  • 利用Redis存储数据。
  • Apache Cassandra。

SQLite是一款非常流行的关系型数据库,由于它非常轻盈,因此被大量应用程序广泛采纳,如Mozilla Firefox等浏览器。 ...

Get Python数据分析 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.