Tr3*_*r3y 5 python database web-applications
我正在用Python编写心理学实验.我需要在某处存储用户信息和分数,我需要它作为Web应用程序(并且是安全的).
不太了解这个 - 我正在考虑XML数据库,BerkleyDB,sqlite,一个openoffice电子表格,或者我对python"shelve"库非常感兴趣.(我的大部分信息来自这个帖子:http://developers.slashdot.org/story/08/05/20/2150246/FOSS-Flat-File-Database
数据:我认为我将拥有最多1000个用户.对于我必须存储的每个用户......
非常粗略估计,每个用户每天产生100次试验.所以最多每天10k数据点.它需要以这种方式运行大约3个月,所以大约1米的数据点.安全乘数2x为我提供了一个可以处理2m数据点的数据库的目标.
((注意:我可以将试验响应数据存储为单独的数据点,或者将试验分组到不同长度的Python列表对象(用户"会话").后者会显着降低数据库条目数,但不会减少数据量这有关系吗?怎么样?))
我想要一个能够(至少)工作的解决方案,直到我达到这1000个用户级别.如果我的程序在这个级别之外很受欢迎,我可以在更强大的数据库中做一些工作模型.还重申必须可以轻松部署为Web应用程序.
除了这些基本要求之外,我只想要最简单的方法来实现这一目标.我很绿.
谢谢阅读
Tr3y
mac*_*mac 12
SQLite当然可以处理这些数据量,它拥有一个非常大的用户群,在所有主要平台上都有一些非常知名的用户,它快速,轻便,并且有很棒的GUI客户端允许您浏览和提取/过滤数据点击几下.
当然,SQLite无法无限扩展,但是只有在需要同时插入时才会出现严重的性能问题,我猜这是在你的预期负载之后出现几个数量级的问题.
我已经使用它几年了,我从来没有遇到过它的问题(虽然对于较大的网站我使用MySQL).我个人认为"小.快.可靠.选择任何三个." (这是SQLite网站上的标语)非常准确.
至于易用性 ...... SQLite3绑定(站点暂时关闭)是python标准库的一部分.在这里你可以找到一个小教程.有趣的是,简单性是SQLite的设计标准.从这里:
许多人喜欢SQLite,因为它小而快.但那些品质只是快乐的事故.用户还发现SQLite非常可靠.可靠性是简单性的结果.复杂性较低,出错的可能性较小.所以,是的,SQLite小巧,快速,可靠,但首先,SQLite力求简单.