当前位置: 首页 > 面试题库 >

将Oracle /关系表中的数据索引到elasticsearch中的更好方法是什么?

郭志
2023-03-14
问题内容

有什么选项可以将大数据从Oracle DB索引到elasticsearch集群? 要求将3亿条记录一次索引到多个索引中,并且每天要进行大约100万次更改的增量更新。

我已经尝试了用于Elasticsearch river / feeder的
JDBC插件,两者似乎都在内部运行或需要本地运行的elasticsearch实例。请让我知道是否有更好的选择将elasticsearch索引器作为独立作业运行(可能基于Java)。任何建议将非常有帮助。谢谢。


问题答案:

我们将ES用作报告数据库,并且在将新记录写入SQL时,我们将采取以下措施将其添加到ES中:

  1. 将主键写入队列(我们使用rabbitMQ)
  2. Rabbit获取主键(如果有时间),并查询关系数据库以获取所需的信息,然后将数据写入ES

此过程非常有效,因为它可以处理新数据和旧数据。对于旧数据,只需编写一个快速脚本,将300M主键写入Rabbit,就可以完成!



 类似资料:
  • 问题内容: 有什么选项可将大数据从Oracle DB索引到弹性搜索集群? 要求将3亿条记录一次索引到多个索引中,并且每天要进行大约100万次更改的增量更新。 我已经尝试了用于Elasticsearch river / feeder的 JDBC插件,两者似乎都在内部运行或需要本地运行的弹性搜索实例。请让我知道是否有更好的选择将弹性搜索索引器作为独立作业运行(可能基于Java)。任何建议将非常有帮助。

  • 问题内容: 似乎在elasticsearch中,您将在集合上定义索引,而在关系数据库中,您将在列上定义索引。如果整个集合都已建立索引,为什么需要对其进行定义? 问题答案: 不幸的是,使用了“索引”一词,这意味着ES和关系数据库中的一些事物(在编辑中非常不同),因为它们针对不同的用例进行了优化。 数据库中的“索引”是辅助数据结构,它使查询和查询变得快速,并且它们通常存储的值与表中显示的值完全相同。您

  • 问题内容: Elasticsearch中的索引是什么?一个应用程序有多个索引还是只有一个索引?假设您为某些汽车制造商构建了一个系统。它涉及人员,汽车,零件等。您是否有一个名为制造商的索引,或者您有一个人的索引,一个用于汽车的索引和一个用于零备件的索引?有人可以解释吗? 问题答案: 很好的问题,答案比人们期望的要细腻得多。您可以将索引用于几种不同的目的。 关系指标 最简单,最熟悉的布局将克隆您从关系

  • 问题内容: 对于Android应用,我具有以下功能 这是编写用于获取元素位置的函数的“最佳”方法吗?还是我应该利用Java中奇特的shmancy本机函数? 问题答案: 有一种方法。检查API以获得更多信息,但是其工作方式如下: 将快速返回您的方法返回的确切结果。

  • 问题内容: 有什么理由不应该为我的每个数据库表创建索引,以此来提高性能吗?似乎必须有一些原因,否则所有表在默认情况下都会自动具有一个。 我使用MS SQL Server 2016。 问题答案: 表上的一个索引并不重要。您会自动在作为主键或声明为唯一键的列(或列组合)上建立索引。 索引有一些开销。索引本身占用磁盘和内存的空间(使用时)。因此,如果空间或内存成为问题,那么索引过多可能会成为问题。插入/

  • 问题内容: 希望不使用Logstash将CSV文件索引到ElasticSearch。我正在使用高级库。 给定带有标题的CSV例如: 按字段索引所有数据的最佳方法是什么?最终我希望让每一行看起来像这样 问题答案: 使用较低级的库,这种任务比较容易: