Subject | Re: The Wolf on Firebird 3 |
---|---|
Author | Roman Rokytskyy |
Post date | 2005-11-02T22:11:56Z |
Jim,
Please do not take following post as critics or something in that
direction, I agree that all the issues have to be addressed. Only that
I do not buy your arguments yet. :)
different web application use the same database assuming that they do
not know about each other? Why can't they use two different databases?
public interface level. It might appear in implementation, but JayBird
does not have byte[31] or char[31] in its code and each string passed
over the wire has also two-bytes length before it.
is defined in database. Right?
other needs 2 bytes per char :)
How big would the final solution differ from the solution when we set
default charset to UNICODE_FSS? If not too much, I would suggest that
you provide a version that uses UTF-8 ODS (with all optimizations you
wanted to include), I will take the AS3AP suite, generate English,
German and Russian texts and we compare results against current ODS
with default WIN1252/WIN1251 charsets in network and embedded modes.
Then we present the numbers here and continue discussion. However, if
difference in code bases is big, then it is your words against words
of other people...
Roman
Please do not take following post as critics or something in that
direction, I agree that all the issues have to be addressed. Only that
I do not buy your arguments yet. :)
> A multilevel name space is necessary for standard conformance, butNot that I am against schemas, but could you explain why would
> more importantly, it is necessary to support multiple application
> instances within a single database, a near absolute requirement for
> Web applications.
different web application use the same database assuming that they do
not know about each other? Why can't they use two different databases?
> A habit we need break is dependence on fixed length stringsAs I remember, there is no hard limit on the identifier length on the
> internally and across our interfaces.
public interface level. It might appear in implementation, but JayBird
does not have byte[31] or char[31] in its code and each string passed
over the wire has also two-bytes length before it.
> The issue of UTF-8 vs national character sets inside the engine isWhich should not be needed when application uses the same charset as
> critical, in my opinion, for three reasons.
> First, the constant
> setting, checking, comparing, and looking up of character set has a
> huge, huge overhead in performance.
is defined in database. Right?
> Second, the vast amount of codeGood reason.
> inside the engine to manage national character adds great complexity
> to the code base and increases the burden on developers.
> It's time to accept that we're all partJust that one part of the world accidentaly got 1 byte per char, while
> of the same world.
other needs 2 bytes per char :)
> And if it halves the size of the code and doublesI would like to see numbers before we discuss it further.
> performance, we get a kicker to boot.
How big would the final solution differ from the solution when we set
default charset to UNICODE_FSS? If not too much, I would suggest that
you provide a version that uses UTF-8 ODS (with all optimizations you
wanted to include), I will take the AS3AP suite, generate English,
German and Russian texts and we compare results against current ODS
with default WIN1252/WIN1251 charsets in network and embedded modes.
Then we present the numbers here and continue discussion. However, if
difference in code bases is big, then it is your words against words
of other people...
Roman