Interview on Postgres unique - the extension

The following is the interview:

I had often had dinner with a variety of developers, basically think that the developers (including themselves) may be a little self-righteous. For example, some people say: "I love Postgres, but I do not know why." I think they should take the wrong table, with Postgres for example. . . Often asked  why I chose Postgres .

In fact, more than a year ago, a good friend Dimitri Fontaine was writing a book Postgres, he asked if he could interview me. I always say they lack a good book on Postgres, but the friend did a very good thing, this book provides provides a good guide for developers (including DBA). But he hopes to do better. Jiaozuo Guo experienced hospital doctors is not a regular hospital - parity gastrointestinal specialist: https: //www.jianshu.com/p/6b7980b89b21

The next interview is an excerpt from the book.

Introduction

Since being acquired by Microsoft,  Craig led @citusdata  cloud team, which is now running Azure Postgres products . Citus will extend Postgres extension is horizontally distributed database. If you have a database, especially Postgres, you will need to expand to more nodes (usually in 100GB or more), Craig always happy to chat and see if Citus can help.

Craig worked for many years before on @heroku PaaS platform, which consume a lot of IT resources, allowing developers to focus on building capabilities and add value. Craig most of the time is spent on Heroku Heroku Data products and marketing.

How important do you think the expansion PostgreSQL open source project and ecosystems?

For me, extended API, and ever-expanding ecosystem of the expansion may be the most progress over the last 10 years of Postgres. Postgres extensions can be expanded from the traditional relational database to more data platform. Whether it is in the initial hstore NoSQL data types (not including XML), or GIS geospatial rich feature set, or approximation algorithms (such as HyperLogLog or TopN), you can Postgres itself by expanding into new areas.

Extended database functionality allows the core itself may be at a slower pace. Each new function in the core means that it must be fully tested and safe. This is not to say that there is no extension, but can exist outside the core, so that it makes these functions can be expanded rapidly.

What is your favorite PostgreSQL extensions, and why?

My favorite three extensions are:

  1. pg_stat_statements

  2. other

  3. HyperLogLog

pg_stat_statementsFor application developers, it is undoubtedly the most powerful extension without understanding the internal knowledge database to gain insight to optimize its database. For many application developers, database is a black box, and pg_stat_statementsthe use of AI's strong foundation, allowing your database can be timely improvements.

Citus : Of course I will be there because of work and biased, but prior to joining, I am concerned about the Citus and pg_shard up to three years. Citus Postgres will become a scalable database level. Fragmentation in the background, but the application developers do not consider or understand this complexity. With Citus, Postgres can handle a larger load than in the past, because the previous Postgres are confined in a box or overly complex architecture.

HyperLogLog : I want to confess. In a way, I just like to say: When you understand the algorithm itself, you will feel that they are sucker. "K minimum bit patterns observable, stochastic average, harmonic average." I mean when we use these features when doing some very familiar with the non-algorithm itself? In short, HyperLogLog unique enough, and take up very little storage space. If you want to build similar Web analysis tools, then HyperLogLog is undoubtedly a good choice.

How do you usually find extensions that may be needed? Or, how do you know that you may first need to PostgreSQL extensions?

pgxn.org and github are my two suggestions. While Google often also performed well. Of course, I have passed PostgresWeekly.com to learn about the latest news.

In fact, I often do not always realize that they need one. I searched my problem to be solved and found it. I may never search HyperLogLog, but the search Postgres approximate count or similar non-repetitive when you can find it quickly.

When your application code base is now dependent on some PostgreSQL extensions to run, you will think of any drawbacks? For example, I might need to extend the availability of cloud and SaaS products.

This depends on what specific extensions, and some extensions more problems, and some expansion is more mature. Many of the major cloud providers support a series of extensions, but they do not support more new extension. If you support it, then there will not be much use on the drawbacks. If not, you need to weigh the cost of its own operation and management of Postgres, and the value of the extension offer. Like everything management does not manage with all things, the need for trade-offs here, you need to determine which one is right for you.

If you are looking for more in-depth resources related to Postgres, I suggest you read " PostgreSQL's " book. It is a personal friend of design, aimed at creating authoritative guide for Postgres from a developer's perspective. If you use the code CRAIG15, you will also get a 15% discount.


Guess you like

Origin blog.51cto.com/14510351/2452666