Hi,
> On Sep 30, 2019, at 02:51, Brice Vissière <
br...@yaal.fr> wrote:
>
> - all the tests were ran with RelStorage 3.0a (a1 to a11), which is still under development. If we choose to go with this development version in production, I guess we will do it "at our own risks". We are wondering what kind of risks? And especially, are there points we should focus on and check, in order to minimize those risks?
We are also using RelStorage 3.0 in what I think is a fairly large production setting (for example, one large single database is around 100GB and 33 million objects; there are currently about 180 client connections to it). In fact, scaling RelStorage in several different ways has been the general theme for the 3.0 series.
We work hard to make sure that each release is as stable as possible. We try especially hard to be sure that it doesn't introduce chances for database corruption (but we can still make mistakes!). Any bugs we do spot we try to address as quickly as possible. We usually give each release one to two weeks in QA testing before putting it in production (though not always).
The main risks, I would say, are that things are still changing from release to release. Options and configuration settings may come and go; the format of the persistent cache may change; auxiliary tables may be added or altered; stored procedures may change (in such a way that rolling releases aren't possible and a complete shutdown is required[1]), and so on. That said, I think we're closing in on a final feature set for 3.0 and the rate of change in things like that is slowing down.
> - our tests were performed with direct connections to postgresql; we should also still use a ZEO instance in front of postgresql. We did not try it. Is this a good/recommended setup?
I wouldn't put ZEO in front of RelStorage on PostgreSQL (or any other RDBMS). ZEO doesn't understand and expose that RelStorage is natively an IMVCCStorage and never calls new_instance(), so you wind up attempting to multiplex all your client connections over a single PostgreSQL connection. That tends not to go well, *especially* not in history-free RelStorage.
HTH,
Jason
[1]
https://github.com/zodb/relstorage/issues/332