2011-02-16 4 views
1

주로 C# 데이터 테이블을 반환하는 웹 서비스를 개발 중입니다.웹 서비스 출력 캐시를 저장하기위한 적합한 클라우드 서비스?

현재 출력 결과를 memcached 클러스터에 캐시합니다.이 클러스터는 내부 메시지를 기반으로 다른 캐시 업데이터에서 새로 고칩니다.

캐시가 만료되지 않기 때문에 좋은 장애 조치 등을하는 것이 중요합니다. 계속 진행하면서이 베어 메크 memcached 클러스터에서 장애 조치 또는 안정적인 캐시 키 제어를 보장하기가 상당히 어려워졌습니다.

또한 확장 성은 큰 트래픽 포털의 배후에 있기 때문에 중요한 관심사가되고 있습니다.

그래서 어떤 클라우드 기반 DB 서비스 (AWS SimpleDB, AWS MySQL 또는 Azure?)가 이와 관련하여 좋은 후보가 될 수 있을지 생각 중입니다.

답변

2

저는 최근에 AWS SimpleDB를 사용하고 있었고 큰 매트릭스의 데이터를 덤프하면됩니다. 내가 관련 라이브러리를 사용 그래서 나는 파이썬 스크립트를 작성하고 그것은 당신이 좋아하는 일을 수행 할 수 있습니다

sdb = simpledb.SimpleDB('secret id') 
forex_rates = sdb['forex'] # forex is the domain (table) 
forex_date = forex_rates['2011-01-01'] #get a row of the domain 
usd_rate = forex_date['USD']   #get a cell/datum 
forex_date['USD'] = '1.435'   #modify the cell 
forex_date['USD'].save() # write the data back to the cloud 

그것은 당신이 아마 이미 알고 관계형 데이터베이스가 아니다.

+0

답장을 보내 주셔서 감사합니다. 한 가지 질문은 .Net 예제에 따라 값이 1024 바이트의 문자열 데이터를 초과 할 수 없다는 것입니다. 직렬화 된 DataTable이 쉽게 초과 할 수 있으므로 문제가 될 수 있습니다. –

+0

어떻게 직렬화 되었습니까? 그것이 긴 문자열 인 경우 S3에서 호스트 할 수 있습니다. RESTful XML/JSON 서비스로 사용하는 것을 막을 수있는 방법은 없습니다. SimpleDB는 단순한 데이터의 큰 행렬에 대해서는 매우 까다 롭습니다. 오, 여기에 답을 받아들이십시오. – jambox

+0

DataTable은 xml로 직렬화되며 매우 긴 문자열입니다. 제공된 AWS 샘플 C# 코드는 [ReplaceableAttribute Class] (http://docs.amazonwebservices.com/sdkfornet/latest/apidocs/html/M_Amazon_SimpleDB_Model_ReplaceableAttribute_WithValue.htm)를 사용하며 1024 바이트를 초과 할 수 없다고 표시합니다. 나는 충분히 잘 이해하지 못한다고 느낀다. –

2

Azure를 사용하는 경우 Azure AppFabric 캐싱을 살펴 보았습니까? 요구 사항을 한눈에 파악하면 클라우드에 적합한 캐시 모델을 제공하는 것처럼 보입니다. 둘러보기

http://www.microsoft.com/windowsazure/AppFabric/Overview/default.aspx#top

+0

AppFabric 캐싱은 우리에게 좋은 후보자처럼 들리지만 여전히 커뮤니티 미리보기 단계에 있습니다. –

+0

문제의 범위는 출시하려는시기에 따라 다릅니다. 현재 업그레이드가 진행되는 동안 가끔씩 심각한 중단이 발생하고 몇 가지 중요한 변경 사항이 있기 때문에 현재 프로덕션 포털 (제안하는 트래픽이 많지 않은 경우)에 적합하지 않다고 생각합니다. 그러나 6 개월이 지났어도 계속 개발할 수 있습니다. – knightpfhor

+0

우리는 2 ~ 3 개월 만에 석방 할 수 있습니다. 그러나 팁을 주셔서 감사합니다. –

관련 문제