apache / apache/arrow-flight-sql-postgresql

Improve `SELECT text` performance

Ouverte
#177 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
C++
Étoiles
116
Forks
10
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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?

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par profiler le chemin de texte de SELECT et le comparer au protocole PostgreSQL, en vous concentrant sur la construction d’Apache Arrow RecordBatch, de RecordBatchWriter et de SPI_getbinval() de PostgreSQL. Déterminez si la copie dans RecordBatch ou SPI_getbinval()/nocachegetattr() est dominante, puis mesurez la modification terminée par rapport à la référence du protocole PostgreSQL.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cpp, postgresql
Domaine
backend, databases, performance
Type d'issue
Bug
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.