apache / apache/arrow-flight-sql-postgresql
Improve `SELECT text` performance
- Ngôn ngữ chính
- C++
- Star
- 116
- Fork
- 10
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
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?
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng cách profiling đường đi của văn bản SELECT và so sánh nó với giao thức PostgreSQL, tập trung vào việc xây dựng Apache Arrow RecordBatch, RecordBatchWriter và SPI_getbinval() của PostgreSQL. Xác định xem việc sao chép vào RecordBatch hay SPI_getbinval()/nocachegetattr() chiếm ưu thế, sau đó đo lường thay đổi đã hoàn tất so với baseline của giao thức PostgreSQL.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- cpp, postgresql
- Lĩnh vực
- backend, databases, performance
- Loại issue
- Lỗi
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 25/100