Mysql vs Oracle XE vs Postgresql. 확장성 및 성능, 어떤 것을 선택해야 합니까?
이것은 매우 광범위한 것으로 알고 있으므로 설정을 알려드리고 초점에 대해 구체적으로 말씀드리겠습니다.
설정:
저는 MYSQL을 이용하여 기존 PHP 어플리케이션으로 작업하고 있습니다.테이블은 거의 대부분 MYISAM 엔진을 사용하며 대부분 수백만 개의 행을 포함합니다.가장 큰 테이블 중 하나는 필요하지만 성능에 영향을 미치는 EAV 설계를 사용합니다.애플리케이션은 MYSQL 캐시를 가장 잘 활용하기 위해 작성되었습니다.페이지 로드당 상당한 양의 요청을 요청하며(이 때문에 부분적으로) 각 페이지 로드에 있는 전체 DB의 대부분의 테이블을 거쳐야 할 정도로 복잡합니다.
장점:
- 무료예요.
- MYISAM 테이블은 응용프로그램에 중요한 전체 텍스트 색인을 지원합니다.
단점:
- 사물이 설정되는 방식으로, MYSQL은 전체 애플리케이션에 대해 하나의 CPU로 제한됩니다.매우 까다로운 쿼리 하나가 실행되거나 서버가 많은 부하를 받게 되면 다른 쿼리는 모두 대기열에 놓이게 되어 사이트가 응답하지 않게 됩니다.
- MYSQL 캐싱과 "WITH" 또는 "INTERCT"가 부족하면 캐시를 더 잘 사용하기 위해 쿼리를 분해해야 합니다.이렇게 해서 만들어진 쿼리의 수를 곱합니다.예를 들어, 수백만 행의 여러 테이블에 걸쳐 서브쿼리를 사용하는 것은(적절한 인덱싱에도 불구하고) 현재/상향 부하 및 위 지점에 배치된 제약 조건에 큰 문제가 있음이 드러났습니다(CPU 사용량).
다음 연도에 확장해야 하지만 라이센스 비용을 당장 지불할 준비가 되어 있지는 않기 때문에 애플리케이션을 다시 작성하고 DB를 전환하는 것에 대해 생각해 왔습니다.
고려 중인 세 가지 옵션은 mysql을 계속 사용하는 것이지만, INNODB 엔진을 사용하면 더 많은 CPU 파워를 활용할 수 있습니다.Oracle XE에 적응하여 4Gb 데이터베이스, 1Gb RAM 또는 1개 CPU 제한(아직 달성하지 못한)까지 확장해야 할 경우 라이센스를 취득합니다.또는 Postgre에 적응합니다.SQL
그렇다면 질문은 다음과 같습니다.
- 세 가지 경우에 전체 텍스트 인덱싱 손실이 성능에 어떤 영향을 미칩니까(oracle 또는 postgre)?SQL에 동등한 것이 있습니까?)
- Oracle 및 postgre 방법SQL은 하위 쿼리, WITH 및 UNION/INECT 문에 캐쉬를 활용합니다.
- Oracle 및 Postgre의 운영 방식SQL은 멀티코어/CPU 전력 활용(오라클 라이센스를 취득한 경우/취득한 경우)
이미 대답해야 할 것이 많은 것 같으니 여기까지만 하겠습니다.칭찬할 수 있는 링크가 있다면 간단한/불완전한 답변도 상관없습니다.
더 필요한 정보가 있으면 저에게 알려주세요.
미리 감사드립니다 여러분, 도움을 주시면 감사하겠습니다.
PostgreSQL은 전체 텍스트 검색 및 색인을 지원합니다.자세한 건 여기 있습니다.
그리고 CPU 코어는 얼마든지 사용할 수 있습니다.세션마다 별도의 프로세스를 생성하고 일부 추가 지원 프로세스도 생성합니다.자세한 건 여기 있습니다.
PostgreSQL에는 쿼리 캐싱 기능이 내장되어 있지 않지만 이러한 목적을 위한 많은 오픈 소스 유틸리티가 있습니다.
언급URL : https://stackoverflow.com/questions/13952182/mysql-vs-oracle-xe-vs-postgresql-scalability-and-performance-which-to-chose
'source' 카테고리의 다른 글
왜 strdup이 사악하다고 여겨지나요? (0) | 2023.10.29 |
---|---|
크롬 확장을 테스트하는 방법은? (0) | 2023.10.29 |
모든 경로에서 Can Activate guard를 신청하는 방법은? (0) | 2023.10.29 |
C와 C++ 컴파일러가 명시적으로 초기화된 글로벌 변수와 기본 초기화된 글로벌 변수를 서로 다른 세그먼트에 배치하는 이유는 무엇입니까? (0) | 2023.10.29 |
앱이 다시 시작되지 않고 다시 시작됨 (0) | 2023.10.29 |