Re: Zedstore - compressed in-core columnar storage
От | Robert Haas |
---|---|
Тема | Re: Zedstore - compressed in-core columnar storage |
Дата | |
Msg-id | CA+TgmoYgatemjoKjOGg3wZ91_OkiEwqQ_cM4fGvYmvr9Kc=a3w@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Zedstore - compressed in-core columnar storage (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Zedstore - compressed in-core columnar storage
(Andres Freund <andres@anarazel.de>)
Re: Zedstore - compressed in-core columnar storage (Tom Lane <tgl@sss.pgh.pa.us>) Re: Zedstore - compressed in-core columnar storage (Andres Freund <andres@anarazel.de>) |
Список | pgsql-hackers |
On Mon, Apr 15, 2019 at 11:10 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: > TBH, I thought the reason we were expending so much effort on a tableam > API was exactly so we *wouldn't* have to include such stuff in core. > > There is a finite limit to how much stuff we can maintain as part of core. > We should embrace the notion that Postgres is an extensible system, rather > than build all the tooling for extension and then proceed to dump stuff > into core anyway. I don't agree with that at all. I expect, and hope, that there will be some table AMs maintained outside of core, and I think that's great. At the same time, it's not like we have had any great success with out-of-core index AMs, and I don't see that table AMs are likely to be any different in that regard; indeed, they may be quite a bit worse. Up until now an index has only had to worry about one kind of a table, but now a table is going to have to worry about every kind of index. Furthermore, different table AMs are going to have different needs. It has already been remarked by both Andres and on this thread that for columnar storage to really zip along, the executor is going to need to be much smarter about deciding which columns to request. Presumably there will be a market for planner/executor optimizations that postpone fetching columns for as long as possible. It's not going to be maintainable to build that kind of infrastructure in core and then have no in-core user of it. But even if it were, it would be foolish from an adoption perspective to drive away people who are trying to contribute that kind of technology to PostgreSQL. Columnar storage is a big deal. Very significant numbers of people who won't consider PostgreSQL today because the performance characteristics are not good enough for what they need will consider it if it's got something like what Ashwin and Heikki are building built in. Some of those people may be determined enough that even if the facility is out-of-core they'll be willing to download an extension and compile it, but others won't. It's already a problem that people have to go get pgbouncer and/or pgpool to do something that they kinda think the database should just handle. Columnar storage, like JSON, is not some fringe thing where we can say that the handful of people who want it can go get it: people expect that to be a standard offering, and they wonder why PostgreSQL hasn't got it yet. > >> If we have multiple candidates with sufficient code quality, then we may > >> consider including both. > > Dear god, no. I hate to pick on any particular part of the tree, but it seems entirely plausible to me that a second columnar storage implementation could deliver more incremental value than spgist, an index AM you committed. We should not move the goal posts into the stratosphere here. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: