NCache 특징

 

기능 요약

이것은 모든 내용을 요약한 것입니다. NCache 특징. 다음을 방문하세요. 제품 페이지 or 문서 각 기능에 대한 자세한 내용을 확인하세요.

특색
 
.NET 및 자바 지원
- 캐시 클라이언트: .NET, Java, Node.js, Python
- .NET 버전: 서버측 코드(.NET)
- Java Edition: 서버측 코드(Java)
- 자바 메이븐 패키지
- .NET NuGet 패키지
- Node.js 및 Python 패키지
 
윈도우 및 리눅스 지원
- Windows(캐시서버, 캐시클라이언트)
- Linux (캐시서버, 캐시클라이언트)
 
도커 및 쿠버네티스 지원
- 도커(리눅스, 윈도우)
- 쿠버네티스(온프레미스)
- Azure Kubernetes Service (AKS)
- AWS 엘라스틱 쿠버네티스 서비스(EKS)
- 레드햇 오픈시프트 쿠버네티스
- 구글 쿠버네티스 엔진(GKE)
 
성능 및 확장 성
- 캐시 성능 최고 빠른
- 캐시 확장성 뛰어난 확장성 (2만 ops/초, 5노드 클러스터)
- 대량 작업 API
- 비동기 작업 API
- 압축
- 빠른 컴팩트 직렬화
- 인덱스
- 다중 NIC 바인딩
- 파이프라이닝
 
캐시 탄력성(고가용성)
- 동적 캐시 클러스터
- 피어 투 피어 아키텍처
- 연결 장애 조치
- 분할 브레인 감지 및 자동 복구
- 동적 구성
- 다중 클러스터
- 명명된 캐시
- 통신 프로토콜( TCP )
- 클러스터별 이벤트
- 유지 관리 모드에서 재파티션 중지
 
캐시 토폴로지
- 로컬 캐시
- 클라이언트 캐시(캐시 근처)
- 미러링된 캐시
- 복제된 캐시
- 파티션된 캐시
- 파티션 복제 캐시
- 분할된 데이터 밸런싱
- 자동 로드 밸런싱
- 분할된 데이터 선호도
- 실시간 지속성
- 단일 홉 데이터 액세스
 
WAN 복제(다중 데이터 센터)
- 능동 수동
- 활성 – 활성(2개 데이터 센터)
- 활성 – 활성(3개 이상의 데이터 센터)
- 다중 능동 - 다중 수동
- 갈등 해결
- 중복 제거
- 데이터 보안
 
보안 및 암호화
- 인증(Active Directory/LDAP)
- 승인
- 데이터 암호화
- 보안 통신(TLS)
 
캐시 관리 및 모니터링
- 관리 도구(웹 GUI)
- 모니터링 도구(웹 GUI)
- PerfMon 카운터
- JMX 카운터
- SNMP 카운터
- 관리 도구(명령줄)
- 관리 및 모니터링 API(.NET 및 Java)
- 플레이그라운드(라이브 + 설치 포함)
 
웹 앱(Java + 기타)
- 스프링 부트 세션
- 스프링 부트 세션(다중 사이트)
- 자바 웹 세션
- Java 웹 세션(다중 사이트)
- Node.js 웹 세션
- Node.js 웹 세션(다중 사이트)
특색
 
웹 앱(.NET)
- ASP.NET Core 세션
- ASP.NET Core 세션(다중 사이트)
- ASP.NET Core SignalR Backplane
- ASP.NET Core 응답 캐시
- ASP.NET Core IDistributedCache
- ASP.NET Core 아이덴티티 서버
- ASP.NET 및 ASP.NET Core 세션 공유
- ASP.NET 세션
- ASP.NET 세션(다중 사이트)
- ASP.NET View State
- ASP.NET 출력 캐시
- ASP.NET SignalR Backplane
 
자바 통합
- 최대 절전 모드 2단계 캐시
- 스프링 캐싱
- J캐시 API
- JPA(Java Persistence API) 캐싱
 
.NET 통합
-EF 코어 캐시
- Entity Framework 6 캐시
- Hibernate 2차 레벨 캐시
 
개체 캐싱 기능
- 가져오기, 추가, 삽입, 제거, 존재, 캐시 지우기
- 만료
- 잠금 및 잠금 해제
- 대형 객체 스트리밍 API
- 항목 버전 관리
- 여러 개체 버전
- 거래 (부분 지원)
- 분산 데이터 구조
 
데이터 그룹화
-그룹
- 태그
- 명명된 태그
 
쿼리(SQL 유사)
- SQL 검색
- SQL 업데이트 및 삭제
- 태그, 명명된 태그 및 그룹에 대한 SQL
- LINQ 쿼리(.NET)
 
연속 읽기, 연속 쓰기, 캐시 로더/리프레셔
- 전체 읽기
- 연속해서 쓰기, 뒤에 쓰기
- 만료시 자동 재로드 및 DB 동기화 (Read-thru)
- 로더
- 재교육
 
데이터 소스와 동기화
- SQL 종속성(SQL Server)
- 오라클 의존성 (오라클)
- DB 종속성(모든 DB)
- 파일 종속성
- 사용자 정의 종속성(모든 소스)
 
데이터 관계 관리
- 키 기반 캐시 종속성
- 키 기반 다중 캐시 종속성
 
이벤트 및 연속 쿼리
- 아이템 레벨 이벤트(onInsert/onRemove)
- 캐시 수준 이벤트(추가/삽입/제거)
- 연속 쿼리
 
Pub/Sub 메시징(Kafka 스타일)
- 주제
- 대기줄
- 지속 가능한 구독
- 메시지 지속성
- 주제 분할
- 메시지 순서
- 메시지 전달 보장
- 스키마 관리
- 실시간 스트림(Kafka 스타일)
 
전체 텍스트 검색
- 전체 텍스트 검색(Lucene API)
- 스키마 시행
- 인덱스 마이그레이션
- 데이터 수집
 
빅 데이터 처리 및 분석
- 맵리듀스 쿼리
- 애그리게이터
- 엔트리 프로세서
 
캐시 크기 관리(제거 정책)
- 최대 캐시 크기(MB)
- LRU 제거(최소 최근 사용)
- LFU 제거(가장 자주 사용되지 않음)
- 우선 퇴거
- 축출하지 않음 옵션
 

기능 설명

 

.NET 및 자바 지원

NCache Java와 .NET 모두에 대한 강력한 지원을 제공합니다.

기능 영역 NCache
캐시 클라이언트: .NET, Java, Node.js, Python

.NET, Java, Node.js 및 Python 클라이언트가 공식적으로 지원됩니다.

.NET 에디션
서버 측 코드(.NET)

.NET 서버측 코드를 기본적으로 실행합니다.

자바 에디션
서버측 코드(Java)

Java 서버측 코드를 기본적으로 실행합니다.

자바 메이븐 패키지

Maven 패키지 전체 세트가 제공됩니다.

.NET NuGet 패키지

NuGet 패키지 전체 세트가 제공됩니다.

Node.js 및 Python 패키지

Node.js 및 Python 패키지 전체 세트가 제공됩니다.

 

윈도우 및 리눅스 지원

NCache Linux와 Windows 모두에 대한 강력한 지원을 제공합니다.

기능 영역 NCache
Windows(캐시 서버, 캐시 클라이언트)

캐시 서버 및 캐시 클라이언트에 대한 Windows 공식 지원

Linux(캐시 서버, 캐시 클라이언트)

캐시 서버 및 캐시 클라이언트에 대한 Linux 공식 지원

 

도커 및 쿠버네티스 지원

NCache Docker와 Kubernetes 모두에 대한 강력한 지원을 제공합니다.

기능 영역 NCache
도커(리눅스, 윈도우)

Linux 및 Windows Docker 이미지가 공식적으로 지원됩니다. NCache 서버

Kubernetes
(온프레미스)

NCache 모든 Kubernetes 클러스터 내에 원활하게 배포할 수 있습니다. NCache 서버는 Linux 또는 Windows 기반 Pod일 수 있습니다.

달리기 NCache Kubernetes 내부와 외부 모두에서 Management Center에 액세스하고 관리할 수 있습니다. NCache 클러스터.

Azure Kubernetes Service (AKS)

NCache AKS(Azure Kubernetes) 클러스터 내에 원활하게 배포할 수 있습니다. NCache 서버는 Linux 또는 Windows 기반 Pod일 수 있습니다.

달리기 NCache AKS Kubernetes 내부와 외부 모두에서 Management Center에 액세스하고 관리할 수 있습니다. NCache 클러스터.

AWS Elastic Kubernetes Service(EKS)

NCache 모든 AWS Elastic Kubernetes(EKS) 클러스터 내에 원활하게 배포할 수 있습니다. NCache 서버는 Linux 또는 Windows 기반 Pod일 수 있습니다.

달리기 NCache EKS Kubernetes 내부와 외부 모두에서 Management Center에 액세스하고 관리할 수 있습니다. NCache 클러스터.

Google 쿠버네티스 엔진(GKE)

NCache 모든 Google Kubernetes Engine(GKE) 클러스터 내에 원활하게 배포할 수 있습니다. NCache 서버는 Linux 또는 Windows 기반 Pod일 수 있습니다.

달리기 NCache GKE Kubernetes 내부와 외부 모두에서 Management Center에 액세스하고 관리할 수 있습니다. NCache 클러스터.

레드햇 오픈시프트 쿠버네티스

NCache Red Hat OpenShift Kubernetes 클러스터 내에 원활하게 배포할 수 있습니다. NCache 서버는 Linux 또는 Windows 기반 Pod일 수 있습니다.

달리기 NCache OpenShift Kubernetes 내부와 외부 모두에서 Management Center에 액세스하고 관리할 수 있습니다. NCache 클러스터.

 

성능 및 확장 성

NCache 매우 빠르고 확장 가능합니다. 방법 보기 NCache 이것을 달성합니다.

기능 영역 NCache
캐시 성능

최고 빠른

2만 ops/초, 5노드 클러스터

NCache 매우 빠릅니다. 그것을 참조하십시오 성능 벤치 마크 더 확장할 수 있습니다.

벤치마킹을 할 수 있습니다 NCache 제공되는 스트레스 테스트 도구를 사용하여 자신의 환경에서 NCache.

캐시 확장성

뛰어난 확장성

2만 ops/초, 5노드 클러스터

NCache 선형 확장성을 제공합니다. 즉, 클러스터에 더 많은 노드를 추가하면 성능이 선형 방식으로 향상됩니다. 그것을 참조하십시오 성능 벤치 마크.

벤치마킹을 할 수 있습니다 NCache 제공되는 스트레스 테스트 도구를 사용하여 자신의 환경에서 NCache.

대량 작업 API

대량 가져오기, 추가, 삽입 및 제거. 이는 대부분의 주요 캐시 작업을 다루며 뛰어난 성능 향상을 제공합니다.

비동기 작업 API

비동기식 추가, 삽입, 제거가 제공됩니다.

비동기 작업은 애플리케이션에 제어권을 반환하고 백그라운드에서 캐시 작업을 수행합니다. 애플리케이션 응답 시간이 크게 향상됩니다.

압축

항목 크기 임계값과 함께 이를 지정하면 임계값보다 큰 항목만 압축됩니다. 나머지는 압축되지 않은 상태로 캐시됩니다.

더 작은 항목을 압축하면 작업 속도가 느려지는 경우가 많기 때문에 이 크기 임계값이 제공됩니다.

그리고 "Hot Apply"를 통해 런타임 시 "압축"을 구성할 수 있습니다.

빠른 컴팩트 직렬화

컴팩트 직렬화는 미리 컴파일된 코드를 사용하여 직렬화하고 직렬화된 개체에 긴 유형 이름 대신 유형 ID를 저장하기 때문에 매우 빠릅니다. 이는 거의 10배 더 빠릅니다.

Compact Serialization을 위한 클래스를 등록하면, NCache 직렬화 코드를 생성하고 이를 모두 런타임 시 메모리 내에서 컴파일하고 직렬화를 위해 이 미리 컴파일된 코드를 사용합니다.

선택한 개체에 대해 Compact Serialization과 일반 Serialization을 혼합할 수 있습니다.

색인

NCache 객체 속성에 대한 인덱스를 정의할 수 있습니다.

NCache 그런 다음 연결 시 이러한 인덱스에 대한 데이터 추출 코드를 생성하고 이를 메모리에서 컴파일한 다음 모든 데이터 추출을 위해 클라이언트 측에서 사용합니다. 이는 Reflection을 사용하는 것보다 훨씬 빠릅니다.

NCache 또한 태그, 명명된 태그 및 그룹에 대한 색인을 자동으로 생성합니다. 만료 및 퇴거 정책.

다중 NIC 바인딩

두 개의 NIC를 캐시 서버에 할당할 수 있습니다. 하나는 클라이언트가 캐시 서버와 통신하는 데 사용되고 두 번째는 클러스터의 여러 캐시 서버가 서로 통신하는 데 사용될 수 있습니다.

이를 통해 대역폭 확장성이 크게 향상됩니다.

캐시 클라이언트가 캐시 서버와 통신하는 데 사용할 특정 NIC를 할당할 수도 있습니다.

파이프 라이닝

NCache 클라이언트와 서버 간의 고성능 IO 작업을 위해 파이프라인을 사용합니다. 파이프라이닝을 사용하면 확장성을 획기적으로 높일 수 있습니다.

파이프라이닝은 기본적으로 모든 캐시에서 활성화되지만 구성을 통해 비활성화할 수 있습니다.

 

캐시 탄력성(고가용성)

캐시 탄력성은 런타임 시 캐시가 얼마나 유연한지를 의미합니다. 캐시 또는 애플리케이션을 중지하지 않고 런타임에 다음 작업을 수행할 수 있습니까?

  1. 캐시를 중지하지 않고 런타임 시 캐시 서버를 추가하거나 제거합니다.
  2. 캐시를 중지하지 않고 캐시 구성을 변경합니다.
  3. 캐시를 중지하지 않고 웹/애플리케이션 서버를 추가하거나 제거합니다.
  4. 서버가 다운되고 캐시 클라이언트가 원활하게 계속 작동할 수 있는 경우 장애 조치를 지원합니다.

NCache 자가 치유 동적 캐시 클러스터링을 제공합니다. NCache 매우 탄력적입니다. 자세한 내용은 다음에서 확인하세요. 자가 치유 동적 클러스터링.

기능 영역 NCache
동적 캐시 클러스터

NCache 매우 동적이며 캐시 또는 애플리케이션을 중단하지 않고 런타임에 캐시 서버를 추가하거나 제거할 수 있습니다.

그렇게 하면 캐시나 해당 클라이언트에 대한 중단 없이 런타임 시(상태 전송이라고 함) 데이터가 자동으로 재조정됩니다. 성능저하도 없습니다.

피어 투 피어 아키텍처

NCache 캐시 클러스터에는 PXNUMXP 아키텍처가 있습니다. 이는 클러스터에 "마스터/슬레이브"나 "과반수 규칙"이 없음을 의미합니다.

모든 노드는 동일합니다. 최상위 노드인 "코디네이터" 노드가 있습니다. 작동이 중단되면 다음으로 가장 높은 노드가 자동으로 이 역할을 맡습니다.

즉, 서버가 다운되더라도 클러스터는 항상 올바르게 작동하고 유지됩니다.

연결 장애 조치
(클러스터, 클라이언트/서버)

NCache 캐시 클라이언트와 서버 간, 그리고 캐시 클러스터 내에서도 완전한 연결 장애 조치 지원을 제공합니다.

캐시서버 장애가 발생한 경우, NCache 클라이언트는 중단 없이 클러스터의 다른 서버와 계속 작업합니다.

클러스터는 데이터 균형을 재조정하고 필요한 경우 복제본을 다시 생성하여 자체적으로 자동 관리됩니다.

스플릿 브레인 감지 및 자동 복구

스플릿 브레인 감지 기능이 제공되며 다음을 통해 알림을 받습니다. NCache 그런 일이 발생하면 이벤트가 발생하고 자동 복구가 제공됩니다.

동적 구성

NCache 클러스터 구성은 하드 코딩되지 않으며 런타임에 서버를 추가하거나 삭제할 때 클러스터의 다른 모든 서버가 이를 인식하게 됩니다.

NCache 또한 클라이언트는 캐시 클러스터에서 런타임 시 모든 서버와 기타 다양한 구성에 대해 학습합니다.

또한 'Hot Apply' 기능을 사용하면 아무것도 중지하지 않고 런타임에 많은 구성을 변경할 수 있습니다.

다중 클러스터

NCache 동일한 캐시 서버 세트에서 동일하거나 다른 토폴로지로 구성된 여러 캐시 클러스터를 생성할 수 있습니다.

명명된 캐시

NCache 동일한 캐시 서버 세트에 여러 개의 명명된 캐시를 생성할 수 있습니다.

통신 프로토콜

TCP

클러스터별 이벤트

NCache MemberJoined, MemberLeft, CacheStopped 등과 같은 클러스터의 변경 사항에 대한 이벤트를 제공합니다.

이러한 이벤트는 기본적으로 Java 및 .NET 애플리케이션 모두에 전달될 수 있습니다.

유지 관리 모드에서 다시 분할 중지

NCache "유지 관리 모드"를 위해 캐시 서버를 중지할 수 있습니다. 이 경우 이 서버가 클러스터를 떠났더라도 NCache 자동 재파티셔닝을 수행하지 않습니다. 대신에, NCache 백업될 때까지 이 노드 없이 계속 작업합니다.

이 동작은 클러스터를 떠나는 노드가 자동으로 다시 분할을 트리거하는 표준 동작과 다릅니다.

 

캐시 토폴로지

캐시 토폴로지는 데이터 저장, 복제 및 클라이언트 연결 전략을 결정합니다. 다양한 용도에 따라 다양한 토폴로지가 있습니다. 자세한 내용은 다음을 참조하세요. NCache 위상 캐싱 캐시 토폴로지.

기능 영역 NCache
로컬 캐시

InProc과 OutProc 둘 다.

InProc은 훨씬 빠르며 "InProc 속도"를 제공하지만 동일한 시스템에 여러 인스턴스가 있는 경우 메모리 소비가 더 높습니다.

OutProc은 IPC 및 직렬화 비용으로 인해 약간 느리지만 시스템당 복사본이 하나만 있기 때문에 메모리 소비를 절약합니다.

클라이언트 캐시
(캐시 근처)

클라이언트 캐시는 단순히 로컬 캐시(InProc/OutProc)입니다. NCache remote client 캐시 클러스터에서 가져온 모든 데이터의 복사본을 보관하는 머신입니다.

또한 이 클라이언트 캐시는 캐시 클러스터와 동기화 상태를 유지하므로 캐시 클러스터의 데이터가 변경되면 클라이언트 캐시에서도 즉시 업데이트됩니다.

그것으로, NCache 클라이언트는 데이터 무결성을 손상시키지 않고 캐시 크기를 하나의 클라이언트 메모리로 제한하지 않고 초고속 로컬 캐시의 이점을 누릴 수 있습니다.

미러링된 캐시

미러링 캐시는 2노드 액티브-패시브 캐시입니다. 모든 클라이언트는 능동 노드에 연결되며 데이터 미러링은 비동기식으로 수행됩니다.

Active 노드가 다운되면 Passive 노드가 자동으로 Active 노드가 되고 모든 클라이언트가 자동으로 연결됩니다.

복제된 캐시

복제된 캐시에서는 전체 캐시가 클러스터의 모든 노드에 복제됩니다.

2개 이상의 노드를 가질 수 있으며 모든 노드가 활성 상태입니다. 즉, 클라이언트가 읽기-쓰기 작업을 위해 해당 노드에 직접 연결됩니다.

업데이트는 클러스터 내에서 동기식으로 수행되므로 다른 토폴로지보다 느리지만 여전히 매우 빠릅니다. 읽기 속도는 매우 빠릅니다.

각 클라이언트는 하나의 노드에만 연결됩니다. 로드 밸런싱을 활성화하거나 클라이언트가 연결에 사용할 순서가 지정된 서버 목록을 지정할 수 있습니다.

파티션된 캐시

서버가 다운되는 경우 전체 장애 조치를 지원합니다(이 경우 데이터 손실이 있음).

분할된 캐시는 매우 강력한 토폴로지입니다. 복제 없이 파티션을 분할하면 캐시 속도를 높이고 일부 데이터가 캐시에서 손실된 경우 언제든지 다시 로드할 수 있으므로 메모리를 덜 사용할 수도 있습니다.

분할된 캐시에서는 전체 캐시가 분할되고 각 캐시 서버가 하나의 파티션을 갖습니다. 모든 파티션은 생성되거나 삭제되며, 노드를 추가/제거할 때 런타임 시 해당 버킷이 자동으로 재할당됩니다.

파티션을 추가하거나 제거하지 않아도 파티션에 데이터가 너무 많아 과부하가 걸리는 경우에도 데이터 리밸런싱 기능을 제공합니다.

파티션 복제본 캐시

분할된 캐시와 동일합니다(위 참조).

또한 다른 캐시 서버에 보관된 각 파티션에 대한 복제본을 제공합니다. 이는 노드가 다운될 경우 데이터 손실에 대한 안정성을 제공합니다.

파티션과 마찬가지로 복제본도 동적으로 생성됩니다.

데이터 밸런싱은 복제본도 업데이트합니다.

분할된 데이터 밸런싱

클러스터에 캐시 서버를 추가/제거하면 데이터가 자동으로 재조정됩니다.

또한 한 캐시 서버에 다른 서버보다 데이터가 훨씬 많으면 데이터가 자동으로 재조정됩니다. 이에 대한 차이 임계값을 구성할 수 있습니다. 이 경우 자동 재조정을 끄고 원할 경우 수동으로 수행할 수 있습니다.

이는 분할된 캐시와 분할 복제본 캐시 모두에 적용됩니다.

자동 로드 밸런싱

복제된 캐시 토폴로지의 경우 클라이언트는 서버 노드 간에 균형을 이룹니다.

분할된 캐시 토폴로지의 경우 모든 클라이언트는 단일 홉 작업을 위해 모든 노드에 연결되므로 균형도 유지됩니다.

분할된 데이터 선호도

NCache 데이터 친화성을 제공합니다. 이를 사용하려면 항목의 {} 내에 다른 항목의 키를 지정합니다. 그런 다음 이 항목은 동일한 선호도를 가진 다른 항목과 동일한 파티션에 유지됩니다.

실시간 지속성

NCache 모든 캐시에 대해 Live Persistence를 켤 수 있습니다. 이 경우 모든 데이터는 LiteDB 지속성 저장소에 유지됩니다. 이는 캐시 클러스터의 모든 버킷을 반영하는 바이너리 영구 저장소입니다. 지속성은 런타임에 실시간으로 수행됩니다.

원하는 경우 지속된 복사본에서 캐시를 복원할 수 있습니다.

단일 홉 데이터 액세스

모든 캐시 토폴로지에서 NCache 클라이언트는 단일 홉에서 캐시된 데이터에 액세스할 수 있습니다.

 

WAN 복제(다중 데이터 센터)

WAN 복제는 재해 복구 목적이나 지역 트래픽의 로드 밸런싱을 위해 애플리케이션이 여러 데이터 센터(클라우드의 여러 지역 또는 가용성 영역)에 배포된 많은 고객에게 중요한 기능입니다.

WAN 복제의 기본 개념은 WAN의 높은 대기 시간으로 인해 각 지리적 위치의 캐시 속도를 늦추지 않아야 한다는 것입니다. NCache 이 모든 것을 처리하기 위해 Bridge Topology를 제공합니다.

그것에 대해 더 읽어보기 의 WAN 복제 NCache.

기능 영역 NCache
능동 수동

브리지 토폴로지 능동-수동

활성 사이트와 수동 사이트 사이에 브리지를 만들 수 있습니다. Active 사이트는 모든 업데이트를 Bridge에 제출한 다음 이를 Passive 사이트에 복제합니다.

활성 – 활성
(데이터센터 2개)

브리지 토폴로지 활성-활성

두 활성 사이트 사이에 브리지를 생성할 수 있습니다. 둘 다 "마지막 업데이트 우선" 규칙에 대한 충돌을 처리하거나 사용자가 제공한 사용자 정의 충돌 해결 처리기를 통해 업데이트를 Bridge에 제출합니다. 그런 다음 Bridge는 두 사이트에 동일한 업데이트가 있는지 확인합니다.

활성 – 활성
(3개 이상의 데이터 센터)

브리지 토폴로지 활성-활성

XNUMX개 이상의 활성 사이트 사이에 브리지를 생성할 수 있습니다. 모두 "마지막 업데이트 우선" 규칙에 대한 충돌을 처리하는 Bridge에 업데이트를 제출하거나 귀하가 제공한 사용자 정의 충돌 해결 처리기를 통해 업데이트를 제출합니다. 그런 다음 Bridge는 모든 사이트에 동일한 업데이트가 있는지 확인합니다.

다중 능동 – 다중 수동

NCache 여러 활성 사이트와 여러 수동 사이트 사이에 브리지를 만들 수 있습니다.

갈등 해결

기본적으로 "마지막 업데이트 우선" 알고리즘이 충돌을 해결하는 데 사용됩니다. 그러나 두 개체의 내용을 비교하고 어느 개체가 승리할지 결정하여 충돌을 해결하기 위해 호출되는 "사용자 정의 충돌 해결 처리기"를 지정할 수 있습니다.

중복 제거

NCache Bridge는 항목 중복을 제거하여 복제 대기열을 최적화합니다. 동일한 키가 여러 번 업데이트되면 마지막 키만 복제됩니다.

데이터 보안

3DES 및 AES 알고리즘을 사용하여 데이터를 암호화할 수 있으므로 Bridge를 통해 WAN을 통해 다른 사이트로 전송되기 전에 암호화된 데이터로 캐시됩니다.

그렇지 않으면 보안을 위해 WAN을 통해 여러 데이터 센터 간에 VPN을 사용할 수 있습니다.

 

보안 및 암호화

많은 애플리케이션이 민감한 데이터를 다루거나 업무상 중요한 애플리케이션이므로 보안은 매우 중요한 관심사입니다.

NCache 사람들을 다양한 사용자 그룹으로 분류하기 위해 인증 및 권한 부여를 기반으로 캐시와 해당 서버에 대한 제한된 액세스를 제공합니다. 또한 데이터가 캐시로 이동하기 전에 클라이언트 애플리케이션 프로세스 내에서 암호화될 수도 있습니다.

NCache 보안을 강력하게 지원합니다.

기능 영역 NCache
인증
(액티브 디렉토리/LDAP)

Active Directory 또는 LDAP에 대해 사용자를 인증할 수 있습니다. 보안이 활성화되면 인증 및 권한 부여 없이는 누구도 캐시에 액세스할 수 없습니다.

권한 부여

사용자에게 "사용자" 또는 "관리자" 권한을 부여할 수 있습니다. 사용자는 읽기-쓰기 작업을 위해서만 캐시에 액세스할 수 있으며 "관리자"는 캐시 서버와 클러스터를 관리할 수 있습니다.

데이터 암호화

암호화를 활성화하고 NCache 클라이언트의 모든 항목을 캐시로 보내기 전에 자동으로 암호화합니다.

그리고 이 데이터는 캐시에 있는 동안 암호화된 상태로 유지됩니다. 또한 암호 해독은 클라이언트 프로세스 내에서 자동으로 투명하게 이루어집니다.

현재 3DES 및 AES128/AES196/AES256 암호화가 제공되며 계속 추가되고 있습니다.

보안 통신(TLS)

NCache 클라이언트/서버 통신의 보안 전송을 위해 TLS를 제공합니다.

또한 강력한 암호화 기능이 제공됩니다. NCache 보안되지 않은 연결을 통해 데이터를 암호화할 수 있습니다.

 

캐시 관리 및 모니터링

캐시 관리는 메모리 내 분산 저장소의 매우 중요한 측면입니다. 좋은 캐시는 다음을 제공해야 합니다.

  1. 캐시 관리를 위한 웹 GUI 및 명령줄 도구입니다.
  2. 런타임 시 캐시 활동을 모니터링하기 위한 Web GUI 도구입니다.
  3. Linux 및 Windows 모두에서 "카운터"를 통한 캐시 통계

NCache 이 모든 영역에서 강력한 지원을 제공합니다. 자세한 내용은 다음에서 확인하세요. 관리 및 모니터링 도구.

기능 영역 NCache
관리 도구(웹 GUI)

NCache Management Center는 다음을 위한 강력한 웹 GUI 도구입니다. NCache. 이는 탐색기 스타일 보기를 제공하고 단일 위치에서 캐시 클러스터를 빠르게 관리할 수 있게 해줍니다. 여기에는 캐시 생성/편집 및 기타 여러 기능이 포함됩니다.

권한 부여

모니터링 도구(웹 GUI)

NCache 모니터는 관리 센터의 일부이며 모니터링할 수 있는 강력한 웹 GUI 도구입니다. NCache 단일 위치에서의 클러스터 전체 활동. 또한 모든 것을 모니터링할 수 있습니다. NCache 단일 위치의 클라이언트.

그리고NCache 비교를 위해 PerfMon 카운터가 포함되어 있습니다. NCache 통계. 이러한 실시간 비교는 종종 매우 중요합니다.

PerfMon 카운터

NCache 에서 볼 수 있는 다양한 PerfMon 카운터 세트를 제공합니다. NCache 관리자 NCache 모니터 또는 PerfMon 모니터링을 지원하는 타사 도구.

JMX 카운터

NCache JMX 모니터링을 지원하는 모든 타사 도구에서 볼 수 있는 Java 클라이언트에 대한 다양한 JMX 카운터 세트를 제공합니다.

SNMP 카운터

NCache 에서는 SNMP 카운터를 지원하는 모든 타사 도구에서 볼 수 있는 Java 클라이언트에 대한 풍부한 SNMP 카운터 세트를 제공합니다.

관리 도구
(명령줄)

NCache 강력한 명령줄 도구를 제공합니다. 캐시를 생성하고 추가할 수 있습니다. remote client여기에 서버 노드를 추가하고 캐시를 시작/중지하는 등의 작업을 수행할 수 있습니다.

스크립트(Linux 또는 Windows)에서 이러한 도구를 사용하고 다양한 캐시 관리 작업을 자동화하세요.

관리 및 모니터링 API(.NET 및 Java)

NCache 캐시와 클라이언트를 관리하고 모니터링하기 위한 Java 및 .NET API를 제공합니다. 이 API를 사용하면 캐시를 중지/시작하고, 연결된 클라이언트의 통계를 가져오거나, 캐시 클러스터의 상태 정보를 가져올 수 있습니다.

플레이그라운드(라이브 + 설치 포함)

NCache 플레이그라운드는 빠르고 대화형 방식으로 익숙해질 수 있는 방법을 제공합니다. NCache. Playground를 사용하면 쉽게 탐색할 수 있습니다. NCache 개발 환경 없이도 샘플을 만들고, 실행하고, 변경하고, 실행할 수 있습니다.

 

웹 앱(Java + 기타)

웹앱에 필요한 가장 중요한 것은 웹 세션 저장입니다. NCache 아래와 같이 Java 및 Node.js 웹 앱에 대한 강력한 지원을 제공합니다.

기능 영역 NCache
스프링 부트 세션

NCache 세션을 저장하기 위해 Spring Boot와의 통합을 구현했습니다.

NCache 지능형 세션 복제를 제공하며 세션에 대한 데이터베이스 스토리지보다 훨씬 빠릅니다.

Spring Boot 세션(다중 사이트)

NCache 여러 데이터 센터에서 Spring Boot 세션을 공유할 수 있습니다.

이는 모든 세션을 각 데이터 센터에 복제하고 싶지 않지만 Java 웹 세션을 잃지 않고 한 데이터 센터에서 다른 데이터 센터로 트래픽을 오버플로하는 기능을 원하는 상황에 적합합니다.

사용자가 이동함에 따라 세션이 한 데이터 센터에서 다음 데이터 센터로 이동합니다.

자바 웹 세션

NCache JSP Servlet Session Provider(Java Servlet 4.0+)를 구현했습니다. 코드 변경 없이 사용 가능합니다. 그냥 web.xml을 바꾸세요

NCache 지능형 세션 복제를 제공하며 세션에 대한 데이터베이스 스토리지보다 훨씬 빠릅니다.

자바 웹 세션
(다중 사이트)

NCache 여러 데이터 센터에서 Java 웹 세션을 공유할 수 있습니다.

이는 모든 세션을 각 데이터 센터에 복제하고 싶지 않지만 Java 웹 세션을 잃지 않고 한 데이터 센터에서 다른 데이터 센터로 트래픽을 오버플로하는 기능을 원하는 상황에 적합합니다.

사용자가 이동함에 따라 세션이 한 데이터 센터에서 다음 데이터 센터로 이동합니다.

Node.js 웹 세션

NCache Node.js 웹 세션을 저장하는 공급자를 구현했습니다.

NCache 지능형 세션 복제를 제공하며 세션에 대한 데이터베이스 스토리지보다 훨씬 빠릅니다.

Node.js 웹 세션
(다중 사이트)

NCache 여러 데이터 센터에서 Node.js 웹 세션을 공유할 수 있습니다.

이는 모든 세션을 각 데이터 센터에 복제하고 싶지 않지만 Java 웹 세션을 잃지 않고 한 데이터 센터에서 다른 데이터 센터로 트래픽을 오버플로하는 기능을 원하는 상황에 적합합니다.

사용자가 이동함에 따라 세션이 한 데이터 센터에서 다음 데이터 센터로 이동합니다.

 

웹 앱(.NET)

웹앱에 필요한 가장 중요한 것은 웹 세션 저장입니다. NCache ASP에 대한 강력한 지원 제공.NET Core 아래와 같이 ASP.NET 웹 앱이 있습니다.

기능 영역 NCache
ASP.NET Core 세션

NCache ASP를 구현했습니다..NET Core 세션 제공자. 이에, NCache 동시성 제어를 처리하기 위해 특수 잠금도 구현했습니다.

NCache 지능형 세션 복제를 제공하며 세션에 대한 데이터베이스 스토리지보다 훨씬 빠릅니다.

ASP.NET Core 세션(다중 사이트)

NCache ASP를 공유할 수 있습니다.NET Core 여러 데이터 센터에 걸친 세션.

이는 모든 세션을 각 데이터 센터에 복제하고 싶지 않지만 ASP 손실 없이 한 데이터 센터에서 다른 데이터 센터로 트래픽을 오버플로하는 기능을 원하는 상황에 적합합니다..NET Core 세션.

사용자가 이동함에 따라 세션이 한 데이터 센터에서 다음 데이터 센터로 이동합니다.

ASP.NET Core
SignalR Backplane

NCache ASP를 구현했습니다.NET Core SignalR Backplane 부하 분산된 다중 서버 웹 팜에서 실행되는 트래픽이 많은 실시간 웹 애플리케이션용입니다.

SignalR은 Pub/Sub 메시징을 사용합니다. NCache 한 웹 서버에서 다른 웹 서버로 메시지를 보냅니다.

ASP.NET Core
응답 캐시

NCache ASP를 구현했습니다.NET Core 로드 밸런싱된 다중 서버 웹 팜에서 실행되는 애플리케이션을 위한 응답 캐시 미들웨어.

응답 캐시는 웹 응답을 캐시할 수 있는 시기를 결정하고 응답을 다음 위치에 저장합니다. NCache, 캐시에서 응답을 제공합니다.

ASP.NET Core IDistributedCache

NCache 다음을 사용할 수 있는 IDistributedCache 공급자를 구현했습니다. NCache ASP인 경우 코드 변경 없이.NET Core 응용 프로그램이 이미 IDistributedCache 인터페이스를 사용하고 있습니다.

ASP.NET Core
아이덴티티 서버

당신이 사용할 수 NCache ASP로.NET Core IdentityServer4 캐시 및 데이터 저장소.

ASP.NET 및 ASP.NET Core 세션 공유

NCache ASP.NET과 ASP 간에 세션을 공유할 수 있습니다..NET Core 분야의 다양한 어플리케이션에서 사용됩니다.

ASP.NET 세션

NCache .NET 4.8용 ASP.NET 세션 상태 공급자(SSP)를 구현했습니다. 코드 변경 없이 사용 가능합니다. web.config를 변경하면 됩니다.

NCache 또한 로봇이 ASP.NET 웹 사이트를 플러딩하는 것을 처리할 수 있는 유연한 세션 잠금 옵션을 제공합니다.

NCache 지능형 세션 복제를 제공하며 세션에 대한 데이터베이스 스토리지보다 훨씬 빠릅니다.

ASP.NET 세션
(다중 사이트)

NCache 여러 데이터 센터에서 ASP.NET 세션을 공유할 수 있습니다.

이는 모든 세션을 각 데이터 센터에 복제하고 싶지 않지만 ASP.NET 세션을 잃지 않고 한 데이터 센터에서 다른 데이터 센터로 트래픽을 오버플로하는 기능을 원하는 상황에 적합합니다.

사용자가 이동함에 따라 세션이 한 데이터 센터에서 다음 데이터 센터로 이동합니다.

ASP.NET View State

예. NCache ~을 가지고있다 ASP.NET View State 캐싱 모듈. 코드 변경 없이 사용하세요. 구성 파일을 수정하면 됩니다.

다음은 에서 지원하는 몇 가지 고급 기능입니다. NCache:

  • - 그룹 차원의 정책
  • - 페이지를 그룹에 연결
  • - 뷰 상태를 세션에 연결
  • - 사용자당 최대 보기 상태 수
  • -더
ASP.NET 출력 캐시

NCache ASP.NET 출력 캐시 공급자가 구현되어 있습니다. 이를 통해 ASP.NET 페이지 출력을 메모리 내 분산 저장소에 캐시하고 웹 팜에서 공유할 수 있습니다.

ASP.NET
SignalR Backplane

NCache 구현했다 ASP.NET SignalR Backplane 부하 분산된 다중 서버 웹 팜에서 실행되는 트래픽이 많은 실시간 웹 애플리케이션용입니다.

SignalR은 Pub/Sub 메시징을 사용합니다. NCache 한 웹 서버에서 다른 웹 서버로 메시지를 보냅니다.

 

자바 통합

Hibernate는 매우 강력하고 널리 사용되는 객체 관계형 매핑 엔진입니다. 그리고 다행스럽게도 Hibernate 애플리케이션의 코드를 변경하지 않고도 타사 캐시를 연결할 수 있는 두 번째 수준 캐시 제공자 아키텍처도 있습니다. NCache 이 Hibernate Second Level Cache 제공자를 구현했습니다.
만나다 최대 절전 모드 XNUMX 단계 캐시 자세한 내용은.

마찬가지로 Spring Framework는 다양한 서비스를 제공하는 여러 모듈로 구성된 Java용 오픈 소스 애플리케이션 프레임워크입니다. 보다 스프링 데이터 통합 자세한 내용은.

기능 영역 NCache
최대 절전 모드 2단계 캐시

NCache 코드 변경 없이 Java 앱에 연결할 수 있는 Hibernate 2차 수준 캐시 공급자를 제공합니다.

NCache 또한 데이터베이스 동기화 기능을 구현하여 데이터베이스와 동기화해야 하는 클래스를 지정할 수 있습니다. NCache 이에 대해 OracleDependency, SqlDependency 또는 DbDependency를 지정할 수 있습니다.

스프링 캐싱

NCache Spring Framework 버전 5.1 이상과의 캐시 통합을 완벽하게 지원합니다.

제이캐시 API

NCache JCache API 구현을 제공합니다. NCache 또한 다음과 같은 기능을 위해 JCache API를 확장했습니다. NCache 제공하지만 JCache에서는 지원되지 않습니다.

따라서 플러그를 꽂거나 뽑을 수 있습니다. NCache 코드 변경 없이 JCache를 사용하는 모든 애플리케이션에 적용됩니다.

JPA(Java Persistence API) 캐싱

NCache 캐싱 제공자로서 JPA와의 통합을 제공합니다.

 

.NET 통합

기능 영역 NCache
EF 코어 캐시

확장 방법

NCache EF 애플리케이션이 캐싱을 사용하는 것을 매우 간단하게 만들기 위해 캐싱을 위한 EF 핵심 확장 방법을 구현했습니다. 또한 데이터를 캐시하는 방법에 대한 모든 권한을 애플리케이션에 부여합니다.

Entity Framework 6 캐시

사용자 정의 ADO.NET 공급자

NCache Entity Framework 6에 대한 숨겨진 두 번째 수준 캐시를 구현했습니다. NCache EF 애플리케이션에 추가하고 분석 모드에서 실행하여 사용 중인 모든 쿼리를 빠르게 확인하세요. 그런 다음 캐시해야 할 쿼리와 건너뛰어야 할 쿼리를 결정할 수 있습니다.

Hibernate 2차 레벨 캐시

NCache web.config 또는 app.config 변경을 통해 연결할 수 있는 NHibernate L2 캐시 공급자를 제공합니다.

NCache 또한 여기에 데이터베이스 동기화 기능을 구현하여 데이터베이스와 동기화해야 하는 클래스를 지정할 수 있습니다. NCache 이에 대해 SqlDependency, OracleDependency 또는 DbDependency를 지정할 수 있습니다.

 

개체 캐싱 기능

기능 영역 NCache
가져오기, 추가, 삽입, 제거, 존재, 캐시 지우기

NCache 이러한 작업에 대한 더 많은 변형을 제공하므로 사용자에게 더 많은 제어 기능이 제공됩니다.

만료

절대 및 슬라이딩 만료가 제공됩니다.

절대 만료는 데이터베이스에서 들어오는 데이터에 적합하며 오래될 수 있으므로 알려진 시간 후에 만료되어야 합니다.

슬라이딩 만료는 일정 기간 동안 활동이 없으면 만료되는 것을 의미하며 더 이상 필요하지 않은 경우 제거해야 하는 세션 및 기타 임시 데이터에 적합합니다.

잠금 및 잠금 해제

NCache 잠금 및 잠금 해제를 모두 제공합니다. Lock API는 캐시된 항목을 독점적으로 잠가서 다른 사람이 읽거나 쓸 수 없도록 하는 데 사용됩니다. 이 항목은 잠금이 만료되거나 잠금이 해제될 때까지 잠긴 상태로 유지됩니다.

NCache 또한 항목을 가져오기 전에 항목을 잠그는 "GetAndLock()"과 항목을 업데이트한 다음 잠금을 해제하는 "InsertAndUnlock()"을 모두 한 번의 호출로 제공합니다.

대형 객체 스트리밍 API

큰 물체의 경우, NCache 캐시 클라이언트가 "GetChunk()" 방식으로 가져오고 "AppendChunk()" 방식으로 업데이트할 수 있습니다. 이것으로, NCache 클라이언트는 캐시에서 대형 개체를 스트리밍하거나 스트리밍할 수 있습니다.

항목 버전 관리

이렇게 하면 하나의 클라이언트만 항목을 업데이트할 수 있으며 캐시 클라이언트가 먼저 최신 버전을 가져온 다음 업데이트하지 않으면 향후 모든 업데이트가 실패하게 됩니다.

다중 객체 버전

NCache 동일한 클래스의 두 가지 다른 버전을 다른 앱에서 캐시에 저장할 수 있습니다. 각 앱은 자체 버전을 검색하고 캐시는 상위 집합을 유지합니다.

거래 내역

부분적인 지원

명시적 잠금
암시적 잠금(항목 버전 관리)
엔트리 프로세서(원자성)

분산 데이터 구조

NCache List, Queue, Set, Dictionary, Counter 등의 분산 데이터 구조를 제공합니다.

 

데이터 그룹화

기능 영역 NCache
그룹

NCache 캐시된 항목을 그룹으로 그룹화하는 기능을 제공합니다.

나중에 그룹에 속한 모든 항목을 가져오거나 제거할 수 있습니다. 키만 가져온 다음 그 하위 집합만 가져올 수도 있습니다.

태그

NCache 태그라는 개념을 제공합니다. 태그는 하나 이상의 캐시된 항목에 할당할 수 있는 문자열입니다. 그리고 하나의 캐시된 항목에 여러 태그를 할당할 수 있습니다.

그리고 나중에 조작하기 위해 하나 이상의 태그에 속하는 항목을 가져올 수 있습니다.

조건의 일부로 SQL 또는 LINQ 검색에 태그를 포함할 수도 있습니다.

명명된 태그

NCache 하나 이상의 캐시된 항목에 "키" 및 "태그"를 할당할 수 있는 명명된 태그 기능을 제공합니다. 그리고 캐시된 단일 항목은 여러 개의 명명된 태그를 얻을 수 있습니다.

나중에 하나 이상의 명명된 태그에 속하는 항목을 가져올 수 있습니다. SQL 및 LINQ 쿼리에서 명명된 태그를 기준의 일부로 사용할 수도 있습니다.

 

쿼리(SQL 유사)

기능 영역 NCache
SQL 검색

NCache 풍부한 SQL 기반 검색 기능을 제공합니다. 키뿐만 아니라 객체 속성을 기반으로 캐시를 검색할 수 있습니다.

SQL 쿼리에 그룹, 태그 및 명명된 태그를 포함할 수도 있습니다.

SQL 업데이트 및 삭제

NCache 캐시된 항목을 클라이언트에 먼저 로드하지 않고도 업데이트하는 UPDATE SQL 쿼리를 실행할 수 있습니다.

NCache 또한 캐시된 항목을 삭제하는 DELETE SQL 문을 실행할 수도 있습니다.

태그, 명명된 태그 및 그룹에 대한 SQL

NCache 태그, 명명된 태그 및 그룹 이름을 SQL 검색 기준의 일부로 포함할 수 있습니다.

LINQ 쿼리(.NET)

NCache .NET 애플리케이션에서 LINQ 쿼리를 사용하여 캐시를 검색할 수 있습니다. LINQ는 .NET에서 널리 사용되는 개체 쿼리 언어이며 NCache LINQ 공급자를 구현했습니다.

따라서 LINQ 사용에 익숙하다면 다음과 같은 방식으로 캐시를 검색할 수 있습니다. NCache sql.sql.

 

연속 읽기, 연속 쓰기, 캐시 로더/리프레셔

많은 사람들이 데이터베이스에서 직접 데이터를 가져와 캐시에 저장하는 "측면 캐시"로 In-Memory 분산 저장소를 사용합니다. 또 다른 접근 방식은 애플리케이션이 캐시에 데이터를 요청하는 "캐시 통과"입니다. 그리고 데이터가 없으면 메모리 내 분산 저장소가 데이터 원본에서 해당 데이터를 가져옵니다.

Write-through에서도 마찬가지입니다. Write-Behind는 캐시가 즉시 업데이트되고 제어권이 클라이언트 애플리케이션으로 반환되는 연속 쓰기에 지나지 않습니다. 그리고 데이터베이스나 데이터 소스가 비동기적으로 업데이트되므로 애플리케이션이 이를 기다릴 필요가 없습니다.

NCache 이 영역에서 강력한 기능을 제공합니다.

기능 영역 NCache
전체 읽기

NCache 여러 개의 읽기 처리기를 구현하고 캐시에 "명명된 공급자"로 등록할 수 있습니다. 그러면 클라이언트는 말할 수 있습니다. NCache "캐시 누락" 시 특정 읽기를 사용합니다.

NCache 또한 캐시를 중지하지 않고도 런타임에 연속 읽기 핸들러를 추가할 수 있습니다.

연속해서 쓰기, 뒤에 쓰기

NCache 여러 개의 연속 기입 핸들러를 구현하고 등록할 수 있습니다. NCache "지명된 제공자"로. 그런 다음 애플리케이션이 캐시된 항목을 업데이트할 때마다 NCache write-through를 호출하려면 NCache 서버는 write-through 핸들러를 호출합니다.

나중에 쓰기를 활성화한 경우 NCache 캐시를 즉시 업데이트하고 데이터베이스 업데이트를 대기열에 추가하면 백그라운드 스레드가 이를 처리하고 연속 쓰기 핸들러를 호출합니다.

만료 시 자동 다시 로드 및 DB 동기화(Read-thru)

연속 읽기 핸들러를 구현한 경우 NCache 이를 사용하여 캐시된 항목이 만료될 때마다 캐시에서 해당 항목을 제거하는 대신, NCache 해당 객체의 새 복사본을 읽고 이를 통해 캐시를 업데이트하려면 읽기 처리기(read-through handler)를 호출해야 합니다.

데이터베이스 동기화가 활성화되면 동일한 것을 지정할 수 있으며 데이터베이스의 행이 업데이트되고 해당 캐시된 항목이 캐시에서 제거되었지만 이제는 읽기를 통해 다시 로드됩니다.

짐을 싣는 사람

NCache 로더를 구현하고 이를 캐시 클러스터에 등록할 수 있습니다. NCache 그런 다음 이를 호출하여 시작 시 캐시를 미리 채웁니다.

캐시 로더는 데이터 소스/데이터베이스에서 데이터를 읽고 시작 시 캐시를 채우는 코드입니다.

보충 교육

NCache 정기적으로 데이터베이스를 캐시와 동기화할 수 있는 Refresher를 구현할 수 있습니다. 이 프로세스는 백그라운드에서 실행되며 애플리케이션 성능에 영향을 주지 않습니다.

 

데이터 소스와 동기화

데이터베이스 동기화는 좋은 메모리 내 분산 저장소에 매우 중요한 기능입니다. 캐시되는 대부분의 데이터는 관계형 데이터베이스에서 오기 때문에 다른 애플리케이션이나 사용자가 데이터를 변경하여 캐시된 데이터가 오래되게 되는 상황이 항상 있습니다.

이러한 상황을 처리하려면 좋은 메모리 내 분산 저장소에서는 캐시된 항목과 데이터베이스의 데이터 간의 종속성을 지정할 수 있어야 합니다. 그런 다음 데이터베이스의 해당 데이터가 변경될 때마다 캐시가 이를 인식하고 해당 데이터를 무효화하거나 새 복사본을 다시 로드합니다.

또한 실제 생활에서도 이러한 상황이 가득하기 때문에 좋은 캐시를 사용하면 캐시를 비관계형 데이터 소스와 동기화할 수 있어야 합니다.

NCache 매우 강력한 데이터베이스 동기화 기능을 제공합니다.

기능 영역 NCache
SQL 종속성
(SQL 서버)

NCache SQL Server에 대한 SqlDependency 지원을 제공합니다. 캐시된 항목을 SQL Server 데이터베이스의 SQL 문 기반 데이터 세트와 연결할 수 있습니다. 그런 다음 해당 데이터 세트가 변경(추가, 업데이트 또는 제거)될 때마다 MS SQL은 다음 위치에 데이터 알림을 보냅니다. NCache 과 NCache 이 캐시된 항목을 무효화하거나 ReadThrough로 활성화한 경우 다시 로드합니다.

이 기능을 사용하면 캐시를 SQL Server 데이터베이스와 동기화할 수 있습니다. 일부 애플리케이션이나 사용자가 데이터베이스의 데이터를 직접 업데이트하는 상황이 있는 경우 이 기능을 활성화하여 캐시를 최신 상태로 유지할 수 있습니다.

Oracle 종속성(오라클)

NCache Oracle에 대한 OracleDependency 지원을 제공합니다. 캐시된 항목을 Oracle 데이터베이스의 SQL 문 기반 데이터 세트와 연결할 수 있습니다. 그런 다음 해당 데이터 집합이 변경(추가, 업데이트 또는 제거)될 때마다 Oracle은 다음 사용자에게 데이터 알림을 보냅니다. NCache 과 NCache 이 캐시된 항목을 무효화하거나 ReadThrough로 활성화한 경우 다시 로드합니다.

이 기능을 사용하면 캐시를 Oracle 데이터베이스와 동기화할 수 있습니다. 일부 애플리케이션이나 사용자가 데이터베이스의 데이터를 직접 업데이트하는 상황이 있는 경우 이 기능을 활성화하여 캐시를 최신 상태로 유지할 수 있습니다.

DB 종속성(모든 DB)

NCache 캐시를 모든 OLEDB 데이터베이스와 동기화할 수 있도록 지원합니다. 이 동기화는 폴링을 기반으로 합니다. 그리고 데이터베이스 알림만큼 실시간은 아니지만 더 효율적입니다.

한 번의 설문 조사에서 NCache OracleDependency의 경우 Oracle로부터 수천 개의 개별 데이터베이스 알림을 받는 대신 수천 개의 캐시된 항목을 동기화할 수 있습니다.

파일 종속성

NCache 외부 파일에 대한 종속성을 지정할 수 있습니다. 그 다음에 NCache 업데이트가 있는지 이 파일을 모니터링하고 업데이트가 발생하면 NCache 해당 캐시 항목을 무효화합니다.

이를 통해 캐시된 항목을 비관계형 데이터 원본과 동기화된 상태로 유지할 수 있습니다.

사용자 지정 종속성
(모든 소스)

NCache 사용자 지정 종속성을 구현하고 코드를 캐시 클러스터에 등록할 수 있습니다. 그 다음에, NCache 코드를 호출하여 일부 사용자 정의 데이터 소스의 변경 사항을 모니터링합니다.

변경 사항이 발생하면 내에서 종속성 업데이트를 실행합니다. NCache 그러면 해당 캐시 항목이 캐시에서 제거됩니다.

이 기능은 캐시된 항목을 플랫 파일로 캡처할 수 없는 비관계형 데이터 소스와 동기화해야 할 때 유용합니다. 따라서 사용자 정의 종속성이 이 경우를 처리합니다.

 

데이터 관계 관리

캐시되는 대부분의 데이터는 관계형 데이터베이스에서 가져오므로 다양한 데이터 항목 간에 관계가 있습니다. 따라서 좋은 캐시를 사용하면 캐시에서 이러한 관계를 지정한 다음 데이터 무결성을 유지할 수 있습니다. 이 작업으로 애플리케이션에 부담을 주지 않고 캐시에서 일대일, 일대다 및 다대다 데이터 관계를 자동으로 처리할 수 있어야 합니다.

기능 영역 NCache
키 기반 캐시 종속성

캐시된 항목 A가 캐시된 항목 B에 종속된 다음 캐시된 항목 C에 종속되도록 지정할 수 있습니다.

그런 다음 C가 업데이트되거나 제거되면 B가 캐시에서 자동으로 제거되고 이로 인해 캐시에서도 A가 제거됩니다. 그리고 이 모든 작업은 캐시에 의해 자동으로 수행됩니다.

이 기능을 사용하면 캐시에서 일대일, 일대다 및 다대다 관계를 추적하고 관련 항목이 업데이트되거나 제거되면 캐시된 항목을 무효화할 수 있습니다.

키 기반 다중 캐시 종속성

이는 여러 캐시에 걸쳐 이 종속성을 생성할 수 있다는 점을 제외하면 키 기반 캐시 종속성의 확장입니다.

 

이벤트 및 연속 쿼리

기능 영역 NCache
아이템 레벨 이벤트
( 삽입시 / 제거시 )

NCache 클라이언트의 관심 사항에 따라 캐시된 특정 항목이 업데이트되거나 제거될 때마다 클라이언트에 이벤트를 보낼 수 있습니다.

Java 및 .NET 콜백을 등록할 수 있습니다. NCache 이러한 경우에는 클라이언트와 콜백이 호출됩니다.

NCache 이 이벤트 전파를 위해 자체 소켓 수준 프로토콜을 사용하므로 속도가 매우 빠릅니다.

캐시 레벨 이벤트
( 추가 / 삽입 / 제거 )

켜져 있는 경우, NCache 캐시에서 항목이 추가, 업데이트 또는 제거될 때마다 모든 클라이언트에 이벤트 알림을 보냅니다.

Java 및 .NET 콜백을 등록할 수 있습니다. NCache 이러한 경우에는 클라이언트와 콜백이 호출됩니다.

연속 쿼리

NCache 강력한 연속 쿼리(CQ) 기능을 제공합니다. CQ를 사용하면 SQL 쿼리를 지정할 수 있습니다. NCache 추가, 업데이트 또는 삭제에 대해 캐시를 모니터링합니다. 그리고 이런 일이 발생할 때마다 애플리케이션에 알림이 전송됩니다.

이 기능은 OracleDependency와 동일하지만 데이터베이스가 아닌 캐시에 대한 기능이라고 생각하세요.

 

Pub/Sub 메시징(Kafka 스타일)

기능 영역 NCache
주제

NCache 애플리케이션이 Topic을 통해 Kafka 스타일 Pub/Sub 스타일 메시징을 수행할 수 있게 해줍니다.

NCache 애플리케이션이 대기열을 통해 Kafka 스타일 Pub/Sub 스타일 메시징을 수행할 수 있습니다.

영구 구독

지속적인 구독을 통해 연결이 끊긴 클라이언트를 허용합니다. NCache 어떤 이유로든 메시지를 잃지 않도록 하세요. 다시 연결하면 연결이 끊어진 동안 보낸 모든 메시지가 표시됩니다.

메시지 지속성

NCache Pub/Sub 메시징에 모든 메시지를 유지할 수 있습니다.

주제 분할

NCache 주제를 하나 이상의 파티션(Kafka 스타일)에 매핑할 수 있습니다. 그 다음에, NCache 각 파티션 내에서 이 주제에 대해 게시된 모든 메시지는 항상 순서가 지정되어 동일한 방식으로 사용될 수 있습니다. 이는 Kafka 동작과 매우 유사합니다.

메시지 순서

주제를 파티션에 매핑한 후에는 NCache 각 파티션 내에서 이 주제에 대해 게시된 모든 메시지가 항상 순서대로 정렬되어 동일한 방식으로 사용될 수 있도록 합니다. 이는 Kafka 동작과 매우 유사합니다.

메시지 전달 보장

NCache 메시지가 원하는 대로 전달될 때까지 메시지가 Pub/Sub 주제에 유지되도록 보장할 수 있는 메시지 전달 옵션을 선택할 수 있습니다.

스키마 관리

NCache Pub/Sub 메시징(Kafka 스타일)에서 스키마 관리를 수행할 수 있습니다.

실시간 스트림
(카프카 스타일)

NCache 오픈 소스 Kafka Streams를 가져와서 구현했습니다. NCache Pub/Sub 메시징 제공업체입니다. 이는 널리 사용되는 Kafka Streams(.NET 및 Java)를 사용할 수 있음을 의미합니다. NCache 이는 메모리 내 분산 저장소이기 때문에 Kafka보다 훨씬 빠릅니다.

전체 텍스트 검색

기능 영역 NCache
전체 텍스트 검색
(루씬 API)

NCache 업계 표준 Lucene을 통해 전체 텍스트 검색을 제공합니다. NCache In-Memory Distributed Store에 Lucene을 구현하여 매우 빠르고 선형적으로 확장 가능합니다.

스키마 시행

NCache 업계 표준 Lucene을 사용하여 전체 텍스트 검색에서 Scheme Enforcement를 제공합니다. 이렇게 하면 인덱싱되는 모든 문서가 스키마를 준수하는지 확인할 수 있습니다.

인덱스 마이그레이션

NCache 업계 표준 Lucene을 사용하여 전체 텍스트 검색에서 인덱스 마이그레이션을 제공합니다. 이 방법으로 기존 Lucene 색인을 다음과 같이 할 수 있습니다. NCache 전체 텍스트 검색.

데이터 수집

NCache 업계 표준 Lucene을 사용하여 전체 텍스트 검색에서 데이터 수집을 제공합니다. 이렇게 하면 기존 데이터 소스의 많은 데이터를 NCache 전체 텍스트 검색 색인.

 

빅 데이터 처리 및 분석

기능 영역 NCache
맵 축소 쿼리

NCache 빅 데이터의 병렬 처리를 위해 캐시 서버에서 프로그램을 실행할 수 있는 MapReduce 프레임워크를 제공합니다.

어 그리 게이터

NCache MapReduce 프레임워크와 함께 작동하고 통계 데이터를 제공하는 Aggregator를 제공합니다.

엔트리 프로세서

NCache 캐시 노드에서 병렬로 Entry Processor 실행을 완벽하게 지원합니다.

 

캐시 크기 관리(제거 정책)

기능 영역 NCache
최대 캐시 크기(MB) 지원
LRU 퇴거
(가장 최근에 사용됨)
지원
LFU 퇴거
(가장 덜 자주 사용됨)
지원
우선 퇴거

NCache 또한 일부 캐시된 항목에 대해 "제거하지 않음" 우선순위를 지정할 수 있으며 그런 다음 해당 항목은 제거되지 않습니다.

축출 안 함 옵션

NCache 전체 캐시에 대해 "제거하지 않음" 옵션을 지정할 수 있습니다. 그러면 캐시가 가득 차도 아무것도 제거되지 않습니다. 대신, 클라이언트 애플리케이션은 캐시에 데이터를 추가하려고 할 때 캐시가 가득 찼다는 오류를 수신합니다.

에 대해 자세히 읽어보십시오. NCache 그리고 또한 다운로드 30일 무료 설치 키 NCache.

© 저작권 Alachisoft 2002 - . 판권 소유. NCache 는 Diyatech Corp.의 등록상표입니다.