Merge pull request #25486 from taosdata/enh/TS-4636-3.0
enh: enlarge number of mounted disks
This commit is contained in:
commit
e8af63c81e
|
@ -201,7 +201,7 @@ TDengine 采用数据驱动的方式让缓存中的数据写入硬盘进行持
|
||||||
|
|
||||||
除此之外,TDengine 也提供了数据分级存储的功能,将不同时间段的数据存储在挂载的不同介质上的目录里,从而实现不同“热度”的数据存储在不同的存储介质上,充分利用存储,节约成本。比如,最新采集的数据需要经常访问,对硬盘的读取性能要求高,那么用户可以配置将这些数据存储在 SSD 盘上。超过一定期限的数据,查询需求量没有那么高,那么可以存储在相对便宜的 HDD 盘上。
|
除此之外,TDengine 也提供了数据分级存储的功能,将不同时间段的数据存储在挂载的不同介质上的目录里,从而实现不同“热度”的数据存储在不同的存储介质上,充分利用存储,节约成本。比如,最新采集的数据需要经常访问,对硬盘的读取性能要求高,那么用户可以配置将这些数据存储在 SSD 盘上。超过一定期限的数据,查询需求量没有那么高,那么可以存储在相对便宜的 HDD 盘上。
|
||||||
|
|
||||||
多级存储支持 3 级,每级最多可配置 16 个挂载点。
|
多级存储支持 3 级,每级最多可配置 128 个挂载点。
|
||||||
|
|
||||||
TDengine 多级存储配置方式如下(在配置文件/etc/taos/taos.cfg 中):
|
TDengine 多级存储配置方式如下(在配置文件/etc/taos/taos.cfg 中):
|
||||||
|
|
||||||
|
|
|
@ -188,8 +188,8 @@ typedef enum ELogicConditionType {
|
||||||
LOGIC_COND_TYPE_NOT,
|
LOGIC_COND_TYPE_NOT,
|
||||||
} ELogicConditionType;
|
} ELogicConditionType;
|
||||||
|
|
||||||
#define ENCRYPTED_LEN(len) (len/16) * 16 + (len%16?1:0) * 16
|
#define ENCRYPTED_LEN(len) (len / 16) * 16 + (len % 16 ? 1 : 0) * 16
|
||||||
#define ENCRYPT_KEY_LEN 16
|
#define ENCRYPT_KEY_LEN 16
|
||||||
#define ENCRYPT_KEY_LEN_MIN 8
|
#define ENCRYPT_KEY_LEN_MIN 8
|
||||||
|
|
||||||
#define TSDB_INT32_ID_LEN 11
|
#define TSDB_INT32_ID_LEN 11
|
||||||
|
@ -525,7 +525,7 @@ typedef enum ELogicConditionType {
|
||||||
#define TSDB_ARB_DUMMY_TIME 4765104000000 // 2121-01-01 00:00:00.000, :P
|
#define TSDB_ARB_DUMMY_TIME 4765104000000 // 2121-01-01 00:00:00.000, :P
|
||||||
|
|
||||||
#define TFS_MAX_TIERS 3
|
#define TFS_MAX_TIERS 3
|
||||||
#define TFS_MAX_DISKS_PER_TIER 16
|
#define TFS_MAX_DISKS_PER_TIER 128
|
||||||
#define TFS_MAX_DISKS (TFS_MAX_TIERS * TFS_MAX_DISKS_PER_TIER)
|
#define TFS_MAX_DISKS (TFS_MAX_TIERS * TFS_MAX_DISKS_PER_TIER)
|
||||||
#define TFS_MIN_LEVEL 0
|
#define TFS_MIN_LEVEL 0
|
||||||
#define TFS_MAX_LEVEL (TFS_MAX_TIERS - 1)
|
#define TFS_MAX_LEVEL (TFS_MAX_TIERS - 1)
|
||||||
|
@ -535,7 +535,7 @@ typedef enum ELogicConditionType {
|
||||||
|
|
||||||
enum { TRANS_STAT_INIT = 0, TRANS_STAT_EXECUTING, TRANS_STAT_EXECUTED, TRANS_STAT_ROLLBACKING, TRANS_STAT_ROLLBACKED };
|
enum { TRANS_STAT_INIT = 0, TRANS_STAT_EXECUTING, TRANS_STAT_EXECUTED, TRANS_STAT_ROLLBACKING, TRANS_STAT_ROLLBACKED };
|
||||||
enum { TRANS_OPER_INIT = 0, TRANS_OPER_EXECUTE, TRANS_OPER_ROLLBACK };
|
enum { TRANS_OPER_INIT = 0, TRANS_OPER_EXECUTE, TRANS_OPER_ROLLBACK };
|
||||||
enum { ENCRYPT_KEY_STAT_UNKNOWN = 0, ENCRYPT_KEY_STAT_UNSET, ENCRYPT_KEY_STAT_SET, ENCRYPT_KEY_STAT_LOADED};
|
enum { ENCRYPT_KEY_STAT_UNKNOWN = 0, ENCRYPT_KEY_STAT_UNSET, ENCRYPT_KEY_STAT_SET, ENCRYPT_KEY_STAT_LOADED };
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char dir[TSDB_FILENAME_LEN];
|
char dir[TSDB_FILENAME_LEN];
|
||||||
|
|
|
@ -182,10 +182,10 @@ class TDTestCase:
|
||||||
else:
|
else:
|
||||||
checkFiles("%s/*/*" % i, 0)
|
checkFiles("%s/*/*" % i, 0)
|
||||||
|
|
||||||
def more_than_16_disks(self):
|
def more_than_128_disks(self):
|
||||||
tdLog.info("============== more_than_16_disks test ===============")
|
tdLog.info("============== more_than_128_disks test ===============")
|
||||||
cfg={}
|
cfg={}
|
||||||
for i in range(17):
|
for i in range(129):
|
||||||
if i == 0 :
|
if i == 0 :
|
||||||
datadir = '/mnt/data%d 0 1' % (i+1)
|
datadir = '/mnt/data%d 0 1' % (i+1)
|
||||||
else:
|
else:
|
||||||
|
@ -272,7 +272,7 @@ class TDTestCase:
|
||||||
self.dir_permission_denied()
|
self.dir_permission_denied()
|
||||||
self.file_distribution_same_level()
|
self.file_distribution_same_level()
|
||||||
self.three_level_basic()
|
self.three_level_basic()
|
||||||
self.more_than_16_disks()
|
self.more_than_128_disks()
|
||||||
self.trim_database()
|
self.trim_database()
|
||||||
self.missing_middle_level()
|
self.missing_middle_level()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue