数据库

根据DB-Engines Ranking统计的关注度,我们以公司部门或实验室数据存储与分析为目标,数据库可采用MySQL、SQLite、Access等,再简单些可采用非数据库的Excel、Pandas等。

公司部门常采用MySQL,Android程序更倾向SQLite。参考MySQL vs. SQLite,MySQL支持更多的数据类型、TB级数据、高并发、提供网络服务端;而SQLite偏嵌入式,比如在Android程序中被大量使用。虽然Database Speed Comparison测试显示,MySQL与SQLite性能相当;但普遍认为前者在TB级数据、高并发等方面表现更优异。参考SQLite vs Pandas: Performance Benchmarks,SQLite性能比Pandas更强,但后者内建大量统计函数,操作简单,与Matplotlib联用可以方便出图。

Access相比MySQL,前者性能弱些,但操作简单些,且图形界面搭建容易。参考Access specifications,对于Access 2007~Access 2021,数据库大小限制为2 Gb。参考Editions and supported features of SQL Server 2019 (15.x),对于SQL Server 2019,Enterprise、Standard、Web、Express with Advanced Services、Express版本的数据库大小限制分别为524 PB、524 PB、524 PB、10 GB、10 GB。Access相比Excel,前者性能更强,可以方便处理不同表格之间的数据交互关系,更容易生成各式报表,使用习惯与Excel有一定的继承性。

综上,如果是百万条数据存储和分析,我们可采用(1)PHP(前端)+MySQL;(2)SQLite+SQLiteStudio(UI)+Pandas(与SQL结合);(3)Access(方便导入Excel);(4)Excel或Pandas。

PS:64-bit Windows版本的SQLite 3.37.1 + SQLiteStudio 3.3.3 下载,包含一键增加、删除环境变量的脚本。