我正在启动一个网络项目,很可能对SQLite没什么影响。我有SQLObject在上面,但是考虑到长期而言--如果这个项目需要一个更强大的(例如能够处理高流量),我需要准备一个过渡计划。我的问题:
谢了,肖恩
发布于 2008-11-09 11:53:37
( 3)这是一个相当有趣的问题。一般来说,SQLite对于基于网络的东西来说是非常无用的。它的大小很好,但是对于并发性来说却是非常大的,所以如果您计划同时使用几个请求来处理它,那么您就会遇到麻烦。
现在,您在问题的第3部分中的想法是使用多个SQLite数据库(例如每个用户组一个,甚至每个用户一个)。不幸的是,SQLite不会在这个部门给你任何帮助。但这是有可能的。我知道以前做过的一个项目是迪夫莫德公理。所以我肯定会查清楚的。
当然,像您提到的那样,仅仅使用一个好的并发DB可能要容易得多(Firebird、PG等)。
为完整起见:
1和2)如果不实际编写大量的代码,它应该是简单明了的。我发现SQLObject在这个部门有一点限制,因此强烈建议使用SQLAlchemy。这要灵活得多,如果我今天要启动一个新项目,我肯定会在SQLObject上使用它。它不会在任何地方移动“物体”。这里不涉及魔术,它将在数据库中的表中传输行。就像前面提到的,你可以用手来做,但这可能会节省你一些时间。
发布于 2008-11-09 06:20:43
createTable()的成功将取决于您现有的底层表模式/数据类型。换句话说,SQLite如何映射到您选择的数据库,以及SQLObject如何决定使用您的数据类型。
最安全的选择可能是手工创建新数据库。然后,您将不得不处理数据迁移,这可能就像在相同的表定义上实例化两个SQLObject数据库连接一样容易。
为什么不从功能更全面的数据库开始呢?
发布于 2008-11-09 04:06:02
我不太明白这个问题。
SQLObject文档列出了六种可用的连接。此外,数据库连接(或方案)是在连接字符串中指定的。将数据库连接从SQLite更改为MySQL非常简单。只需更改连接字符串即可。
文档列出了支持的不同类型的方案。
https://stackoverflow.com/questions/275572
复制相似问题