第一种方案:
按月建表,或者按日建表。看你的意思这个数据库主要是用来记录用户操作日志的。但是这样子对你的查询语句要求就比较高了。
第二种方案:
根据业务简历快照表,存储一个月或者三个月的近期日志,然后其他数据简历日志归档表,存储历史数据。但是这些所有的表一定要分区,至少按月分区,甚至可以按日再做子分区。同时所有查询语句必须要用到分区。
对于大的数据,目前是个热点。一定要根据相应的数据库,应用到厂商提供的大数据解决方案中的优化方法。你的问题不是一个简单的设计就能完成的,需要你从表结构设计,数据存储结构,索引,分区,查询语句的游湖,逐级索引查新等多个大数据存储优化技术才能解决。而且对你的数据库的优化维护能力也提出了相应的要求。
祝好运!
这种,直接按月份横向分表吧。
我也像过这种方案,不知道还有没有更好的
@拖鞋王子:看你日志的重要性了,可以考虑采用Nosql系列。
日志直接写在日志文件中。txt文本中
我少说了一点,日志是在txt中的,但是为了方便查询,每天会挖出来存到数据库里
@拖鞋王子: 日志一般都不看的吧,出错了才去看。
@angelshelter: 不是错误日志,每天几十万条错误那还得了,记录的是用户的行为
我们是用DataMarket来解决的,你参考下,或许能解决你的问题。
没听过这个东东,有相关文章吗
先优化索引
如果就放在一个表中肯定是不行的,这个最起码也要分表的查(一天分一张表也是可以的)
日志的记录,考虑一下nosql,mongodb是个不错的选择。
哈哈,最好的办法就是表分驱,按月来记录日志,这样更好些。
采用分布式数据库也是考虑方向之一,查询在N机器上同时进行,是解决大数据库的最有效的方法,无论数据量多大,都在众神的掌控之中。我们有成熟的方案,需要可联系:0311-87024917 QQ:1561724180
按天数将数据以xml的形式存入表中
日志一般不要记录在数据库,这个是一个常识.
如果你要记录,请用nosql
不存数据库那要查询怎么办