Michael Stonebraker, co-founder of PostgreSQL and professor of computer science at MIT, listed his top requests for features to add to the popular open source database, including a time travel function that he admits was poorly implemented in the 1980s.
Speaking at the Postgres Vision conference, Stonebreaker said that the time travel code was originally a good idea, as it allows users to query data from database history, and it introduced an application in the 1990s.
“The problem with time travel in 1995 was that my implementation was too bad. It was slow, slow, slow, slow. Whether or not time travel was a good idea, the implementation was too slow to be enjoyable, so it was properly omitted from before the authorities on the committee that has been dealing with Postgres since 1995,” he told the audience.
Postgres was first proposed in 1986 [PDF] He succeeded Ingres while Stonebreaker was a professor at the University of California, Berkeley. PostgreSQL is released under the OSI-approved PostgreSQL License. He received a 2014 Turing Award for his introduction to the writing system, which still supports PostgreSQL today.
Despite the previous failed attempt, he said time travel would be at the top of the list of features he’d like PostgreSQL to see in the future. “It allows you to fix user application errors. Basically, it allows you to put in different terms that allow you to query the history, so if you want to know what happened yesterday, just set it to yesterday, life is good.”
Stonebraker added that time travel would have the side benefit of helping administrators analyze denial of service attacks, for example. The second motivation he wanted to see from the PostgreSQL developers was to make Software as a Service a priority. While companies like Postgres EDB Services offer platform-as-a-service for PostgreSQL, which takes some of the hassle out of getting the system up and running, the goal should be real 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. That doesn’t make your resource management issue any more efficient.”
“I am a big fan of SaaS. You share a bunch of cases where someone else is concerned and someone agrees to charge you only when using actual transaction services. Obviously this would be cheaper if someone else was worried about allocating resources and sharing time between you and others. “.
However, he added that PostgreSQL versions such as AWS Aurora have taken the lead in open source PostgreSQL in this area.
“The problem I see with SaaS is that it is currently served by some ‘cloud elephants’, Aurora, for example. In my opinion, PostgreSQL has to be in this game, or else it risks losing brain engagement in cloud operations. In general, the cloud is a It truly is the future of computing, and PostgreSQL and EDB should pay close attention to the utilities that are desired in this world,” the database pioneer explained.
Third place on Stonebreakers’ wish list was data storage. Since the 1990s, data warehousing has been a market that PostgreSQL has been missing out on, he said. The problem was that PostreSQL is a row store database, while the data store implementation was better supported by column store databases.
“Column stores are more efficient than row stores when you’re only looking at a few fields,” he said, adding:
“PostgreSQL is not competitive in the data warehouse market. I have talked about this with several people at the EDB and elsewhere, and [they] They consciously decided not to play because it required a lot of work. Having a column store is basically a new storage engine and a new and new improved port and that’s a lot. I understand [the] resolution. However, this is a big market.”
The last request was to provide better support for user-defined functions and stored procedures in PostgreSQL. He noted that computer scientists know that it is better to run logic in a stored procedure, or a user-defined function in a database system, than to bring data into the application. But “real programmers don’t use this stuff”.
Stonebraker described how a Stanford student conducted a developer survey and found in the comments that the stumbling points included no debugger, no release, no testing environment, lack of standards and lack of language support.
“User-defined functions and stored procedures are a pain in the ass to get to production, because in development and debugging, they are really a pain. So please, please, PostgreSQL: you can fix tools for user-defined functions and stored procedures. You can implement a debugger, It is not that difficult.”
Since Stonebreaker is still seen as a pioneer in database software, maybe the community will listen to their opinions. Whether they will act is another matter. However, the EDB, itself a major contributor to the project, has the resources to do so. It has just announced a new round of financing by Bain Capital Private Equity to support its future growth. ®