5

Just Use Postgres for Everything

 1 year ago
source link: https://www.amazingcto.com/postgres-for-everything/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Just Use Postgres for EverythingMastodon

Just Use Postgres for Everything | Amazing CTO

Stephan Schmidt

Just Use Postgres for Everything

How to reduce complexity and move faster

Welcome HN. Technology is about tradeoffs. Using Postgres for everything is a tradeoff. Yes use the right tool for the job. Helping dozens of startups I have seen many more people overcomplicate setups than companies that use tools that are too simple for the job. If you have 1M+ customers, and you need Kafka, go ahead. If you have more systems than developers, just use Postgres. Thanks to Hugo and BunnyCDN for keeping the page fast. PS: Postgres for everything doesn’t mean one server for everything ;-)

TLDR; just use Postgres for everything.

We have invited complexity through the door. But it will not leave as easily.

Complexity

There is Radical Simplicity though.

One way to simplify your stack and reduce the moving parts, speed up development, lower the risk and deliver more features in your startup is “Use Postgres for everything”. Postgres can replace - up to millions of users - many backend technologies, Kafka, RabbitMQ, Mongo and Redis among them.

Use Postgres for caching instead of Redis with UNLOGGED tables and TEXT as a JSON data type. Use stored procedures to add and enforce an expiry date for the data just like in Redis.

Use Postgres as a message queue with SKIP LOCKED instead of Kafka (if you only need a message queue).

Use Postgres with TimescaleDB as a data warehouse.

Use Postgres with JSONB to store Json documents in a database, search and index them - instead of Mongo.

Use Postgres for Fulltext Search instead of Elastic.

Use Postgres to generate JSON in the database, write no server side code and directly give it to the API.

Use Postgres with a GraphQL adapter to deliver GraphQL if needed.

There I’ve said it, just use Postgres for everything.

About Stephan

As a CTO, Interim CTO, CTO Coach - and developer - Stephan has seen many technology departments in fast-growing startups. As a kid he taught himself coding in a department store around 1981 because he wanted to write video games. Stephan studied computer science with distributed systems and artificial intelligence at the University of Ulm. He also studied Philosophy. When the internet came to Germany in the 90 he worked as the first coder in several startups. He has founded a VC funded startup, worked in VC funded, fast growing startups with architecture, processes and growth challenges, worked as a manager for ImmoScout and as a CTO of an eBay Inc. company. After his wife successfully sold her startup they moved to the sea and Stephan took up CTO coaching. You can find him on LinkedIn, on Mastodon or on Twitter @KingOfCoders

Join the AMAZING CTO newsletter like many others!
  • Always free.

email-address

I agree to receive your newsletters and accept the data privacy statement.

Stephan is using rapidmail to send the newsletter because the email provider is in Germany with strong data protection laws. By registering, you agree that the data you enter may be transmitted to rapidmail. Please note their terms and conditions and data protection .

Other interesting articles for CTOs

Best books for CTO CTO versus CTO Experienced CTO Coach CTO Coaching CTO Jobs CTO Mentor CTO Mentoring CTO Newsletter CTO Role How many developers do you need? Outsourcing Guide Product Roadmaps for CTOs How to become a CTO in a company - a career path Work from home and remote with Scrum Waterfall and Scrum

Contact: [email protected] | Privacy | Impressum


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK