내 웹 크롤러를 위해 정말 빠르고 영구적 인 캐시가 필요합니다. 그것은 Java에서 ConcurrentSkipListSet만큼 빠를 필요는 없지만 확실히 해시 인덱스 기반 테이블을 사용하여 MySQL이 될 수는 없습니다. 1m + 기록 후 프로세서 시간의 80 %가 걸립니다.
이 사례에 대해 유용한 정보를 알고 계시나요?
힌트를 보내 주셔서 감사합니다.
빠른 영구 캐시에 대한 알려진 솔루션이 있습니까?
답변
저는 테라코타 (엔지니어가 아님)의 직원입니다.하지만 기술에 관계없이 명확성을 추가하면 답변을 얻는 데 도움이 될 것입니다.
예, Ehcache는 캐싱과 관련하여 국제적으로 50 만 개가 넘는 배포에 적합하며 분산 캐시가있는 소규모 클러스터에서 주로 사용됩니다. 응용 프로그램이 Java 기반이라면 테라코타는 "BigData"로 최대 성능 향상을 제공 할 것입니다. 왜냐하면 메모리 속도가 빠른 응용 프로그램을 제공하기 때문입니다.
예, BigMemory Go는 무료입니다. 그것의 32 기가 바이트 freemium 제공, 오픈 소스와 혼동하지 마십시오. 분산 캐시에서는 사용할 수 없으며 BigMemory Max 및 gb 제한이 훨씬 적습니다.
BigMemory는 디스크에 영구적입니다. Terracotta Server Array (L2)는 디스크를 통해 통신하여 치명적인 정전에도 데이터가 손실되지 않도록합니다. 테라코타는 99.999 %의 데이터 내구성을 지닌 산과 같은 특성을 지니고 있습니다. * Terracotta Server Array의 이러한 개념은 대개 많은 혼란을 야기합니다. 자세한 내용은 http://terracotta.org/documentation/terracotta-server-array/server-arrays을 참조하십시오.
BigMemory는 가비지 수집이 완전히 해제 된 오프 힙 데이터 저장소입니다. 이는 바이트 코드 버퍼를 통해 수행되며이 데이터 저장소는 자동 리소스 제어에 의해 능동적으로 관리됩니다. 귀하의 요구 사항 (즉, 캐시에 원하는 오브젝트의 수, 즉시 또는 최종 처리량, 오브젝트 수명 시간 등)에 따라 자동 리소스 제어가이 작업을 수행합니다. 즉, GC, 힙 크기가 서버의 사용 가능한 메모리에 의해 제한되지 않으며, 가장 중요한 것은 조정이 필요하지 않음을 의미합니다.
얼마나 많은 캐시가 필요한지 아는 것은 추측과 확인 방법입니다. 각 응용 프로그램은 고유하므로 메모리에 배치해야하는 데이터의 양을 자신있게 예측할 수 없습니다. 나는에 게시하여 윤리 강령을 위반하면 나는 ... 사전에
나의 사과 하나가 XYZ의 SLA를 도달하기 위해 캐시에 GB를 배치 "N"필요를 알 수있는 공급 업체의 의심스러운 것 여기 또는 거기에 묵시적인 편견이 있었다. 다행스럽게도이 정보는 선명도를 높이고 테라코타에 대한 일반적인 질문을 밝힐 수있었습니다.
"예, BigMemory Go는 무료입니다."... "무료 평가판"만 있습니다. –
저는 cache2k에서 작업 중이며 가장 최근의 캐시 퇴거 정책을 연구하여 cache2k benchmarks을 참조하십시오.
지속성이 현재 추가되었으며 2 주 내에 미리보기 및 테스트를 수행 할 수 있습니다. 나는 그것이 5 주 만에 매우 안정 될 것으로 기대한다. cache2k 구현은 물론 EHCache만큼 성숙하지는 않지만, 출시 된 모든 것이 우리 자신의 응용 프로그램에서 사용되고 프로덕션 환경에서 증명됩니다.
업데이트 : 전체 잠금 개념은 마지막으로 재 작성하고주의 깊은 검사 ... 당신은 github
- 1. 자바 최대 절전 모드와 같은 C++ 영구 솔루션이 있습니까?
- 2. getSelection()에 대한 크로스 브라우저 솔루션이 있습니까?
- 3. 알려진 유형의 VB.NET에서 가장 빠른 캐스팅?
- 4. 영구 리소스 모니터 프로그램에 대한 아이디어가 있습니까?
- 5. Linux에서 작동하는보고 솔루션이 있습니까?
- 6. 레일스에서 auto_complete를위한 확실한 솔루션이 있습니까?
- 7. 알려진 배포 프로세스가 있습니까?
- 8. 레일 캐시에 만료 태그가 있습니까?
- 9. 외부 webapp에 대한 ASP.Net 캐시에 액세스 하시겠습니까?
- 10. Smarty를위한 i18n/translation 솔루션이 있습니까?
- 11. emacs와 TFS를 통합하는 솔루션이 있습니까?
- 12. Silverlight 용 AOP 솔루션이 있습니까?
- 13. PHP에서 PDF 템플릿을위한 솔루션이 있습니까?
- 14. 오픈 소스 CAPTCHA 솔루션이 있습니까?
- 15. 동시 async_write. 대기없는 솔루션이 있습니까?
- 16. PHP에서 memcached에 대한 영구 연결
- 17. Java에서 XA- 트랜잭션 파일 액세스에 대한 오픈 소스 솔루션이 있습니까?
- 18. .NET 응용 프로그램에서 전역 이벤트에 대한 솔루션이 있습니까
- 19. Google지도 API v3에 대한 마커 클러스터가 존재하는 솔루션이 있습니까?
- 20. 이 목록에 대한 더 나은 솔루션이 있습니까? <DateTime>?
- 21. svnkit과 같은 svnserve에 대한 Java 솔루션이 Java의 Subversion에 있습니까?
- 22. 이 하스켈 문제에 대한 표준 라이브러리 솔루션이 있습니까?
- 23. 알려진 웹 크롤러 목록이 있습니까?
- 24. 캐시에 대한 작업의 출력 형식 당 및 사용자별로
- 25. PHP와 영구 연결
- 26. .net에 대한 GUI 기반 배포 솔루션이 필요합니다.
- 27. C#의 비동기 네트워크 코드에 대한 잘 알려진 패턴이 있습니까?
- 28. 스팬에 대한 빠른 분
- 29. iPhone 앱에는 어떤 종류의 검색 솔루션이 있습니까?
- 30. 아이폰에 VoIP를 구현하기위한 단계별 솔루션이 있습니까?
에 신흥 지속성 지원을 추적 할 수 있습니다 필요하기 때문에 "2 주"매우 낙관적으로 머물 수 물론 ConcurrentSkipListSet 레벨 1의 게임, 레벨 2의 게임입니다. – tomasb
카산드라는 어떨까요? 많은 속성이 내 시나리오에 적합합니다. 빨리? – tomasb