MySQL vs PostgreSQL, 뭣이 중헌디 뭣이!?

뭣이 중한지도 모르면서…

image

최근에 이슈가 되고 있는 Uber 사태!?를 아십니까!?

Why Uber Engineering switched from Postgres TO MySQL by Evan Klitzke, 06.26.2016

이전부터 낌새는… ㅠㅠ

Designing Schemaless, Uber Engineering’s  Scalable Datastore Using MySQL BY Jakob Holdgaard Thomsen, 01.12.2016

그런데, 예전에는…

Migrating Uber from MySQL to PostgreSQL by Evan Klitzke, 03.13.2013

MySQL 의 경우는 Google, Twitter, Facebook, … 등 누구나 알만한 글로벌 서비스에서 RDBMS 로 사용되고 있습니다. 2014년에는 MySQL 5.6 Branch 에서 WebScaleSQL 로 fork 하였습니다. 작년에는 Alribaba 도 참여하였습니다.

그에 반해서 PostgreSQL 은 딱히 떠오르는 서비스와 기업이 없습니다. Yahoo, MySpace, Skype 등이 사용한다고 하지만, 공개된 내용들도 별로 없고, MySQL 대비해서는 서비스 및 기업들이 핫하지 못합니다.

거기에 광명같은 존재가 Uber 였는데 최근에 MySQL Migration – Engineering blog 에 장문의 디스같은 디스같지 않은 글을 올려서 Y’s Hacker News 와 PostgreSQL Community 에도 글이 올라 왔습니다.

PostgreSQL 를 리딩하는 2개의 회사의 글도 올라왔습니다. 조금 늦게 올라온 감이 있습니다.

2ndQuadrant’s Simon Riggs

EDB’s Robert Haas

영어가 짧은지라… 대충 훑어봤습니다.

Uber 의 지적질은  디테일합니다. 그리고, 대부분 불편한 진실!?입니다. 그에 반해서 EDB 와 2ndQuadrant 의 항변?!은 딱히 와닿지 않습니다. ㅠㅠ

여기서 맹점은…

We encountered many Postgres limitations:

  • Inefficient architecture for writes
  • Inefficient data replication
  • Issues with table corruption
  • Poor replica MVCC support
  • Difficulty upgrading to newer releases

요약하면…

  1. performance
  2. replication ( shard )

2가지 항목에 대해서 반박글들은 어느 정도 타당하고, 반납득이 가는 내용들입니다. 그러나, 근본적으로 이슈(문제) 자체의 해결책을 제시한 것은 아닌 듯 합니다. 명확하게 더 빠르다라고 주장은 안하고 있습니다. 역시 성능에 관해서는 한풀 접고 들어갑니다.

조금은 지난 글이지만, PostgreSQL vs MySQL 성능이슈에 대한 좋은 블로깅이라고 생각합니다.

추가적으로 비교한다면…

  • PostgreSQL vs MySQL
  • Strict RDBMS vs Non-Strict RDBMS
  • MultiProcessing vs MultiThreading
  • Buffered IO vs Direct IO
  • Logical Replication vs Physical Replication

결론은?!

OLTP is…
MySQL > PostgreSQL

OLAP is…
MySQL < PostgreSQL

슬라이드4

Uber is …

“The early architecture of Uber consisted of a monolithic backend application written in Python that used Postgres for data persistence. Since that time, the architecture of Uber has changed significantly, to a model of microservices and new data platforms. Specifically, in many of the cases where we previously used Postgres, we now use Schemaless, a novel database sharding layer built on top of MySQL. In this article, we’ll explore some of the drawbacks we found with Postgres and explain the decision to build Schemaless and other backend services on top of MySQL.” (Thanks to Dimitri John Ledkov)

 

이 이슈는 MySQL 10.x vs PostgreSQL 10.x 에서 다시 논의해야 할 필요가 있습니다. PostgreSQL 9.6 부터는 Parallel Query 가 지원됩니다. 그래도, insert/update 성능은 크게 달라지지 않으리라 봅니다. ^^;

 

Ref :

중국이 무섭다?! ㅠㅠ

https://yq.aliyun.com/articles/58421

luke 요약글

http://use-the-index-luke.com/blog/2016-07-29/on-ubers-choice-of-databases

Advertisements

MySQL vs PostgreSQL, 뭣이 중헌디 뭣이!?”에 대한 1개의 생각

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중