当我们将任何照片上传到Facebook时,它会被Facebook重命名。新名称通常具有以下模式: 393268_10151029983750034_598680033_21778114_899520598_n.jpg
此名称可以用下划线分为6个部分。
关于此命名约定,我有以下问题:
答案 0 :(得分:2)
最后一块_n是图像尺寸。 您可以尝试使用_s更改它,然后您会看到缩略图,_b也能正常工作,不会尝试其他人
答案 1 :(得分:2)
我真的不知道他们究竟如何处理这个命名方案,但我怀疑它与他们的存储有关。
Facebook使用名为RocksDB的数据库,在MySQL fork(专门为此数据库创建)之上,称为MyRocks。
他们使用MySQL直到2012年,但由于他们的“独特需求”而转而使用No-SQL类型。
RocksDB只能存储键值对,然后必须对数据结构进行调整,因此,如果你不能在表中拥有用户的ID,而在其他用户中拥有属于该用户的照片,则可以绑定它们通过规范化,在这种情况下,优先考虑速度超过存储大小。
这样一个系统的优势在于速度,因为您可以通过事先计算要查询的每个数据的确切名称来节省传统连接的开销。
答案 2 :(得分:0)
它可以防止命名冲突,并且可以更容易进行内部管理。 我认为没有缺点。它只是更清洁