在cassandra / CQL上构建数据模型

时间:2020-02-16 17:55:36

标签: cassandra cassandra-2.0 cqlsh

我有一个车辆跟踪表,其中包含以下字段:vehicle_id, id tracking, time_tracking, longitude, latitude。如何构建表格,以便可以根据time_tracking对所有车辆进行最新跟踪。根据time_tracking,如何也建立表格以对车辆进行最后跟踪。预先谢谢你。

1 个答案:

答案 0 :(得分:0)

根据指定的列,您可以尝试以下模式。

CREATE TABLE IF NOT EXISTS vehicle_details (time_tracking timestamp,
                                      vehicle_id int,
                                      id int,
                                      latitude varchar,
                                      longitude varchar,
                                      PRIMARY KEY ((time_tracking), vehicle_id)
                                      )WITH CLUSTERING ORDER BY (time_tracking DESC);

由于您存储在DESC的集群顺序中,因此获取最新记录总是非常容易的,您需要在查询中添加“ LIMIT”,

Ex: select * from vehicle_details where time_tracking=20200101 limit 10;

您可以基于time_tracking运行选择查询,并可以添加vehicle_id以获取特定时间戳的车辆详细信息。

Ex: select * from vehicle_details where time_tracking=20200101 and vehicle_id = 122 limit 10;

希望这会有所帮助。

相关问题