【问题标题】:What is the difference between sqlite3 and sqlalchemy?sqlite3 和 sqlalchemy 有什么区别?
【发布时间】:2011-08-03 17:04:21
【问题描述】:

初学者问题 - sqlite 和 sqlalchemy 有什么区别?

【问题讨论】:

    标签: python sqlite sqlalchemy


    【解决方案1】:

    它们是苹果和橙子。

    Sqlite 是一个数据库存储引擎,可以比 MySQL、PostgreSQL、Oracle、MSSQL 等更好。用于存储和检索文件中的结构化数据。

    SQLAlchemy 是一个提供对象关系映射器 (ORM) 的 Python 库。它按照它的建议做:它将您的数据库(表等)映射到 Python 对象,以便您可以更轻松地与它们进行本地交互。 SQLAlchemy 可以与 sqlite、MySQL、PostgreSQL 等一起使用。

    因此,ORM 提供了一组工具,让您可以跨数据库引擎一致地与数据库模型进行交互。

    【讨论】:

    • 赞成,我的问题更具体地说是我应该使用 sql alchemy 还是坚持使用 sqlite,需要每 10 分钟批量读取所有记录,记录数 = 260 万,列数 = 6 并插入同一张表中每 10 分钟有 10 万条记录
    【解决方案2】:

    sqlite3 是一个嵌入式 RDBMS。

    根据this article

    关系数据库管理系统 (RDBMS) 是基于 E. F. Codd 引入的关系模型的数据库管理系统 (DBMS)。当前使用的大多数流行的商业和开源数据库都是基于关系数据库模型的。 RDBMS的一个简短的定义可能是一个DBMS,其中数据以表的形式存储,数据之间的关系也以表的形式存储。

    SQLAlchemy 是 Python ORM

    根据这篇文章:

    计算机软件中的对象关系映射(ORM、O/RM 和 O/R 映射)是一种编程技术,用于在面向对象编程语言中的不兼容类型系统之间转换数据。这实际上创建了一个可以在编程语言中使用的“虚拟对象数据库”。

    【讨论】:

    • SQLite 实际上可以用作SQLAlchemy 的“后端”。
    • 而且似乎 SQLite 支持直接包含在 SQLAlchemy 中,而不是 Postgres 支持,后者需要第三方库(即 psycopg2)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    • 1970-01-01
    • 2012-11-24
    • 2016-02-14
    • 2018-04-21
    • 2021-12-05
    相关资源
    最近更新 更多