Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Denser data stream and better prefetch logic in the network protocol [CORE2530] #2940

Closed
firebird-issue-importer opened this issue Jun 26, 2009 · 16 comments

Comments

@firebird-issue-importer

Submitted by: @WarmBooter

Relate to CORE2897

Votes: 234

Firebird 2.1 has already a improved network protocol, but it is still slow for internet connections (ADSL, etc). With globalization, it is a must that the protocol work better with internet connections. Private talks with Dmitry Yemanov and Vlad shows that there is still room for improvement so, here is the request.

Commits: 0836bbb FirebirdSQL/fbt-repository@016841a

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jun 26, 2009

Commented by: @pcisar

Please, stop spamming the tracker. If you want to raise the importance of any particular entry, use the voting system, not comments.

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jun 26, 2009

Commented by: Fausto Alves (faustoalves)

This is an important implementation, since MySql, Post Gree sql, include this feature and believe that the Firebird should also comtempla it.
Yeah, I like many other users would be assisted in their needs.

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jun 26, 2009

Commented by: Ricardo Cardoso (ricardo_engsoft)

I'm working in a project with FB2.x in a network but I have plans to put on the Internet but using FB. Actually I'm using MySQL 5.0 for this because I'm worried with the protocol performance over the internet. Having this changing I can abandon MySQL and use only FB.

Regards,
Ricardo.

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jun 26, 2009

Commented by: @dyemanov

I have removed all the comments of the "it's great!" style as they may hide the "on-topic" technical comments and they don't belong to the bug tracker in general, as already mentioned by Pavel. Please use the voting facility, it's enough to express your wishes.

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jul 30, 2009

Commented by: Luciano Ferreira (lucianovg)

It's very important...

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Oct 8, 2010

Commented by: Joao Americo fabrício (metalfa_n1)

I think it is very important as it will, probably, "stop" people "moving" their project from FB to Mysql when they need to add any internet issue.

I did not checked if FB already got it done, but add some kind of "compression" to packets/protocol as mysql/mssql/oracle/postgres/sybase do should be the first step.

PS. Please, use the "," (coma) at the right place to make your post easy to understand. As Im brazilian I anderstood, but ppl that does not talk in Portuguese will understand really NOTHING.

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Feb 1, 2012

Commented by: Lars Dybdahl (ldy_daintel.com)

A very slow process is to fetch many blobs. Fetching 100 times 100kbyte blobs takes a very long time, because each blob is fetched in it's own request. Instead, it would be very beneficial to be able to ask the server to deliver blob content immediately, as part of the same request.

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Feb 8, 2012

Modified by: @dyemanov

assignee: Dmitry Yemanov [ dimitr ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Feb 8, 2012

Modified by: @dyemanov

status: Open [ 1 ] => In Progress [ 3 ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Mar 29, 2014

Modified by: @dyemanov

Fix Version: 3.0 Beta 1 [ 10332 ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Apr 27, 2014

Modified by: @dyemanov

Link: This issue relate to CORE2897 [ CORE2897 ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Oct 11, 2014

Modified by: @dyemanov

status: In Progress [ 3 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Oct 11, 2014

Commented by: @dyemanov

The "improved protocol" is a too flexible term that may mean lots of things, so I've adjusted the ticket title to reflect what has been improved now. Other improvement requests (e.g. blobs sent along with records) may deserve separate tickets.

In v3, the following improvements are implemented:

1) NULL flags (4 bytes per field) are replaced with a bitmap. NULL fields are no longer transmitted, except the corresponding bits in the bitmap (see also CORE2897). This is available for DSQL API only, so unfortunately GBAK does not benefit from this improvement (as it uses a lower level BLR API).

2) Prefetch (batch receive) algorithm is now aware of variable-length messages (VARCHARs and NULLs may reduce the transmitted message size), so more rows can be transmitted within a single batch.

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Oct 11, 2014

Modified by: @dyemanov

summary: Improve even more the FB network protocol => Denser data stream and better prefetch logic in the network protocol

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Sep 23, 2015

Modified by: @pcisar

status: Resolved [ 5 ] => Closed [ 6 ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jan 18, 2016

Modified by: @pavel-zotov

QA Status: No test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants