Alfresco db内容大小和contentstore大小:如何匹配?

Gan*_*shK 3 sql postgresql alfresco

我有一个SQL查询来从内容URL获取内容大小,但是当我执行SQL并将结果与​​contentstore的目录大小进行比较时,它不匹配.例如,首先我从数据库(PostgreSQL)获取内容大小:

SELECT count(*),
       SUM(round(u.content_size/1024/1024,2)) AS "Size (MB)",
       to_char(n.audit_created:: date,'yyyy') AS yyyy_
  FROM alf_node            AS n,
       alf_node_properties AS p,
       alf_node_properties AS p1,
       alf_namespace       AS ns,
       alf_qname           AS q,
       alf_content_data    AS d,
       alf_content_url     AS u
WHERE n.id=p.node_id
  AND ns.id=q.ns_id
  AND p.qname_id=q.id
  AND p.long_value=d.id
  AND d.content_url_id=u.id
  AND p1.node_id=n.id
  AND p1.qname_id IN (SELECT id FROM alf_qname WHERE local_name='name')
GROUP BY yyyy_
ORDER BY yyyy_ DESC;
Run Code Online (Sandbox Code Playgroud)

它给我的总大小为600 GB.但是当我看到文件夹内容存储的大小属性alf_data显示为2.4 TB时.怎么可能?

You*_*ieg 6

  • 首先,如果你在Windows上,你应该知道磁盘上的大小大小之间的差异
  • 你应该知道MagaByte(MB),MebiByte(MiB)MegaBit(Mbit)之间的区别
  • 最后,但并非最不重要的是,你将文件大小以MB为单位,对于每个文件进行求和之前,尝试以字节为单位进行求和,然后将结果舍入为:

    SELECT count(*),round(SUM(u.content_size)/1024/1024, 3) AS "Size (MB)", to_char(n.audit_created:: date,'yyyy') as yyyy_
    FROM alf_node AS n,
    alf_node_properties AS p,
    alf_node_properties AS p1,
    alf_namespace AS ns,
    alf_qname AS q,
    alf_content_data AS d,
    alf_content_url AS u
    WHERE n.id=p.node_id
    AND ns.id=q.ns_id
    AND p.qname_id=q.id
    AND p.long_value=d.id
    AND d.content_url_id=u.id
    AND p1.node_id=n.id
    AND p1.qname_id IN (SELECT id FROM alf_qname WHERE local_name='name')
    group by  yyyy_
    ORDER BY yyyy_ DESC;
    
    Run Code Online (Sandbox Code Playgroud)


Mar*_*eri 5

仅根据您当前在存储库中拥有的内容来了解​​内容存储库的空间并不容易。

当文档被删除或更新为新版本时,Alfresco 不会立即从磁盘中删除二进制文件。

实际释放磁盘空间的过程有点“复杂”。以下文章描述了如何配置此过程的第一步:清理孤立内容(清除)

默认情况下,“清除”配置为每天凌晨 4 点执行,并将清除至少 14 天前已从存储库中删除的任何孤立文件。

如文章所述,默认情况下,Alfresco 不会删除已清除的文件,而只会将它们移动到不同的文件夹 (contentstore.deleted) 中。

备份后删除 contentstore.deleted 中的文件是安全的。

像往常一样,在 alfresco-global-properties 中,您可以修改默认配置(您可以在 alfresco/repository.properties 中找到)

您最终可能会以多种方式获得大量孤立文件。仅举一些例子:

  1. 清除由于某种原因不起作用
  2. 最近有人导入然后删除了许多和/或大文件
  3. 有人使用了 alfresco 导出,在存储库中创建了 zip 文件
  4. 该系统用于存储经常被删除或更新的短命文档(如大视频)等...