RoR:从PostgreSQL迁移到Elastic
问题描述:
我们希望将我们的数据库的一部分从PostgreSQL转移到Elastic:基本上我们想要将三个表(Properties
,Listings
和Addresses
)合并到单个文档中。RoR:从PostgreSQL迁移到Elastic
我找不到任何标准工具和可能,因为我们有一个Ruby on Rails应用程序中,pimpliest和最可靠的方法将是写一个迁移将只通过该模型迭代,他们撰写成单文件并保存到Elastic。
该任务似乎并不复杂,但因为这是我第一次使用Elastic的经验,所以我想与社区进行核对。
感谢。
答
我最不喜欢的是JDBC importer。但是,我认为编写自己的脚本可能同样快。
有一个postgres函数row_to_json,它会将结果行转换为JSON,然后发布到elasticsearch中。我没有意识到会自动为你做这件事。假设它不是数十亿行,我会坚持你的计划,编写一个简短的脚本来运行你的查询,然后HTTP将结果发布到elasticsearch中。
您需要决定两件事:索引名称和文档类型。
一些注意事项:
- 像Postgres的关系型数据库,并最终一致性文档存储像elasticsearch之间的一致性模型有很大的不同。你应该意识到这些差异和它们的缺点。
- 您可能希望elasticsearch中的数据被去标准化,因为没有可靠的联接方式。
谢谢!我不知道可以在Elastic中强制执行数据一致性。 – lessless