У меня 10 тысяч устройств, и на каждом устройстве 10 тысяч записей. Для каждой записи у нас должны быть столбцы, включающие devId (int), devName (строка), devgroup (int), время (временная метка), температуру (int) и влажность (float). Чтобы быть конкретным, devId колеблется от 1 до 10000;devName также варьируется от 'dev'_1 до' dev_10000 ';Диапазон DevGroup составляет от 0 до 99 (каждые 100 устройств в группе). В DolphinDB я определил две схемы:
dbDir = 'dfs://devDB'
if(existsDatabase(dbDir))
dropDatabase(dbDir)
range_schema=0..100 * 100 + 1
db = database(dbDir, RANGE, range_schema)
dev = db.createPartitionedTable(schema, `dev , `devId)
Или если я разделю так:
dbDir = 'dfs://devDB'
if(existsDatabase(dbDir))
dropDatabase(dbDir)
range_schema=0..100 * 100 + 1
db1 = database("", VALUE, 0..99)
db2 = database("", RANGE, range_schema)
db = database(dbDir, COMPO, [db1,db2])
db.createPartitionedTable(schema,`dev,`devGroup`devId)
Интересно, что является более правильным, или есть правило разделения?