1980s database requires time travel, author says • The Register

PostgreSQL co-creator and MIT computer science professor Michael Stonebraker has listed his top feature requests to be added to the popular open source database, including a time travel feature he admits has been poorly implemented in the 1980s.

Speaking at the Postgres Vision conference, Stonebreaker said time travel code is basically a good idea because it allows users to query database history data and introduced a implemented in the 1990s.

“The problem with time travel in 1995 was that my implementation was absolutely horrible. It was slow, slow, slow, slow. Whether time travel was a good idea or not, the implementation was too slow to be interesting, so it was rightly suppressed by the powers that be in the committee that has been dealing with Postgres since 1995,” he told attendees.

Postgres was first proposed in 1986 [PDF] as Ingres’ successor while Stonebreaker was a professor at UCL Berkeley. PostgreSQL is released under the OSI-approved PostgreSQL License. He received the 2014 Turing Award for introducing the type system, which still underpins PostgreSQL today.

Despite the previous failed attempt, he said that time travel would be high on the list of features he would like to see PostgreSQL in the future. “This allows you to fix user application errors. Basically it lets you put in different terms that let you query the log, so if you want to know what happened yesterday, just set it to yesterday, and life is good,” he said. declared.

Stonebraker added that time travel would have the side benefit of helping administrators analyze denial of service attacks, for example. The second goal he wanted to see from PostgreSQL developers was to make software as a service a priority. While companies like Postgres services company EDB offered a platform as a service for PostgreSQL, taking some of the hassle out of running the system, the goal should be true SaaS, he said.

“With PaaS, you have an instance on AWS or Google Cloud Platform and you pay for that instance, 24/7, until you delete it. It doesn’t make your resource management problem any more efficient .”

“I’m a big fan of SaaS. You share a set of instances that someone else cares about and someone agrees to charge you only when you use real transactional services. It’s obviously going to be cheaper if someone else is worried about resource allocation and sharing between you and other people,” he said.

However, copies of PostgreSQL such as AWS Aurora are way ahead of open-source PostgreSQL in this area, he added.

“The problem I see with SaaS is that it’s currently offered by some of the ‘cloud elephants’, Aurora, for example. In my opinion, PostgreSQL should be in this game, or it risks losing notoriety to cloud counterfeits. More generally, the cloud really is the future of computing and PostgreSQL and EDB should be paying very, very careful attention to what facilities are desirable in that world,” the DB pioneer explained.

Third on the Stonebrakers wish list was data warehousing. Since the 1990s, data warehousing had been a market PostgreSQL had missed, he said. The problem was that PostreSQL is an inline storage database, whereas data warehousing applications were better supported by columnar storage databases, he said.

“Column stores are just more efficient than row stores when you’re only looking for a few fields,” he said, adding:

“PostgreSQL is not competitive in the data warehouse market. I’ve talked about it with various people at EDB and elsewhere, and [they] have consciously decided not to play because it’s a lot of work. Getting a column store is basically a new storage engine, a new executor, and a new optimizer and that’s a lot. I understand [the] decision. However, it’s a big market.”

The last request was to better support user-defined functions and stored procedures in PostgreSQL. He pointed out that IT people know that it is better to execute logic in a stored procedure, or a user-defined function in the database system, than to bring the data to the application. But “real programmers don’t use this stuff”.

Stonebraker described how a Stanford student conducted a developer survey and found in feedback that sticking points included no debugger, no release, no test environment, lack of standards and lack of language support.

“User-defined functions and stored procedures are a pain to get into production, because in development and debugging they are really a pain. So please, please, please PostgreSQL: you can fix tools for user-defined functions and stored procedures. You can implement the debugger, it’s not that difficult.”

With Stonebreaker still considered a pioneer in database software, perhaps the community will listen to their point of view. Whether they will act is another matter. However, EDB, itself a major contributor to the project, has the means to do so. It has just announced a new fundraising by Bain Capital Private Equity to fuel its future growth. ®

Maria H. Underwood