我试图实时存储和处理体育赛事,并希望创建一个最佳系统,因为这将每秒处理100个事件.系统将在体育比赛之前存储事件,然后实时或在半场/会话/比赛结束时处理它们.
在我的系统中,每个Event都分解为以下组件
WHO谁是与之相关的事件.团队,球员,裁判,观众等WHAT 什么是事件(目标,通过,保存等)WHEN 活动的时间细节 HOWMUCH 如何定义事件值TYPE定义何时应该检查 - INDIVIDUAL:realtime,
AGGREGATE:end ofWHEN以下是足球的一些例子
1. No goals scored in 2nd Half
TEAM: *, WHAT: __GOAL, WHEN: __HALF_2, HOWMUCH: 0, TYPE: AGGREGATE
{
"who" : {"team":*},
"what" : "__GOAL",
"when" : "__HALF_2"
"howMuch" : {"value":0, "type" :"exact"},
"type" : "AGGREGATE"
}
2. Either keeper to complete 3 or more punches
PLAYER: (p1 v p2), WHAT: __PUNCH, WHEN: __MATCH, HOWMUCH: 3+, TYPE: INDIVIDUAL
{ …Run Code Online (Sandbox Code Playgroud) 我在边缘设备上安装了 MySQL 8 docker 安装,该设备有以下两个表可供写入
video_paths | CREATE TABLE `video_paths` (
`entry` int(11) NOT NULL AUTO_INCREMENT,
`timestamp` bigint(20) NOT NULL,
`duration` int(11) NOT NULL,
`path` varchar(255) NOT NULL,
`motion` int(11) NOT NULL DEFAULT '0',
`cam_id` varchar(255) NOT NULL DEFAULT '',
`hd` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`entry`),
KEY `cam_id` (`cam_id`),
KEY `timestamp` (`timestamp`)
) ENGINE=InnoDB AUTO_INCREMENT=7342309 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
Run Code Online (Sandbox Code Playgroud)
和
CREATE TABLE `tracker` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`table_name` varchar(255) NOT NULL,
`primary_key_name` varchar(255) NOT NULL,
`pointer` …Run Code Online (Sandbox Code Playgroud) 我有一列MySQL表userid和createdon其中createdon列有DATE数据类型.
---------------------------------------------------------------------------------
ID UserId CreatedOn
1 65 2013-06-13
2 54 2013-07-03
3 34 2013-08-23
4 65 2013-09-13
5 89 2013-09-13
Run Code Online (Sandbox Code Playgroud)
现在我想要最后创建的用户标识在2013-09-08之前.正确的答案是用户ID 54,34
运用
select userid from table where createdon <'2013-09-08'
Run Code Online (Sandbox Code Playgroud)
返回65,54,34和usind
select userid from table where userid notin (select userid from table where createdon > '2013-09-07')
Run Code Online (Sandbox Code Playgroud)
花了很多时间.
如何获取最后创建的行<2013-09-08