>  기사  >  데이터 베이스  >  Redis는 어떤 유형의 데이터베이스인가요?

Redis는 어떤 유형의 데이터베이스인가요?

silencement
silencement원래의
2019-06-04 16:02:284321검색

Redis는 어떤 유형의 데이터베이스인가요?

Redis란 무엇입니까

redis는 nosql(sql뿐만 아니라) 데이터베이스이며 중국어로 번역하면 비관계형 데이터베이스라고 합니다.

1. nosql이란?

NoSQL은 일반적으로 비관계형 데이터베이스를 의미합니다. NoSQL은 관계형 데이터베이스를 보완할 수 있는 Not-Only SQL입니다. 인터넷 web2.0 웹사이트의 등장으로 비관계형 데이터베이스는 이제 매우 인기 있는 새로운 분야가 되었으며, 비관계형 데이터베이스 제품은 매우 빠르게 발전하고 있습니다. 기존의 관계형 데이터베이스는 web2.0 웹사이트, 특히 초대형 및 동시성 SNS 유형 web2.0 순수 동적 웹사이트에 대처할 수 없어 다음과 같은 극복할 수 없는 많은 문제를 노출했습니다.

1. 고성능 - 요구 사항 높은 동시 읽기 및 쓰기 데이터베이스

web2.0 웹사이트는 사용자 개인화 정보를 기반으로 동적 페이지를 생성하고 실시간으로 동적 정보를 제공해야 하므로 동적 페이지 정적화 기술은 기본적으로 사용할 수 없습니다. 데이터베이스의 용량이 매우 높으며 초당 수만 건의 읽기 및 쓰기 요청을 달성해야 하는 경우가 많습니다. 관계형 데이터베이스는 수만 개의 SQL 쿼리를 거의 견딜 수 없지만 수만 개의 SQL 쓰기 데이터 요청이 발생하면 하드 디스크 IO는 더 이상 이를 견딜 수 없습니다. 실제로 일반 BBS 웹사이트의 경우 웹사이트의 온라인 사용자 상태에 대한 실시간 통계, 인기 게시물에 대한 클릭수 기록, 투표 집계 등 높은 동시 쓰기 요청이 필요한 경우가 종종 있으므로 이는 매우 일반적인 요구입니다.

2. 대용량 저장 공간 - 효율적인 저장 공간과 대용량 데이터 액세스의 필요성

Facebook, twitter, Friendfeed와 같은 SNS 웹사이트에서는 Friendfeed를 예로 들면 한 달 만에 25억에 달하는 사용자 업데이트가 매일 생성됩니다. 관계형 데이터베이스의 경우 2억 5천만 개의 레코드가 있는 테이블에서 SQL 쿼리를 수행하는 것은 매우 비효율적이거나 심지어는 견딜 수 없습니다. 또 다른 예로는 Tencent, Shanda와 같은 대규모 웹사이트의 사용자 로그인 시스템이 있는데, 이는 종종 수억 개의 계정을 보유하고 있으며 관계형 데이터베이스도 대처하기 어렵습니다.

3. High Scalability && High Availability - 데이터베이스의 고확장성 및 고가용성을 위한 요구사항

웹 기반 아키텍처에서 데이터베이스는 애플리케이션 시스템의 사용자 수와 방문 수를 늘리는 것이 가장 어렵습니다. 데이터베이스가 나날이 증가함에 따라 웹 서버 및 앱 서버와 같은 하드웨어 및 서비스 노드를 더 추가하여 성능과 로드 용량을 확장할 수 있는 방법은 없습니다. 24시간 중단 없는 서비스를 제공해야 하는 많은 웹 사이트의 경우 데이터베이스 시스템을 업그레이드하고 확장하는 것이 매우 고통스럽습니다. 이를 위해 다운타임 유지 관리 및 데이터 마이그레이션이 필요한 경우가 많습니다. 서버 노드를 지속적으로 추가해도 데이터베이스를 확장할 수 없는 이유는 무엇입니까?

NoSQL 데이터베이스는 대규모 데이터 수집과 다양한 데이터 유형, 특히 빅데이터 애플리케이션 문제로 인해 발생하는 문제를 해결하기 위해 만들어졌습니다.

2. NoSQL 데이터베이스의 네 가지 주요 범주

키-값(Key-Value) 저장 데이터베이스

관련 제품: Tokyo Cabinet/Tyrant, Redis, Voldemort, Berkeley DB 일반적인 응용 프로그램: 주로 처리에 사용되는 콘텐츠 캐싱 대량의 데이터 액세스 로드가 높습니다. 데이터 모델: 일련의 키-값 쌍 장점: 빠른 쿼리 단점: 저장된 데이터에 구조화된 열 저장소 데이터베이스가 부족함

관련 제품: Cassandra, HBase, Riak 일반적인 응용 프로그램: 분산 파일 시스템 데이터 모델: 열 클러스터 저장소, 장점 동일한 열의 데이터를 함께 저장: 빠른 검색 속도, 강력한 확장성, 분산 확장 용이 단점: 상대적으로 기능이 제한됨

문서 데이터베이스

관련 제품: CouchDB, MongoDB 일반적인 응용 프로그램: 웹 응용 프로그램(키-값이 유사함, 값이 유사함) 구조화됨) 데이터 모델 : 일련의 키-값 쌍 장점 : 데이터 구조 요구 사항이 엄격하지 않음 단점 : 쿼리 성능이 높지 않고 통합 쿼리 구문이 부족함

그래프 데이터베이스

관련 데이터베이스 : Neo4J , InfoGrid , 무한 그래프 일반적인 응용 프로그램: 소셜 네트워크 데이터 모델: 그래프 구조 장점: 그래프 구조 관련 알고리즘을 사용합니다. 단점: 결과를 얻으려면 전체 그래프를 계산해야 하며, 분산 클러스터 솔루션을 구현하기가 쉽지 않습니다.

3. Redis 기본

Redis는 빠른 콘텐츠 액세스 속도로 인해 인터넷 프로젝트에서 널리 사용됩니다. 공식적으로 읽기 속도는 초당 300,000회에 달합니다. , 쓰기 속도는 초당 약 100,000회이며, 특히 하드웨어에 따라 제한됩니다.

단점: 지속성 지원이 충분하지 않습니다.

그래서 redis는 일반적으로 데이터의 주요 데이터베이스 저장소로 사용되지 않으며 일반적으로 기존 관계형 데이터베이스와 함께 사용됩니다.

Redis는 C 언어로 개발된 오픈 소스 고성능 키-값 데이터베이스입니다. 다양한 시나리오의 스토리지 요구 사항에 맞게 다양한 키-값 데이터 유형을 제공합니다. 지금까지 Redis에서 지원하는 키-값 데이터 유형은 다음과 같습니다.

문자열 유형 해시 유형 목록 유형 컬렉션 유형

4. 애플리케이션 Redis 시나리오

캐싱(데이터 쿼리, 짧은 연결, 뉴스 콘텐츠, 제품 콘텐츠 등). (가장 많이 사용됨) 분산 클러스터 아키텍처에서 세션 분리. 채팅방의 온라인 친구 목록입니다. 작업 대기열. (플래시세일, 러시세일, 12306 등) 신청순위입니다. 웹사이트 방문 통계입니다. 데이터 만료 처리(밀리초 단위까지 정확함)

위 내용은 Redis는 어떤 유형의 데이터베이스인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.