百万级别的基础图像数据,应该怎么存储?需要分表嘛

另外在问一下,tidb和mysql兼容吗 java是否可以无缝迁移过来

图像数据存数据库?
没见过,一般都是图像存对象存储之类的,数据库存访问路径

java无缝迁移是指用java写jdbc吗?这个倒是没有这么写过,应该问题不大

现在数据库读取数据可以用mybatis-plus框架,语法上两个数据库基本一样的

刚试了一下,连接数据可以使用mysql的驱动

是要用 blob 存储吗?图像数据大概是什么样的?单张图片多大? 字符串类型

非结构化数据,不建议存到数据库里。
一般是可以存对象存储,文件服务器。如果想用SQL 方式读取文件,可以看下duckdb ducklake 等数据湖,湖仓一体方案

tidb 不适合存储这种。会写放大的

比如 duckdb +分布式文件系统

Titan 引擎应该可以的

存视频就算了,图片应该还好

可以存 和 好用 ,我觉得是两个层面,图片最基本也是MB 级别。
MySQL 也支持blob ,但是从没有人把图片读成字节存MySQL,不仅仅是
产品原因,而是硬件限制

@TiDBer_GJS9zKkq 该提问的兄弟回复了,你说的我也同意。现在相片都非常大,都是 16MB 左右。能用和好用,也要看实际场景,解决什么问题吧。

1 个赞

图像不适合用关系型数据库存,关系型数据库都是存个连接

2 个赞

图像属于非结构化数据,其实最好由专业的图片服务器存储,性能会更好,数据库只保存对应路径即可。或者使用一些数据湖或者对象存储,比如minio、支持s3协议的其他对象存储等

2 个赞

存储图片的服务器还真没弄过,哥能提供个参考的搭建思路么。

1 个赞

其实就是找一台高性能的服务器或者服务器集群,然后应用程序通过nginx代理来操作这些附件,把所有图片、文档、视频等非机构化数据上传到此处

建议专业的数据库

1 个赞

还真没有在数据库里存过图片文件。以往经验是文件往小文件系统存,数据库里存图片的链接地址

1 个赞

tidb不适合存这类数据吧