2011-03-17 2 views
0

나는 매우 성능이 좋은 커스텀 서버를 작성하고있다. 100.000-600.000 개의 클라이언트가 연결되어 있으며 1,000 만 개의 레코드가 저장되어 있습니다. 데이터베이스가 단일 서버에서 실행됩니다.네트워크 데몬을 선택할 noSQL 데이터베이스는 무엇입니까?

서버 코드는 비틀림 프레임 워크 (Python으로)를 통해 구현됩니다. 이제는 MySQL을 사용했지만 NoSQL 데이터베이스가 훨씬 더 효율적이라고 생각합니다 (복잡한 쿼리, 많은 간단한 쓰기/타임 스탬프 변경 및 많은 간단한 읽기).

어떤 NoSQL 데이터베이스를 사용해야합니까? 쉬운 인덱싱은 관리 시스템에서 데이터베이스를 검색하고 특정 키워드가 들어있는 로그에서 그룹을 생성하는 옵션을 원합니다.

나는 Cassandra와 MongoDB를 보았고, MongoDB는 나에게 쉽게 들어갔다.

도움 주셔서 감사합니다.

답변

1

MongoDB는 순수한 학습 곡선이 나오면 MySQL에 대한 매우 친근한 대안이 될 수 있습니다. 카산드라는 매우 다른 짐승이며 더 높은 학습 곡선을 가질 것입니다. 그렇다고해서 둘 다 당신이 묘사 한 것에 기초하여 당신의 문제를 해결할 잠재력이 있습니다.

+0

고맙습니다. 저는 MongoDB를 고수 할 것입니다. 그것은 매우 편안해 보인다. – maxedmelon

1

쉬운 인덱싱, 임의 검색, 키워드 그룹화 등 거의 모든 NoSQL 시스템이 작동합니다. 정말 편안하게 사용할 수있는 기술로 넘어갑니다. C#처럼? 그런 다음 RavenDB를 사용하십시오 - 쿼리를 실행할 때 인덱스를 자동으로 추가 할 수도 있습니다. 얼랭처럼? 그렇다면 괴물이지만 CouchDB를 사용해야합니다. Javascript 및 JSON처럼? MongoDB를 사용하십시오.

저는 개인적으로 Mongo를 좋아합니다. SQL과 NoSQL 데이터베이스의 사랑스러운 하이브리드처럼 느껴지니까요. 당신은 그것에서 색인을 붙일 수 있고 (놀라운 성능을 얻는다!), RDBMS와 거의 비슷하다. 키/값 저장소처럼 사용할 수도 있고 "하늘의 거대한 해시 테이블"처럼 사용할 수도 있습니다. 아직도, YMMV. 그 (것)들과 놀고 무슨 일이 당신을 위해 보는지보십시오.

0

카산드라는 실제로 여러 서버 노드를 위해 설계되어 투명 복제를 제공합니다. 따라서 단일 서버 호스트로 최상의 가치를 얻지 못할 것입니다. Cassandra는 또한 주로 대규모로 설계되었으며 결과적으로 인덱싱 및 유연한 쿼리를 희생합니다. 1 천만 개의 레코드가 실제로 그렇게 크지 않기 때문에보다 융통성이 있지만 확장 성은 떨어지는 것을 시도 할 여력이 있습니다.

관련 문제