在这里稍微纠结了一下,有没有必要搞ES?
主要的纠结点在于,一个人要维护一个完整的体系是要花比较多精力的,所以只能挑最核心的、必不可少的领域进行研究、使用和维护。在数据库上,我已经铺了一些
| 序号 | 名字 | 作用 |
|---|---|---|
| 1 | Mongo | 除了作为非结构的数据存储,很重要的一个作用是承载算法的参数(用json存字典很方便)。 |
| 2 | Neo4j | 算是图库的不二选择吧,缺点是不能存层级式字典吧。但是存储和查询亿级别的业务是很轻松的。 |
| 3 | Redis | 作为内存库,可以快速,方便的沟通服务/算法的缓存,我也用来做队列。本来用RabbitMQ,后来发现还是不太好用;kafka对我来说又太重了点。 |
| 4 | Mysql | 用来存表格 ,主要还是和其他传统的服务对接。 |
| 5 | SQLite | 最大的作用可能是未来的设备数据库 |
以上的数据库我都写了专门的对象进行交互,所以要确认增加一个数据库还是要花代价的。从实际使用上,我并不会对外提供大批量的并发查询服务,所以用Mongo是完全够的;从理论上,比较好的使用方式是Mongo作为Master进行写入,ES集群从Mongo同步数据,然后对外提供大量并发查询。可以简单认为,Mongo适合读写,而ES针对读做特别的优化。
研究ES有两个好处:
<


