boa*_*tor 11 python mysql cloud storage redis
我正在开发一个具有相当复杂架构的Python/MySQL云应用程序.操作此系统(当前)生成临时文件(纯文本,YAML)和日志文件,我打算将它们存储在文件系统上.
但是,我们的预期云运营商仅为应用程序提供临时的非持久性文件系统.这意味着存储临时文件和日志文件的初始方法将不起作用.
必须有一个标准的方法来解决这个我不知道的问题.我不想像S3那样使用对象存储,因为它会扩展当前的堆栈并增加复杂性.但我可以在具有相同提供程序的其他服务器上安装其他专用应用程序(如果有任何用于此目的的内容).唯一的限制是它必须是PHP,Python,MySQL.
一般性问题:当没有可用的永久文件系统时,存储文件的标准方法是什么?
对于我的具体案例:是否有任何使用Python和/或MySQL的解决方案,它实现简单快捷?这是Redis的用例吗?
小智 3
既然你问了两个问题,我也一一回答一下:
通用问题:当没有可用的持久文件系统时,存储文件的标准方法是什么?
如果文件的内容不适合常规数据库存储,但您确实想持久存储文件本身(如图像、二进制文件等),那么 Amazon S3 和类似的服务通常是您的选择。还有免费的替代品,如Riak、Aerospike或更重的Cassandra。
虽然所有这些服务都是免费的(或有免费版本),但它们需要安装和持续维护。此外,您不太可能实现与 S3 等托管云服务相同水平的可用性和可扩展性。如果考虑到这一点,不使用 S3 这样的云服务所节省的成本至少是值得怀疑的。但一如既往,YMMV。
对于我的具体情况:是否有任何使用 Python 和/或 MySQL 的解决方案可以简单且快速地实现?这是 Redis 的用例吗?
你的问题有点矛盾。您提到您的应用程序会生成临时文件,但您不想丢失它们?
如果您的文件是临时的,像Redis或memcached这样的解决方案将非常适合这项工作,只要您了解两者都是缓存并且数据将在重新启动时丢失,或者(如果启用 Redis 快照)至少不要'不保证写入会持久保存到磁盘。
如果您不想扩展堆栈,并且 Redis 无法为您提供所需的保证级别,则 MySQL 支持blob存储,它可用于在 MySQL 中存储文件(二进制数据)。这通常不能很好地扩展,但同样,决定这是否适合您很大程度上取决于您的情况。(另请参阅有关在 MySQL 中存储文件的优缺点的优秀答案。)
| 归档时间: |
|
| 查看次数: |
582 次 |
| 最近记录: |