美文网首页
Doris default_db_data_quota_byte

Doris default_db_data_quota_byte

作者: clive0x | 来源:发表于2020-11-26 07:42 被阅读0次

    今天看到Doris default_db_data_quota_bytes配置项说明,没看懂。

    “用于设置database data的默认quota值,单位为 bytes,默认1T”。

    第一反应是Doris官方号称可以处理10PB级数据量,数据库还设置Quota上限,默认还是1TB?

    代码跟官网宣传不是相互矛盾?看来只能从源码里面挖了。

    在fe/fe-core/src/main/java/org/apache/doris/catalog/Database.java文件

    确实会检查数据库空间上限,超过quota会报错。

    public void checkDataSizeQuota() throws DdlException {

            Pair<Double, String> quotaUnitPair = DebugUtil.getByteUint(dataQuotaBytes);

            String readableQuota = DebugUtil.DECIMAL_FORMAT_SCALE_3.format(quotaUnitPair.first) + " "

                    + quotaUnitPair.second;

            long usedDataQuota = getUsedDataQuotaWithLock();

            long leftDataQuota = Math.max(dataQuotaBytes - usedDataQuota, 0);

            Pair<Double, String> leftQuotaUnitPair = DebugUtil.getByteUint(leftDataQuota);

            String readableLeftQuota = DebugUtil.DECIMAL_FORMAT_SCALE_3.format(leftQuotaUnitPair.first) + " "

                    + leftQuotaUnitPair.second;

            LOG.info("database[{}] data quota: left bytes: {} / total: {}",

                    fullQualifiedName, readableLeftQuota, readableQuota);

            if (leftDataQuota <= 0L) {

                throw new DdlException("Database[" + fullQualifiedName

                        + "] data size exceeds quota[" + readableQuota + "]");

            }

        }

    //已使用quota为所有OLAP表空间之和

    public long getUsedDataQuotaWithLock() {

            long usedDataQuota = 0;

            readLock();

            try {

                for (Table table : this.idToTable.values()) {

                    if (table.getType() != TableType.OLAP) {

                        continue;

                    }

                    OlapTable olapTable = (OlapTable) table;

                    usedDataQuota = usedDataQuota + olapTable.getDataSize();

                }

                return usedDataQuota;

            } finally {

                readUnlock();

    }

    默认为1T,很不合理啊,1T数据单机Clickhouse不香吗?后者带vector处理引擎,还使用SIMD CPU指令,处理起来飞快。Doris只有收费版本才有。

    相关文章

      网友评论

          本文标题:Doris default_db_data_quota_byte

          本文链接:https://www.haomeiwen.com/subject/gbxaiktx.html