apache / apache/arrow-flight-sql-postgresql
Improve `SELECT text` performance
- 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
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