apache / apache/arrow-flight-sql-postgresql

Improve `SELECT text` performance

Abierto
#177 2 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
C++
Estrellas
116
Forks
10
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

It's slower than the PostgreSQL protocol.

The followings may be related but we need to look into it:

* Building `arrow::RecordBatch` is slow?
* We need to build `arrow::RecordBatch`es to use `arrow::ipc::RecordBatchWriter()`. We need to copy PostgreSQL data for it. (Not zero-copy.)
* Should we add an API that writes Apache Arrow streaming format data without building `arrow::RecordBatch` to Apache Arrow C++?
* Calling `SPI_getbinval()` is slow?
* It calls `nocachegetattr()` https://github.com/postgres/postgres/blob/3edc6580c0e27fb8f13322efd255a88d20dda6c2/src/backend/access/common/heaptuple.c#L496-L712 and it's not a short function. Can we shortcut some operations?

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comience perfilando la ruta de texto de SELECT y comparándola con el protocolo de PostgreSQL, centrándose en la construcción de Apache Arrow RecordBatch, RecordBatchWriter y SPI_getbinval() de PostgreSQL. Determine si domina la copia en RecordBatch o SPI_getbinval()/nocachegetattr(), y después mida el cambio completado frente a la línea base del protocolo de PostgreSQL.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cpp, postgresql
Área
backend, databases, performance
Tipo de issue
Error
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.