Re: MVCC and all that...

Поиск
Список
Период
Сортировка
От Ellen Allhatatlan
Тема Re: MVCC and all that...
Дата
Msg-id CAMLfE0O5YPhrXOWP1pLTLHy-rKDut5cmiGyuxo3d43LCGEkJYg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: MVCC and all that...  (Justin <zzzzz.graf@gmail.com>)
Ответы Re: MVCC and all that...
Re: MVCC and all that...
Список pgsql-general
Hi, and thanks for your input,

Just before I reply - if you (at least here in Ireland - Google's
answers vary per location, unlike Duckduckgo's) search for "firebird
mvcc mechanism" the "AI assistant" tells me twice that FB's MVCC
implementation is "like PostgreSQL's"... I'll investigate further and
report back. Igor Rogov's book looks like a good place to start!

> I read through the article its click bait/flame war just waiting to happen.
> Article is a list of cherry picked PG drawbacks that can be mitigated or worked around.

Pity - I took the guy at his word when he said that PostgreSQL was
just different, not better or worse.

> On the bulk updating.  I'm shaking my finger at any one that locks up 25% of a table with an update or delete. That
isasking for problems in a production database with a high TPS rate. 

OK - I'm going to run the benchmarks myself and see what happens - but
I"m sure he didn't pick that test for nothing - come to think of it,
the table stable structure is bizarre!

> The author brings up threaded vs multi-process. That's an old old old old old conversation that has been shown there
isno clear better way. 

This is where things become interesting. Firebird actually has 3
process/threading models - and they manage to maintain these with a
team that is *_much_* smaller than the PostgreSQL one - FB is a minnow
compared to PG!

AIUI, Michael Stonebraker suggested that the process model
would/should be "upgraded" to a threaded one at some point in the
system's developement?


> Number of open connections.  so firebird can do 1000  open sessions with a smaller memory footprint,  still can not
have1000 simultaneous running sessions unless we have 1000 CPU's. Where is the win here??  We should be managing
resourcesbetter on the application side, not opening thousands of connections that sit idle doing nothing. 

Agreed on that point.

> On autonomous transactions we have procedures now that allow transactions inside of transactions that can be
committedand rollbacked.  that has been around for several years now. 

OK.

> Backup argument is cherry picking and not discussing pgBackrest and other solutions  or the use of tablespaces to
isolatedatabases in a cluster at the disk layer  or disk snapshots. 

OK again. I'm just wondering if the single file per database isn't a
fundamental architectural flaw in itself? AIUI, you could have
mulitple files (back in 32-bit land) "chained" - but (again AIUI) the
same table could be spread over x files - all "intermingled"... weird.

> "PostgreSQL has a relatively simple, but fast query planning algorithm"  Compared to what....  What feature is PG
missingthese days...  the only thing I know it can't do is change the  plan  in the middle of the execution stage.
Whichis not a query planner thing but the execution layer saying to itself  I am taking too long maybe go back to the
planningstage...  Query Hints that have been discussed endlessly.  Adding hints adds its own problems and has become a
bigmess for databases that support it. 

I know - personally, I'm in favour of the PostgreSQL approach - rather
than improve the hints, improve the planner!

Plus, if you really want to, you can go here:
https://www.postgresql.org/docs/current/runtime-config-query.html and,
for example

SET enable_seqscan = OFF;

Plus, there is/are extension(s) which allow one to provide hints - I
did think this was a bit of a whopper alright!


> Multiple transactions per connection.  I am asking WHY is that a feature.  when one can have multiple sessions, what
isthe difference?  running multiple transactions in single or multiple sessions means moving  part of transaction logic
intothe application space. What do we gain here..... 

No idea - I'll take your word for it!

> No application packaging.  This Oracle thing that  firebird has duplicated at some level.  we can simulate this with
namespace/schemas.

Again, I'm not too sure of my ground here - but I do know that Oracle
(and SQL Server) are ahead in this domain.


> There are litigmate points here
> Compression,
> not being able to return partials result sets from functions
> XID being 32 bit

There's a lot of talk about 64 bit ones - FB has 48 bit ones AIUI -
that could kick the can down the road for PostgreSQL at the price of 2
bytes per record - is it worth it to alleviate the difficulties
associated with VACUUM-ing?

> anonymous functions in PG have several limitation not just input arguments (not sure i see the need for that)
> Temporary tables are a pain and cause issues for big databases

> The article is unfair in many places..

Accepted now - thanks for your input.


--

El!



В списке pgsql-general по дате отправления: