2011-02-18 2 views
2

[안녕하세요, 저는이 아침에이 질문을했지만 커뮤니티에서 응답이나 의견을 얻을 수 없었습니다. 커뮤니티에서 도움을 얻고 자합니다. ..]여러 개의 동시 데이터베이스 작업을 단일 배치로 병합

Java를 사용하는 웹 응용 프로그램에서 작업 중이며 Cassandra-NoSQL 데이터베이스가 뒷받침됩니다.

카산드라는 고도의 동시 데이터베이스 작업과 엄청난 수의 작업을 한 번에 처리 할 수 ​​있습니다. 단일 배치 작업에서 수백 개의 작업과 같은 배치 크기를 사용하는 것이 좋습니다. 그러나 나는 알아낼 수 없습니다. 어떻게 효율적으로 데이터베이스 작업을 병합 할 수 있습니까/내 응용 프로그램에서 동시 사용자의 수백에 의해 제출. 이러한 작업을 일괄 적으로 병합하는 방법은 무엇입니까?

EDIT : 데이터베이스에 일괄 처리 쿼리를 제출하는 방법을 알고 있지만 요청한 쿼리를 여러 개의 동시 사용자 세션에서 단일 일괄 처리로 어떻게 수집합니까?

답변

2

조기에 최적화 중입니다. 거의 Cassandra를 사용하는 사람은 삽입물에 성능 문제가 있습니다. 그 누구도 memtable 임계 값 및 압축과 같은 것 대신 작은 배치 크기의 오버 헤드라고 생각할 수 없습니다.

stress.py 및 stress.java Cassandra 벤치 마크는 단일 행의 배치 크기를 사용합니다.

+1

고마워요 조나단! 난 단지 내가 배치 당 15-25 개 이상의 연산 (어떤 경우에는 훨씬 더 많은)을 쿼리 당 하나씩 삽입하고 싶었지만 Hector 메일 링리스트에서는 배치 크기로 시작하여 db에 쓰기를 제안하는 사람들이 있었다. 쿼리 당 약 500 개의 열이 있고 응용 프로그램에서 여러 사용자 세션을 지원하는 데 필요한 데이터베이스 작업을 병합 할 수있는 방법이 있는지 알고 싶었습니다. 저는 카산드라가 제공하는 시설을 최대한 활용하고 완벽하게 지원할 수 있기를 바랍니다. –

1

면책 조항 : Java에서 Cassandra 스타일 데이터베이스를 사용하여 실습을 수행하지 않았습니다.

는하지만 캐싱은 이들에 대한 처리 방법에 대한 정말 궁금했다, 그래서 나는 비트와 발견을 봤 :

ehCache

Gora

Kundera (google code, github)

그래서 nosql db의 JPA를 빌드하는 사람들이 있습니다. 이것은 객체 그래프가 실제로 rdbms로 잘 변환되지 않기 때문에 나에게 많은 의미가 있습니다. 참조 : a stackoverflow question comparing cassandra/rdmbsTed Neward on Object-Relational Impedence Mismatch

요점 저는 연구하는 사람들이 당신이 요구하는 종류의 문제를 해결하려고 노력하고 있다는 것입니다. 이 물건은 모두 최첨단 출혈 것 같습니다. 재미있게 지내고 자신을 자르지 마십시오!

관련 문제