2017-10-25 1 views
0

나는 할 일이 있고 제한된 하드웨어 리소스가 있습니다.제한된 하드웨어 리소스를 사용하는 Postgres로드 균형

largeobjects (3TB +) 테이블과 많이 액세스되는 작은 테이블 (< 10GB)이있는 단일 데이터베이스로 postgres 서버를 설정해야합니다.

~ 5TB의 하드 디스크 공간과 제한된 CPU 및 RAM을 가진 오래된 실제 서버가 있습니다. 또한 CPU 및 RAM의 가상 서버를 훨씬 빠르게 사용할 수 있지만 저장 용량은 제한적입니다.

많은 DELETE 문은 없으며 대부분의 SELECT 문은 최근 데이터입니다. 하나의 호스트에서만 클라이언트가 모든 작업을 수행하는 하나의 동시 연결이 있습니다.

나는 몇 가지 시나리오를 참조하십시오

  1. 포스트 그레스 원격 스토리지 (단일 인스턴스) 일부와 로컬 스토리지 (단일 인스턴스) 모두에서
  2. 포스트 그레스와 기존의 하드웨어에
  3. 포스트 그레스 가상 머신에 복제의 종류 (새로운 데이터를위한 고속 가상 머신, 오래된 하드웨어의 이전 데이터를위한 저속)
  4. 다른 아이디어?

postgres 데이터베이스의 최신 부분 만 복제 할 수 있습니까?

SELECT 쿼리의 90 %는 가장 최근의 ~ 5-10 기가 바이트 데이터가 될 것이지만 나머지는 2,990 TB에 원활하게 액세스해야합니다.

어떻게해야합니까? (적절한 하드웨어 구매 제외)

답변

1

10GB의 많이 액세스되는 데이터를 버퍼링 할 수있는 충분한 RAM이 있으면 중요하지 않습니다.

10GB를 캐시 밖으로 밀어 내지 않고 큰 개체를 읽으려면 추가 RAM이 필요하지만 이는 오늘날의 컴퓨터에서 문제가되지 않아야합니다.

모든 작업이 하나의 연결에서 수행되면 데이터베이스에 부하가 높지 않는 것처럼 들립니다.

그래서 저는 그러한 요구 사항에 맞게 조정하는 것에 대해 정말로 걱정하지 않을 것입니다.

가장 큰 걱정은 합리적인 시간에 3TB의 데이터를 백업하는 방법 일 것입니다.

편집 : 메모리가 부족하면 더 빠른 저장 공간으로 컴퓨터를 가져 가야합니다.

+0

사실, 내가 RAM의 약 2 GB의 것, 그것은 "오늘날의 컴퓨터는"되지 않습니다 : ( 백업 아마 그래서 전체 백업이 자주 필요하지 않을 것입니다, 점진적으로 수행됩니다 나는 노력하겠습니다. 그리고 알려줘;) – boskar

+0

RAM이 거의없는 컴퓨터에 대한 조언을 추가했습니다. –

0

마지막으로 몇 가지 시나리오를 확인하고 파일/대형 개체를 데이터베이스에 보관하지 않기로 결정했습니다.

NFS (v4)를 통해 마운트 된 Postgres는 약간의 지연이있었습니다. 더 빠르지 만 주기적으로 몇 초 동안 질식했습니다. NFS를 통해 일반 파일을 저장하기로 결정했는데 상당히 느리지 만 안정적이었습니다.

조정할 수있는 방법이있을 것이라고 확신하지만이 솔루션도 좋습니다.

Postgres는 파일 색인으로 사용되며 파일을 로컬 하드 디스크에 보관합니다.

관련 문제