如何将文件系统存储(用于blob,图像等)与(传统)数据库存储(例如MySQL / Postgres)集成?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何将文件系统存储(用于blob,图像等)与(传统)数据库存储(例如MySQL / Postgres)集成?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1186字,纯文字阅读大概需要2分钟。
内容图文
如果我将数据库用于关系数据并选择在文件系统中存储大型二进制blob,我该如何集成这两个?这个过程如何运作?
我知道数据库需要存储一个目录路径/链接到相应的blob,但有人可以请具体赐教我吗?例如,我想我应该有一些shell脚本首先对安全/ tmp位置的二进制文件执行病毒检查,然后将其移动到实际存储位置并更新数据库中的路径.但要从操作系统执行此操作,将需要脚本定期检查目录中是否有更改,然后触发操作.是否可以从DB中运行shell脚本(我知道反过来可能)?
或者是否有更好的工具可以在MySQL / Postgres中执行此类操作(与文件系统存储集成)?
解决方法:
“大”玩家甚至不把图像放在同一台机器上.相反,它们具有全局分布和优化的“图像服务器”,用于泵出只读图像.在他们的情况下,分布式处理的好处超过了偶尔的不一致性(链接到不存在的图像;反之亦然).然而,其他机器处理病毒检查,缩放,剥离EXIF等.
MySQL无法存储大于4GB的blob(是的,你可以(应该)将其块化).即使16MB也有一些问题(包括复制,调整等),你可能会绊倒.
如果您扫描了元数据,并且行中有大块,服务器会花很多时间踩过牛肉饼. “垂直分区”是一种避免此问题的方法.在一个实现中,我开始使用缩略图和主行中的EXIF数据.最终我发现了“牛皮蒂”问题并改为将这两个blob放在并行表中.它跑得快得多.
我已经实现过任何一种方式.翻转硬币来决定做哪个.想想你的决定六个月,然后考虑换到另一种机制.同时,设计您的代码,以便您可以轻松地进行更改.
内容总结
以上是互联网集市为您收集整理的如何将文件系统存储(用于blob,图像等)与(传统)数据库存储(例如MySQL / Postgres)集成?全部内容,希望文章能够帮你解决如何将文件系统存储(用于blob,图像等)与(传统)数据库存储(例如MySQL / Postgres)集成?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。