2011-08-18 1 views
0

정기적으로 몇 개의 웹 클라이언트로부터 위치 데이터를받는 응용 프로그램을 만들었습니다. couchdb를 사용하여 빠른 구현을 만들었지 만 couchdb가 각 업데이트에 대해 새로운 개정판을 작성하고 데이터가 자주 업데이트되기 때문에 많은 양의 디스크 공간을 소비했지만 역사적인 데이터는별로 중요하지 않았습니다. 대신 MongoDB를 살펴 보았습니다. 그러나 MongoDB 구현 방법을 생각할 때 다른 아이디어가 있습니다.전체 개체를 저장소로 사용하기

전역 개체는 프로세스 범위에 있으므로 세션간에 데이터를 공유하는 데 사용할 수 있습니다. 세션 이상으로 지속성이 필요하지 않으므로 데이터베이스를 완전히 삭제하고 모든 데이터를 전역 개체에 저장했습니다 (자바 스크립트를 사용하여 HTML5 localStorage에서 사용자 편의를 위해 일부 데이터를 보존했습니다). 백엔드의 복잡성이 크게 줄어들었고 솔루션이 다소 우아 해졌지만 여전히 샤워 할 필요가있는 것 같았습니다. ...

그래서 내 질문에 :이 솔루션을 사용하는 분명한 함정이 있습니까? 생각하지 않았 니?

+0

정보가 충분하지 않습니다. 데이터를 사용할 용도는 무엇입니까? 어떻게 질문 할거 니? –

+0

데이터는 해시 맵에 저장되므로 ID를 사용하여 직접 액세스 할 때 쿼리를 수행 할 필요가 없습니다. –

답변

0

Memcache를 재검토하신 것을 축하드립니다. (나는 두 번 했어) 이 데이터를 저장해야한다면 서버 응용 프로그램을 다시 시작하면 RAM의 모든 데이터가 지워지기 때문에 실제로 db에 저장해야합니다. 그래서 실제로 memcache와 비동기 적으로 db를 쓰는 것이 낫습니다.

+0

감사 : P 올바른 업데이트가 한 번의 업데이트주기 후에 재생성되므로 데이터를 유지할 필요가 없습니다. 이런 식으로 많은 양의 데이터를 저장할 때 어떤 의미가 있는지 궁금했습니다. –

+0

많은 양의 데이터를 저장하려면 큰 RAM이 필요합니다. memcache는 또한 BarkleyDB를 기반으로하지만 memcache 메커니즘을 사용하는 memcacheDB라는 데이터베이스를 가지고 있습니다. –