可以从你的底层存储方式着手,比如你的30亿数据是否可以划分成3层,内存区,热存储区,冷数据区,新的数据过来,先放内存,然后后台进程自动对内存中的数据跟热区数据进行比对是否存在,设置数据降级机制,哪些数据可能用的比较少可以先从内存中降级到热存储区
如果你想用hbase的话,建议你根据你的业务场景事先分配好region,1天的数据过来再插入之前可以用bloomfilter这个高效率的判断是否存在而不需要全部数据都加载到内存中,然后利用批量bulkload的方式,当然你要注意你的memstore设置大小,你的hstore设置大小
不管哪种数据插入方式肯定都后台去执行的插入操作。
个人想法,有错地方还请指出