java - 如何存储用户日志

标签 java database nosql neo4j

最近,我们的系统每天需要存储数百万条记录。每条记录都很简单,就是userid和点击的weburl。之后我们对数据日志使用一些机器学习算法。 我们尝试了neo4j,但是查询时间非常慢。例如:获取所有对用户 ID 查看相同的 weburl。 那么有什么建议吗?

最佳答案

以下是我如何创建一个每天支持超过 10 亿笔交易的数据库:

创建一个类似于缓冲区的前表,例如名为 TBUFFER。 在该表中,插入您想要插入到日志表中的信息。

每一秒,从作业中读取 TBUFFER 并将数据分发到您的最终表中。 为什么要这么做?能够进行大量插入。

关键是按包插入,划分事务个数,然后加锁。

您还可以将包含许多要插入的用户日志记录的 XML 数据传递到数据库,并使用单个事务将其插入。

关于java - 如何存储用户日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20799027/

相关文章:

java - 我应该从 getFft 看到什么样的输出?

database - 在文件系统中存储图片时,使用相对路径还是绝对路径?

redis - 对 Redis 数据结构感到困惑

mongodb - 如何 MongoDB 更新/$设置整个子文档

java - 如何在线程中断Java时停止URL连接

java - 如何在 while 循环内使用 Scanner hasNextInt() ?

java - 获取数组的最小和最大部分

mysql - 无法添加或更新子行。外键约束失败

mysql - 将历史表转换为 "ownership"表

MongoDB - sort() 数据过多,没有索引错误