apache / apache/arrow-flight-sql-postgresql
Improve `SELECT text` performance
- Lingua principale
- C++
- Stelle
- 116
- Fork
- 10
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
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?
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Iniziare profilando il percorso del testo di SELECT e confrontandolo con il protocollo PostgreSQL, concentrandosi sulla costruzione di Apache Arrow RecordBatch, RecordBatchWriter e SPI_getbinval() di PostgreSQL. Determinare se prevale la copia in RecordBatch o SPI_getbinval()/nocachegetattr(), quindi misurare la modifica completata rispetto alla baseline del protocollo PostgreSQL.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp, postgresql
- Ambito
- backend, databases, performance
- Tipo di issue
- Bug
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100