헤로쿠는 왜 Postgresql을 사용합니까?
나는 Heroku와 함께 사용하기 위해 Postgresql에 MySQL 특정 코드를 포팅하느라 바쁩니다.Heroku가 MySQL보다 Postgresql을 사용한 특별한 이유가 있는지 궁금합니다.성능, 아키텍처 등?
업데이트: 헤로쿠 블로그 포스트에서:
헤로쿠에선 포스트그레가SQL은 강력한 기능, 데이터 무결성, 속도, 표준 규정 준수 및 지구상의 모든 SQL 데이터베이스의 오픈 소스 코드를 최적으로 조합하여 제공합니다.
포스트그레스는 여러가지 면에서 mysql보다 낫습니다.mysql에서 postgres로 마이그레이션 레일 앱에 대한 이러한 게시물을 읽을 수 있습니다.포스트그레스보다 mysql이 더 인기가 있지만 인스타그램은 이런 이유 때문인지 포스트그레스를 사용하고 있습니다.postgres가 mysql보다 훨씬 성숙하고 강건하다고 생각합니다.반면 mysql은 더 쉽고 간단하게 사용할 수 있습니다.
MySQL을 Postgre로 마이그레이션SQL in Rails « mind left
MySQL에서 Postgre로 Rails 애플리케이션 데이터 변환SQL
데이터 마이그레이션을 위해 유용한 간단한 스크립트: Rails 데이터베이스를 전송하는 레이크 작업, 예를 들어 MySQL에서 Postgres로 갔다가 다시 되돌리기
MySQL gotchas 목록의 길이를 이 postgresql gotchas 목록과 비교합니다.내 SQL은 당신을 망칠 가능성이 훨씬 높습니다.
일반적으로 말하면 pgsql이 mysql보다 24시간 운영에 더 도움이 된다고 생각합니다.또한, 그것은 내장된 발총의 수가 적은 것 같습니다.저는 여러분이 이런 저런 것들에 대해 더 잘 알고 있다면, 그것이 여러분의 결정에 다른 어떤 것보다 더 영향을 미칠 가능성이 높다고 생각합니다.
일반적으로 ORM에 의해 생성되는 종류와 같은 복잡한 쿼리의 경우 Postgres의 성능이 더 좋습니다. 또한 Postgres는 더 "솔리드"한 경향이 있습니다.이것은 과거의 일이지만 제가 관리해온 포스트그레스 서버는 가끔 무작위로 충돌하여 내려오는 테이블을 가끔 손상시키는 것을 좋아하는 mysql보다 항상 훨씬 덜 문제가 되었습니다.
현재 Heroku Postgresql에서 Mysql(ClearDB addon)로 클라이언트의 Rails 앱 중 하나를 이동하고 있습니다.포스트그레SQL은 여러 면에서 더 엄격하고 "올바른" 데이터베이스 서비스이며, 이것이 Heroku가 이를 승인하는 이유인 것으로 보입니다.그러나 Rails 프레임워크는 차이점을 어느 정도 극복할 수 있으며, Rails 앱의 대부분은 Mysql의 성능 문제가 거래 단절자가 될 만큼 충분히 커지지 않을 것이라고 생각합니다.
반면 PostgreSQL(특히 Heroku의 제품)은 스타트업 앱에 대해 몇 가지 급격한 단점이 있습니다.
- 가격이.Heroku Postgres와 함께 작업할 때 매주 "Database 연결 끊김" 오류가 발생하는 것을 방지하려면 월 200달러를 셸아웃해야 합니다.ClearDB에서는 월 10달러 요금제에 대해 100% 가동 시간(아직 이 청구를 평가할 기회가 없었습니다)을 보장받습니다. 이 요금제는 1GB의 공간도 제공합니다. 이 금액은 우리가 필요로 하는 것보다 더 많은 금액입니다.
- 열 순서.Rails development를 할 때, 저는 다음을 참조합니다.
schema.rb
데이터베이스 스키마 파일은 5분 간격으로 작성되며, 이 파일을 정리하고 가독성 있게 유지하기 위해서는 어떤 순서의 열을 추가해야 하는지 지정하는 것이 중요하다고 생각합니다.은 열 SQL은 열 순서 지정을 지원합니다; PostgreSQL은 그렇지 않습니다.많은 경우 이 기능은 중요하지 않지만 Rails/ActiveRecord의 작동 방식 때문에 열 순서를 바꿀 수 없을 때 생활이 훨씬 더 어려워집니다.
위의 어떤 조언에도 반박하지 않지만, 어떤 이유에서인지 당신이 MySQL을 정말 원하거나 계속 사용할 필요가 있다면, 나는 최근에 Heroku가 Clear라고 불리는 무료 MySQL 애드온을 제공하고 있다는 것을 알게 되었습니다.DB:
https://addons.heroku.com/cleardb
사용해 본 적이 없어서 보증할 수가 없습니다.Heroku는 무료 버전에 대해 99.95%의 가동 시간(유료 버전에 대해 100% 가동 시간)을 주장하며, 무료 버전은 "Production Ready"로 간주하지 않습니다.그들은 ClearDB가 "원본적이고 수정되지 않은 MySQL"이라고 주장합니다.
언급URL : https://stackoverflow.com/questions/4394379/why-does-heroku-use-postgresql
'programing' 카테고리의 다른 글
개체를 XML 문자열로 변환 (0) | 2023.09.23 |
---|---|
Ingit에서 fetch는 pull과 어떻게 다르고 merge는 rebase와 어떻게 다른가요? (0) | 2023.09.23 |
부모에서 자식 노드를 모두 제거하시겠습니까? (0) | 2023.09.23 |
카르마 / 자스민으로 모달 인스턴스 컨트롤러를 테스트하는 장치 (0) | 2023.09.23 |
time_t와 같이 구현 정의된 유형의 형식 지정자 (0) | 2023.09.23 |