目前业务的数据都存在 mysql 中,为了做一个搜索模块,故需要将数据冗余一份至 es. mysql 中的数据可以理解为星型模型, 由一个主表 跟 多个副表 关联而成。比如:主表是用户基本信息,副表 1:用户爱好; 副表 2:用户课程; 副表 3:用户历史购物记录。副表跟主表根据 user_id 关联,且副表跟主表都会独自更新。
期望是在 es 中维护一份 mysql 的逻辑视图,因为要做搜索,所以相当于 es 中是一张大宽表。 为了不影响现有业务逻辑,不期望在代码逻辑中双写,可能走数据同步的策略(监听 binlog,做增删改 es 逻辑)
这样的话,如何保证这两份数据的一致性,以及 mysql 更新时 es 的更新时延。大佬们有类似的经验么,望不吝赐教。
