如何将数据导入 Hologres,主要有两种场景: 使用 SQL 进行数据的导入(最常见) 例如使用 JDBC 执行 insert 语句,该 insert 语句会经过一个负载均衡服务器路由分发 至我们的 Frontend 节点,对该 insert 语句进行 SQL 的解析优化,然后生成一个优化后的 执行计划,并将该执行计划分发至后端的 worker 节点。worker 节点收到该执行计划之后, 就会将该数据完成写入。 Connector 写入 另外一条链路为左边的 Private API 链路,也就是当前 Apache Flink 或者 Apache Spark Connector 所使用的 Hologres 的实时导入接口。该 Private API 提供的数据接 口和普通 sql 请求不一样,而是我们称之为 Fixed Plan 的请求接口,这些请求被分发至负 载均衡服务器之后,负载均衡服务器会将数据路由分发至一个叫做 Private API Service 的节点。该节点将数据写入请求分发至 worker 节点,也就是后端的节点。当 worker 节点 收到,无论是 Fixed Plan,还是执行计划之后,会对数据进行持久化,最终数据完成写入。通过 SQL 来进行数据的写入是最常见的场景,Hologres 也在后端优 化了整个 SQL 的写入链路。例如对于 Insert into values,Insert into on conflict do update,Select from where pk = xxx 等场景简单的 SQL,Hologres 会进行优化, 减少 SQL 的解析和优化过程,提升整个数据写入和查询的性能。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
本技术圈将为大家分析有关阿里云产品Hologres的最新产品动态、技术解读等,也欢迎大家加入钉钉群--实时数仓Hologres交流群32314975