Skip to content

Track 2 of the 5th Tianchi Global Database Competition: Cloud Native Multimode Database Lindorm Time Series Data Processing Performance Challenge.https://tianchi.aliyun.com/competition/entrance/532118/rankingList

Notifications You must be signed in to change notification settings

llzcx/lindorm-tsdb-contest-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

第5届天池全球数据库大赛赛道2:云原生多模数据库Lindorm时序数据处理性能挑战

工程简介

本工程是【复赛】比赛时选手需要下载的工程,选手实现工程内 TSDBEngineImpl 类。 评测程序会将选手提交的修改后的本工程代码进行编译并调用选手实现的 TSDBEngineImpl 类的接口进行测试。 其他参赛说明及本文档均未说明或不清楚的问题可询比赛客服。

工程结构说明

  1. structs 文件夹:定义了一些数据结构。选手不能修改。
  2. TSDBEngine.java:接口定义类,选手需要实现对应接口。选手不能修改本类。
  3. TSDBEngineImpl.java:选手需要实际实现的类。

评测程序流程参考

评测程序可能会执行的操作:

  1. 写入测试。
  2. 正确性测试。
  3. 重启,清空缓存。
  4. 重新通过先前的数据目录重启数据库,数据库需要加载之前持久化的数据。
  5. 正确性测试。
  6. 读取性能测试。
  7. 压缩率测试。

选手程序目标

参赛选手所实现的简易版数据库存储引擎需要满足以下要求:

基于提供的 CodeBase 工程进行实现。实现的存储引擎也需要实现指定接口以实现与评测程序的交互(详细的接口定义可参见提供的代码工程)

存储引擎支持数据按“表”进行组织,其中入库的数据集模型满足以下要求:​

唯一标识 timestamp 指标 1 指标 2 … 指标 60 车辆标识码 1 时间戳 1 值 1 值 1 … 值 1 车辆标识码 2 时间戳 2 值 2 值 2 … 值 2 车辆标识码 3 时间戳 3 值 3 值 3 … 值 3 以上数据均为虚拟数据。

车辆唯一标识是一个字符串类型作为入库数据对象的唯一标识。

时间戳是一个以 8 字节整型数表示的 Unix 时间戳(语义精确到毫秒)。

指标的类型有以下三种可能:

不定长度的字符串类型。

8 字节浮点数类型。

4 字节整数类型。 ​

评测程序将数据写入前会将写入数据集的 Schema 信息(包含表名、标签名、字段名及类型)通过建表接口传给存储引擎。存储引擎需要实现的写入接口需要能够支持满足 Schema 信息条件的数据集写入。

在评测程序测试查询之前会进行重启操作,存储引擎需要能够将写入的数据落盘到本地存储上。

存储引擎还需要基于 CodeBase 中定义的查询接口实现数据的检索查询能力。

选手编写的程序实现除了 CodeBase 中给定的 Dependency 之外,无法依赖任何其他第三方 Dependency。 image

竞赛排名

16/3467

快速开始

运行时需要指定JVM参数

com.alibaba.lindorm.contest.test.TestMyDb

本工程的实现

存储结构 image

About

Track 2 of the 5th Tianchi Global Database Competition: Cloud Native Multimode Database Lindorm Time Series Data Processing Performance Challenge.https://tianchi.aliyun.com/competition/entrance/532118/rankingList

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages