2013-04-26 3 views
0

데이터베이스가 필요한 웹 애플리케이션을 작성하고 있습니다.더 많은 트랜잭션으로 데이터의 일관성을 보장합니다.

IndexedDB와 websql 트랜잭션이 짧아야하고 서버에서 모든 데이터를 가져온 다음 트랜잭션을 열고 모두 일관성을 유지하는 것이 좋습니다.

제 문제는 많은 데이터를 가져와야하고 메모리를 (특히 모바일 브라우저에서) 유지할 수 없다는 것입니다. 이러한 이유로 덩어리를 읽고 덩어리를 쓰는 것이 좋습니다. 이렇게하면 메모리 소비량이 훨씬 적습니다. 모든 청크는 다른 트랜잭션에 의해 작성됩니다 (짧고 자동 커밋 됨). 이러한 방식으로 일관성을 보장 할 수 없습니다. 이 시나리오의 모범 사례는 무엇입니까? 다른 솔루션이 있습니까?

답변

0

일관성을 위해 더 짧은 트랜잭션과 성능을 위해 더 긴 트랜잭션 사이에는 상쇄 관계가 있습니다.

내 라이브러리 (YDN-DB)에서는 (병렬, 다중 요청), 업데이트 (직렬, 원자) 및 쿼리 (병렬, 단일) 채우기에 별도의 transaction thread을 사용하는 것이 좋습니다.