大数据是两个方面的意思:1是非常“大”的离散数据,比如说几百亿记录分布在几千台机器上,如何把几千个表当作一个表来写查询语句。2是一堆数学统计软件包,用来做最基本的所谓神经病网络分类算法,用了大数据这个时髦词儿。对于1来说,从来也没有说它比单机处理的速度更快。人家是根本不可能单机,所以才分为几千台机器上进行存储的。 于是就回到了你的后边提出的问题。你在数据库中搞什么“触发器”来将数据写到缓存,这是本末倒置了。缓存数据应该是第一位的、不落地的。数据即使还没有保存到数据库中备份之前,就应该落在缓存里了。而且数据库操作可以是异步的,不需要阻塞真正的业务操作,特别是不应该去让许多线程收到什么数据库事务锁的垃圾限制,因此把缓存操作当作数据库表的触发器的结果是完全是本末倒置了。
讲下我目前解决思路,感觉好low. 逻辑库中创建一个表,包含经常要查询的字段。通过触发器记录这4个表的新增和修改,每秒刷到这个大表中,通过这种方式来避免多表联合查询。但是带来了性能损失,看起来好low.就想了解下,如何利用大数据知识去解决这类问题。
建议考虑建立宽表,在kudu中,通过sparkJobServer发布rest接口,做实时查询。前提要求机器配置也比较高,最少8台256G内存的机器集群
1,261
社区成员
1,169
社区内容
加载中
试试用AI创作助手写篇文章吧