Computer >> 컴퓨터 >  >> 프로그램 작성 >> Redis

안녕하세요, Redis 스택

안녕하세요, Redis 스택

오늘 Redis Stack을 발표하게 되어 기쁩니다. Redis Stack은 주요 Redis 모듈의 기능을 단일 제품으로 통합하여 개발자가 Redis의 속도와 안정성으로 최신 실시간 애플리케이션을 쉽게 구축할 수 있도록 합니다.

프롤로그

Redis에서는 응답성이 좋고 지연 시간이 짧은 애플리케이션 및 서비스에 대한 보편적인 수요를 충족하기 위해 실시간 데이터 계층을 구축하고 있습니다.

실시간 경험을 제공하는 애플리케이션을 구축하려면 가능한 가장 빠른 응답 시간, 가급적이면 밀리초 미만으로 간단한 객체 검색, 검색 또는 복잡한 집계와 같은 모든 요청을 처리할 수 있는 데이터베이스가 필요합니다. 이유는 간단합니다. 일반적인 응용 프로그램에서 모든 사용자 상호 작용은 데이터베이스에 대한 여러 호출을 생성하므로 상당한 오버헤드가 발생할 수 있습니다. 여기에 최종 사용자와 앱 간의 네트워크 왕복 지연 시간을 추가하면 데이터베이스에서 추가로 밀리초가 소요될 때마다 실시간 최종 사용자 경험을 제공하기가 더 어려워집니다.

이는 키/값, 문서, 스트림, 그래프, 시계열 또는 확률적 데이터 구조와 같은 데이터 모델에 관계없이 적용됩니다.

지금까지 무엇을 했는가?

DB-Engines에서 지난 24개월의 추세가 분명하듯이 가장 빠르게 성장하는 데이터 모델은 키-값, 검색, 문서, 그래프 및 시계열입니다. 이 추세는 또한 점점 더 적은 수의 개발자가 관계형 데이터베이스로 애플리케이션을 모델링하는 것을 선택하고 있음을 보여줍니다.

안녕하세요, Redis 스택

밝혀진 바와 같이, 우리는 지난 4년 동안 검색, 문서, 그래프, 시계열과 같은 최신 데이터 모델 및 데이터 처리 기능으로 Redis의 핵심 키/값 데이터 구조 기능을 확장하는 전용 데이터 엔진을 여러 개 구축했습니다. , 확률적 데이터 구조.

Redis 모듈로 구현된 우리는 인메모리 아키텍처와 C 또는 Rust로 작성된 효율적인 코드베이스를 사용하여 오픈 소스 Redis와 동일한 설계 원칙을 사용하여 이러한 엔진을 처음부터 구축하여 개발자가 다양한 데이터를 실행할 수 있도록 합니다. 대기 시간이 가장 짧은 워크로드

커뮤니티와 고객의 의견을 경청한 후 주요 Redis 모듈과 해당 모듈이 제공하는 기능, 해당 기능을 지원하는 설명서 및 클라이언트의 개발자 경험을 단순화해야 한다는 것을 깨달았습니다. 우리는 개발자가 Redis를 사용하기 시작한 순간부터 완전한 생산성을 발휘할 수 있도록 돕고 싶었습니다.

이것이 Redis Stack을 만든 이유입니다.

레디스 스택

Redis Stack은 최고의 Redis 모듈을 단일 제품으로 통합합니다. 이를 통해 Redis 기반 검색, 문서, 그래프 및 시계열 기능으로 구축을 쉽게 시작할 수 있습니다.

Redis Stack은 다음 세 가지 구성 요소 모음입니다.

  1. Redis 스택 서버 오픈 소스 Redis를 RediSearch, RedisJSON, RedisGraph, RedisTimeSeries 및 RedisBloom과 결합
  2. RedisInsight Redis 데이터를 시각화하고 최적화하기 위한 강력한 도구로 실시간 애플리케이션 개발을 그 어느 때보다 쉽고 재미있게 만듭니다.
  3. Redis Stack 클라이언트 SDK Java, JavaScript 및 Python의 주요 공식 Redis 클라이언트가 포함되어 있습니다. 이러한 클라이언트에는 몇 줄의 코드로 생산성을 높이는 개발자 친화적인 추상화를 제공하는 새로운 개체 매핑 라이브러리 제품군도 포함되어 있습니다. .NET, Node.js, Java 및 Python용 Redis OM으로 알려진 이러한 라이브러리를 사용하면 Spring, ASP.NET Core, FastAPI 및 Express와 같은 주요 애플리케이션 프레임워크와도 그 어느 때보다 쉽게 ​​통합할 수 있습니다.
안녕하세요, Redis 스택

Redis Stack 시작하기

Redis Stack은 이제 Redis 6.2에서 일반 공급되며 Redis 7.0의 릴리스 후보도 있습니다.

Redis Stack을 빠르게 시작할 수 있는 몇 가지 방법을 제공하고 있습니다.

  • redis.io에서 직접 Redis Stack 다운로드
  • 좋아하는 패키지 관리자를 사용하거나 간단히 Redis Stack 도커 이미지를 실행하여 설치
  • Redis Enterprise Cloud에서 무료 데이터베이스를 생성하거나 고정 요금제 중 하나를 사용하여 클라우드에 Redis Stack을 배포합니다. 또한 자체 관리하거나 온프레미스에 배포하는 모든 사람을 위해 Redis Enterprise Software에서 Redis Stack의 기능을 제공하고 있습니다.

Redis Stack Server를 가동하고 실행하면 즉시 RedisInsight를 활용하여 Redis 데이터를 시각화, 분석 및 최적화할 수 있습니다. RedisInsight에는 여러 Redis Stack 사용 사례를 안내하는 일련의 가이드가 포함되어 있습니다.

클라이언트 측에서는 Jedis(자바), redis-py(Python), node-redis(자바스크립트)와 같은 여러 주요 Redis 클라이언트에서 Redis Stack을 지원하고 있으며 새로운 객체 매핑 라이브러리(redis-om-spring , redis-om-python, redis-om-node, redis-om-dotnet).
새로 생성된 데이터베이스 개발을 시작하기 위해 지원하는 각 언어에 대한 예제 리포지토리를 복제할 수 있습니다.

Redis 및 Redis 스택

Redis Stack이 가능하다고 생각하는 실시간 애플리케이션의 세계에 대해 흥분하고 있습니다. 하지만 Redis Stack이 Redis를 대체할 수 없다는 점을 분명히 하고 싶습니다.

Redis는 핵심 오픈 소스 기술이며 지속적인 개발에 대한 우리의 초점은 변하지 않습니다. 오픈 소스 Redis를 다운로드, 빌드, 설치 및 실행할 수 있는 옵션이 항상 있습니다.

Redis Stack을 실행할 준비가 되면 Redis 복제 메커니즘을 사용하거나 RDB 또는 AOF 파일을 로드하여 데이터를 쉽게 마이그레이션할 수 있습니다.

안녕하세요, Redis 스택

라이선스

Redis Stack의 모든 코드베이스 구성요소는 누구나 무료로 사용할 수 있도록 공개되어 있습니다. 

하지만 여전히 Redis Stack 라이선스 모델에 대해 매우 명확하게 알고 싶습니다.

  • Redis Stack Server는 RSAL(Redis Source Available License)에 따라 제공됩니다(Redis 모듈에 사용한 것과 동일한 라이선스).
  • 기존 SSPL(Server Side Public License)에 따라 RedisInsight를 제공하고 있습니다.  
  • 주요 Redis 클라이언트와 객체 매핑 라이브러리가 오픈 소스 MIT 라이선스에 따라 출시되었습니다.
안녕하세요, Redis 스택

요약

우리는 Redis를 오픈 소스 프로젝트로 계속 개발하고, 지구상에서 가장 큰 개발자 커뮤니티 중 하나를 지원하고, 프로젝트에 적극적으로 기여하는 우리의 증가하는 수와 협력하기 위해 최선을 다하고 있습니다.

Redis 스택에 기능을 계속 추가하여 개발자가 전적으로 Redis를 기반으로 하는 실시간 시대의 최신 애플리케이션을 빠르고 쉽게 개발할 수 있도록 합니다.

Redis Stack과 Redis Stack이 제공하는 기능에 대해 자세히 알아보려면 지금 주문형으로 제공되는 RedisDays 이벤트에서 제공되는 Redis Stack에 대한 심층 세션을 시청하십시오.

또한 짧은 FAQ 섹션에서 예상되는 질문에 대한 빠른 답변을 모았습니다.
마지막으로 Redis Stack에 대한 피드백을 받고 싶습니다. Redis 메일링 리스트에 메모를 보내거나 Redis Discord 서버에 가입하여 여러분의 생각을 알려주세요.

FAQ

Redis Stack의 구성요소는 무엇입니까?

Redis Stack은 주요 Redis 모듈(Redis Stack Server)이 있는 오픈 소스 Redis와 RedisInsight를 포함하는 단일 패키지입니다.

Redis Stack Server의 초기 릴리스에는 RedisJSON, RedisSearch, RedisGraph, RedisTimeSeries 및 RedisBloom의 5가지 모듈이 포함되어 있습니다.

Redis Stack은 공식 Redis 클라이언트 및 개체 매핑 라이브러리에서 지원되며 개발자는 Spring, ASP.Net Core, Express 및 FastAPI를 포함한 여러 애플리케이션 프레임워크에서 고급 Redis Stack 기능을 쉽게 사용할 수 있습니다.

Redis Stack은 개발자에게 어떤 기능을 제공합니까?

Redis Stack을 통해 개발자는 다음을 수행할 수 있습니다. 

  • Redis 데이터 색인 생성 및 쿼리, 집계 실행, 전체 텍스트 검색 수행 
  • 고급 벡터 유사성 검색(KNN) 실행
  • 중첩 JSON 문서를 효율적으로 저장 및 조작
  • 속성 그래프로 관계 구축 및 모델링
  • 시계열 데이터 저장, 쿼리 및 집계
  • 빠르고 공간적이며 효율적인 확률적 데이터 구조를 활용합니다. 
  • RedisInsight를 사용하여 Redis 데이터를 쉽게 시각화, 디버그 및 분석

Redis Stack에 더 많은 기능을 추가할 예정입니까?

다음과 같은 경우 Redis Stack에 새로운 기능이나 모듈을 추가하는 것을 고려할 것입니다.

  1. 커뮤니티의 요구 사항
  2. 새로운 기능은 Redis 비전을 준수합니다. 
  3. Redis Inc. 엔지니어링 팀에서 공식적으로 추가 지원

RedisGears가 첫 번째 Redis Stack 릴리스의 일부가 아닌 이유는 무엇입니까?

RedisGears는 Redis에 데이터베이스 트리거, 스트림 처리, 분산 기능 및 전체 프로그래밍 기능을 추가합니다.

JavaScript에 대한 지원이 올해 후반에 GA되면 RedisGears를 Redis Stack에 추가할 것입니다.

Redis Stack을 무료로 자체 관리할 수 있나요?

예, 할 수 있습니다!

Redis 객체 매핑 라이브러리란 무엇입니까?

Redis 객체 매핑 라이브러리는 ORM이 SQL 데이터베이스에 대해 수행하는 것과 마찬가지로 Redis 명령 API보다 높은 수준의 추상화를 제공합니다. 핵심 Redis 클라이언트 라이브러리와 Redis 객체 매핑 라이브러리를 구별해 보겠습니다.

핵심 Redis 클라이언트 라이브러리에는 다음과 같은 책임이 있습니다.

  • Redis 프로토콜(RESP 등)을 구현합니다.
  • 연결(TCP 등) 관리, 재연결, 서버 검색 등
  • 실행 로직(스레드, 비동기 io 등) 관리
  • 임의의 Redis 명령을 실행하기 위한 API 노출
  • 언어 관용적 방식으로 Redis 명령 노출
  • 연결 문자열을 통해 모든 Redis 배포에 연결

객체 매핑 라이브러리는 추가 활용을 제공합니다.

  • 개발자가 가능한 가장 적은 코드 줄로 일반적인 Redis 사용 사례를 구현할 수 있습니다. 현재 여기에는 도메인 모델링 및 유창한 쿼리 API가 포함됩니다. 앞으로 캐싱, 세션 저장, 속도 제한, 리더보드, 중복 제거기를 비롯한 다른 일반적인 Redis 사용 사례에 대한 지원을 추가할 예정입니다.
  • Redis Stack에서 제공하는 기능에 대한 상위 수준 API 노출
  • 기본 Redis 명령을 노출하지 않고 Redis의 이점 제공
  • 주요 애플리케이션 프레임워크(예:Spring, ASP.NET Core, FastAPI, Express)와 통합

이러한 객체 매핑 라이브러리는 항상 하나 이상의 핵심 Redis 라이브러리에 의존합니다.

Redis Stack에 사용할 수 있는 .NET 클라이언트가 있습니까?

현재 .NET 개발자에게 권장되는 클라이언트는 Redis, Inc.에서 공식적으로 지원하지 않는 StackExchange입니다. RediSearch용 NRediSearch, RedisGraph용 NRedisGraph 및 RedisTimeSeries용 NRedisTimeSeries를 사용하여 클라이언트를 확장할 수 있습니다. StackExchange를 기반으로 하는 redis-om-dotnet 라이브러리를 사용할 수도 있습니다.

Redis Enterprise Cloud에서 RedisInsight로 작업할 수 있습니까?

RedisInsight는 아직 Redis Enterprise Cloud에서 사용할 수 없습니다. 그러나 RedisInsight 애플리케이션을 사용하여 클라우드 데이터베이스에 연결할 수 있습니다. 올해 말에 RedisInsight를 클라우드에 추가할 계획입니다.

내 Redis Stack 데이터베이스를 Redis Enterprise Cloud로 쉽게 마이그레이션할 수 있습니까?

예, Replica-Of 솔루션을 활용하여 다운타임 없이 데이터베이스를 완전 관리형 클라우드 서비스로 마이그레이션할 수 있습니다.