我正在开发一个项目,我从传感器中提取图像并将其保存到操作系统目录中。我有一个Java API用于将图像上传到服务器。
我需要上传这些图像,其他一些数据通常会将数据类型浮动到主服务器。
我需要决定一个中间人,例如数据库,我存储这些图像并通过java建立连接以上传或使用HDFS。
有人可以告诉我,哪种选择最适合存储图像?数据库还是HDFS?
注意:将来可能会有更多 15万的图像。
答案 0 :(得分:0)
完全取决于用例,你可以选择
所以我的建议基于要求,你想将图像存储为中间,最好存储在HDFS本身。
答案 1 :(得分:0)
今天150,000张图片被认为不是很大。如果假设每个映像(未压缩)的平均值为10 MB,则数据量为1.5 TB,这应该可以存储在现成的数据库中(使用现成的硬件,即带有Linux的盒子)一些RAID磁盘,如postgreSQL。我不是HDFS的专家,即使我尝试与HDFS在同一系列中的产品我发现它们易于使用,我想你可以尝试Hadoop然后处理图像,如果你正在寻找一种方法来并行化处理。即使这个产品系列很好我仍然会使用像postgreSQL这样的标准数据库如果本质上不需要并行化(就像你进入HDFS一样)。
答案 2 :(得分:0)
我认为最好的方法是保留您需要的浮动数据和数据库中图像的元数据。为了更容易搜索和查询以及更容易与Java交互。实际图像最好存储在文件系统中,以减少与数据库之间的转换。我相信一个简单的文件系统对于那么大的图像来说已经足够了。你可能不会使用任何奇特的HDFS函数,比如map reduce和类似的东西。但这取决于你。
因此,在这种情况下,如果标准文件系统对您来说不够好,而您想要更大的东西,那么HDFS就是您的选择。所以正确的方法是两者的混合。