我每秒都在收集数据并将其存储在“:memory”数据库中。将数据插入此数据库是在事务中。
每次向服务器发送一个请求,服务器将从第一个内存中读取数据,进行一些计算,将其存储在第二个数据库中并将其发送回客户端。为此,我正在创建另一个“:memory:”数据库来存储第一个数据库的聚合信息。我不能使用相同的数据库,因为我需要进行一些大型计算才能获得聚合结果。这不能在事务内部完成(因为如果一个集合需要 5 秒,我将丢失所有 4 秒的数据)。我无法在同一个数据库中创建表,因为在收集和插入原始数据时我将无法写入聚合数据(它在事务内部并且每隔一秒收集一次)
-- 有时我想从两个数据库中检索数据。如何链接这两个内存数据库?使用附加数据库 stmt,我可以将第二个数据库附加到第一个数据库。但问题是下次当请求到来时,我将如何检查第二个数据库是否存在?
-- 假设,我将第二个内存数据库附加到第一个内存数据库。当我们将数据写入第一个数据库时,它会锁定第二个数据库吗?
-- 有没有其他方法来存储这些聚合数据?