主要观点:作者介绍了自己拖延的一种机制是做看似像工作实则是有趣消遣的事,最近在一个副业项目中遇到了,该项目有自身需求,如处理“合理”大小的文本块、页面加载要快、尽量减少运维工作等,为此对 SQLite、PostgreSQL 和 MariaDB 进行了测试对比,最终 SQLite 表现最佳,作者也通过实际测试数据支持了使用 SQLite 的决定,最后表示要去开发项目的实际功能。
关键信息:
- 拖延机制:做感觉像工作的有趣事。
- 项目需求:处理 1 - 100 kB 大小文本块,页面加载 p99 时间 50ms 内,尽量减少运维工作。
- 测试数据库:SQLite 轻量易备份,熟悉 PostgreSQL 有好的托管服务,MariaDB 听说性能更好但测试中未达要求被淘汰。
- 测试过程:生成 3GB 不同大小随机数据加载到数据库,模拟内存限制测试磁盘性能,最终 SQLite 在 64kB 文档查询上比 PostgreSQL 快约 10 倍。
- 结论:选择 SQLite 作为项目数据库,数据显示 SQLite 有双峰分布需进一步研究,作者通过实际测试数据支持了决策,之后要去开发项目功能。
重要细节: - 测试工具:使用 criterion 和 SeaORM 进行测试,实验代码可查看[https://git.kittencollective....]。
- 关于开源:项目不是开源的但仓库[https://git.kittencollective....]是公开的,作者喜欢在公开环境下工作。
- 关于 MongoDB:曾考虑过但在关系型数据库能满足性能要求后排除,因更熟悉关系型数据库。
- 关于教练服务:若想成为更高效的软件工程师可考虑[https://ntietz.com/coaching/]。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。