MarkLogic-数据库大小单位

时间:2019-03-06 16:10:54

标签: marklogic-9

我正在使用以下查询返回MarkLogic服务器中每个数据库的大小。查询正在返回数据,但不确定查询返回的单位(KB / MB / GB等)。我试图手动找到每个集合的大概大小以进行累加,但是以某种方式这些数字不匹配。默认情况下,MarkLogic是否对文档应用压缩?

xquery version "1.0-ml";

declare namespace forest = "http://marklogic.com/xdmp/status/forest";

for $db-id in xdmp:databases()
let $db-name := xdmp:database-name($db-id)
let $db-size :=
  fn:sum(
    for $f-id in xdmp:database-forests($db-id)
    let $f-status := xdmp:forest-status($f-id)
    let $space := $f-status/forest:device-space
    let $f-name := $f-status/forest:forest-name
    let $f-size :=
      fn:sum(
        for $stand in $f-status/forest:stands/forest:stand
        let $stand-size := $stand/forest:disk-size/fn:data(.)
        return $stand-size
      )
    return $f-size
  )
order by $db-size descending
return $db-name || " = " || $db-size

1 个答案:

答案 0 :(得分:0)

“群集状态”页面上“管理界面”中显示的单位始终为MB,并且此处显示的数字与您的代码返回的数字匹配。

MarkLogic并没有真正应用压缩,但是它确实具有复杂的逻辑来提取数据,并为每个文档分开结构信息。当您在文档中重复时会有所收获。重复次数越多(其中还包括元素名称),差异就越大。

HTH!