用于跟踪用户操作的数据库系统

时间:2015-06-11 23:50:22

标签: database database-design circular-buffer

我目前的问题是使用应用程序跟踪每个用户的最后250个操作 - 这些操作需要存储在某种数据库中,访问速度相当快,写入速度也相当快。

到目前为止,我刚刚将所有用户的所有操作都保存到数据库中,但数据库的大小却完全爆炸了。可以丢弃所有超过250条消息(每个用户)的消息,但基于SQL的库无法提供合理的方法。

最理想的是,数据库系统将使用非固定长度的循环缓冲区。预先分配所需空间的问题将是不可能的(超过90%的用户仅执行< 100次操作,这意味着预先分配的空间因内存原因而不可行)。此外,由于内存原因,条目的大小需要是动态的,因为为每条消息分配最大消息长度将导致大量空白空间。

我正在考虑自己编写这样一个数据库系统,使用小的(256byte)链接同等大小的数据块并跟踪空白区域。显然,我更喜欢预先制作的解决方案,因为编写自己的数据库系统非常耗时且容易出错。

是否有任何系统 - 或多或少 - 做我打算做的事情?如果不是,那么自己编写这样一个数据库系统最好的方法是什么?

0 个答案:

没有答案