Next: , Previous: Relational databases, Up: Relational databases



4.1 为什么使用数据库?

R 可以很好处理的数据类型是有限的。既然所有R 处理的数据都放在 内存中,并且在一个函数的执行过程中会创建一个数据集的多个拷贝, 因此R不适合处理很大的数据集。 大于一百兆(或少一点)的数据对象会导致 R的内存溢出。

R 不容易支持并发访问数据。也就是说,如果多于一个用户在访问 或者更新同一个数据,一个用户的修改对另外一个用户是不可见的。

R 支持数据的永久性,因为用户需要从一个回话中保存 数据对象或整个工作表而在随后的会话中再次保存。 但被保存数据的格式对 R 是特有的,在其它系统里面不是 那么容易被处理。

数据库管理系统(Database Management Systems,DBMSs)和,特别是, 关系数据库管理系统(RDBMSs)为了更好地做这些事情而设计。. 它们加强的地方在于

  1. 提供对大型数据库中被选择部分的快速访问。
  2. 强大的针对数据库的列进行汇总和交叉列表(cross-tabulate)的功能。
  3. 以更有条理的方式存储数据。这比电子表和R的数据框 的矩形网格格式更容易组织。
  4. 支持运行于不同主机上面的客户端的并发访问,同时 加强数据访问的安全性限制。
  5. 有能力作为一个服务很多客户端的服务器。

DBMS可能要用到的统计应用的类型是从数据中 提取1%的样本,对数据交差列表(cross-tabulate)以产生一个 多维的列联表,和为单独的分析从数据库中提取数据组。