2014-07-07 4 views
0

우리 회사의 세션 관리를 구현해야하지만 지금까지는 RDBMS를 사용했지만 세션 데이터의 대기 시간이 너무 짧아야하므로 대기 시간이 너무 길었습니다. Ehcache 대 메모리 내 db 대 읽기/쓰기 무거운 작업 부하 용 NoSql

그래서 나는 웹에 그것을 연구하고 생각하고 다음 세 가지 옵션이 발견 : 메모리 DB에서 테라코타
  • (타임 스텐 등)
  • 되는 NoSQL (Aerospike, 카우치베이스 주식회사)
    • 으로 Ehcache +를

    이제 이러한 솔루션을 사용해보기 시작했지만 숙련 된 솔루션에서 2 센트를 얻고 싶습니다. 작업량 패턴은 읽기/쓰기가 50/50이고 HA의 경우 클러스터가 필요합니다.

    높은 처리량, 낮은 대기 시간 및 궁극적 인 일관성이 필요합니다.

    NoSQL이이 시나리오에 적합하지만 더 많은 정보를 듣고 싶습니다.

    이러한 작업 부하에 가장 적합한 옵션은 다음 중 어느 것입니까?

    답변

    0

    Microsoft는 ASP.NET과 PaaS, Azure에서 Redis를 세션 저장소로 사용합니다. 나는 그들이 왜이 특정 NoSQL DB를 지원하기로 결정했는지 알고 있다고 생각합니다. 그래서 당신은 그것에 대해 조사하고 싶을지도 모릅니다.

    Redis는 메모리 키 값 저장소에 있으며 시간 제한 삽입을 제공합니다. 데이터는 잠시 후 redis로 자동 삭제할 수 있습니다. 또한 여러 시스템에 배치하여 더 나은 성능 또는 가용성을 확보 할 수도 있습니다.

    3

    광고 비즈니스는 세션 관리를 사용하는 가장 큰 업계 중 하나입니다. 거의 모든 사람들이 NoSQL 기반 솔루션을 고려하고 있습니다.

    광고 비즈니스의 가장 중요한 요구 사항은 대기 시간이 가장 짧은 디스플레이 광고이므로 일반적으로 대기 시간을 낮추기 위해 메모리에 데이터를 저장하는 경향이 있습니다. 하지만 비용이 많이 든다.

    Aerospike에 대해 이미 언급 했으므로 SSD에 최적화되어 있으므로 SSD에도 데이터를 저장하여 잠깐의 대기 시간을 유지할 수 있습니다. 그리고이 제품은 최근 오픈 소스입니다.

    위의 설명에서 언급 한 Redis와 같은 다른 옵션이 있지만 Aerospike는 HA 목적 및 자동 샤딩을위한 교차 데이터 센터 복제와 같은 이점을 제공합니다. 최소한의 구성만으로 설치 및 실행이 매우 쉽습니다.

    그래서 NoSQL을 사용 사례를 살펴 보겠습니다.