时序数据库太爽了TDengine3.0(tdengine和druid等性能对比)

因为目前在做gps相关的,电动车里面有个终端,会不停的上报数据到后端,包括经纬度。

在地图上,我们需要获取电动车的路径,所以要知道他行走的时间。mysql这种肯定满足不了。

每天1w辆车,每5秒上报一次,数据量都过亿。

于是选择了TDengine(和sql差距不大,唯一差距大的就是字段不一样)

和其他时序数据库的性能对比:

SENSORO 处理智慧城市海量感知数据的数据库应用_Hadia Shi的博客-CSDN博客

注意:他的设计原理,为什么快,其实你用其他数据库也能做到这一点,对每个id不同的用户需要建立不同的表,然后查询的时候指定需要的表查询。他对时间字段,建立了索引。所以查询快。

相当于已经分库分表。

超级表的话,可以根据id,去查询子表,省去了你自己查询子表。不过感觉很鸡助,因为你还得建立子表

下载使用安装包立即开始 | TDengine 文档 | 涛思数据

官网都有,我不想写

注意的坑就是,varchar(20)类型对应他的nchar(20)

nchar(20)会直接占用20个空间。这里要注意。

另外建表语句,第一个必须为timestamp类型,他是以这个进行排序的,默认全部都帮你排序好了,用起来很舒服。满足外卖或者行车的相关地图。

使用jdbc连接,解压后,他有例子

 直接copy里面的pom,或者你需要的东西直接用

一定要看他demo里面的代码。

要外部访问还要开启

systemctl start taosadapter

pom依赖:

    <dependency>
        <groupId>com.taosdata.jdbc</groupId>
        <artifactId>taos-jdbcdriver</artifactId>
        <version>3.0.0</version>
    </dependency>

附代码;

import java.sql.*;
import java.util.Properties;

public class TDengineGPS {
    //用时序数据库存储gps

    public static void main(String[] args) {
        try {
            Class.forName("com.taosdata.jdbc.rs.RestfulDriver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        String jdbcUrl = "jdbc:TAOS-RS://xx.xx.xx.xx:6041/?user=root&password=ShiTeacherLoveU~520";
        Properties properties = new Properties();
        properties.setProperty("charset", "UTF-8");
        properties.setProperty("locale", "en_US.UTF-8");
        properties.setProperty("timezone", "UTC-8");
        try {
            Connection conn = DriverManager.getConnection(jdbcUrl,properties);
            Statement stmt = conn.createStatement();

            String dbname="tuli";
            stmt.execute("use "+dbname);
            String sql="select * from test123";
            ResultSet resultSet = stmt.executeQuery(sql);//数据
            ResultSetMetaData meta = resultSet.getMetaData();//字段名称

            while (resultSet.next()){
                for (int i = 1; i <= meta.getColumnCount(); i++) {
                    System.out.print(meta.getColumnLabel(i) + ": " + resultSet.getString(i) + "\t");
                }
                System.out.println();
            }
            resultSet.close();
            stmt.close();
            conn.close();

        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值