내 질문에 모두 답이 맞지 않거나 확실하지 않은 경우 잘 모르겠다. 잠깐 들려서 긴 버전을 알려 주겠다.memcache에 관계형 데이터베이스 스타일의 프런트 엔드를 만든 적이 있습니까?
최근에 대용량 웹 응용 프로그램에 대해 논할 때 "디스크는 새로운 테이프 ". 웹 사이트 관리자는 엄청난 양의 Memcache 서버 클러스터를 사용하여 클라이언트와 서버간에 I/O없이 디스크 왕복을 만듭니다. 이를 달성하기 위해 응용 프로그램 개발자는 RDBMS를 일반 데이터 저장소와 같이 처리하고 외래 키 제약 조건, 검사 제약 조건, 계단식 UPDATES 및 DELETES와 같은 중요한 기능을 버려야합니다.
하지만 memcache 클러스터를 응용 프로그램 소프트웨어 (PHP, Ruby, Python ...)의 영역과 DB 인터페이스 외부에 db 인터페이스의 다른면에 배치 할 수 있다면 어떨까요? 이를 대규모의 분산 메모리 캐시라고 생각하십시오. 확실하게하기 위해 SELECT 문 매개 변수에 관계없이 데이터베이스에서 읽을 때 100 % 캐시 적중률을 보장하면서 전체 데이터베이스를 메모리에 저장할 수있는 memcache 클러스터 유형에 대해 설명합니다. 그런 다음 응용 프로그램 코드를 작성할 때 메모리 캐싱을 잊을 수 없으며 관계형 데이터베이스 관리 시스템 인 것처럼 데이터 저장소를 다시 처리 할 수 있으며 RDBMS가 전통적으로 권장하는 방식으로 정규화 및 조인을 사용할 수 있습니다.
RDBMS의 데이터 무결성 이점을 유지/복원하면서 성능을 향상시킬 수 있습니다.
사람들이 이미이 작업을 수행 한 프로젝트를 아는 사람이 있습니까? 오픈 소스 프로젝트로서 PostGRE 또는 MySQL과 같은 오픈 소스 RDBMS를 수정할 수 있습니까? 나는 아무 것도 발견하지 못했고 이러한 프로그램이 어떻게 구조화되어 있는지 또는 그러한 스토리지 엔진을 구현할 수 있는지 여부는 알지 못합니다.
http://www.julianbrowne.com/article/viewer/brewers-cap-theorem
그 memcache에 서버 중 하나가 재부팅하는 경우, 당신은 약간 발끈 것, 유의 사항 :
을 기원합니다, 당신은 하나 개의 서버에 모든 memcached와 인스턴스를 실행해야합니다), 전체 데이터베이스를 한 컴퓨터의 메모리에 저장하는 데 충분한 메모리가 있으면 데이터베이스에 메모리를주고 가장 잘 수행 할 수 있도록하는 것이 더 쉽습니다. – Epcylon