문제

나는 관계형 데이터베이스에 대한 언젠가지만,그것은 최근에 발생하는 날이 있어야하는 다른 유형의 데이터베이스 -관계형.

의 예로는 어떤 것들이 있는 비-관계형 데이터베이스,어디서/어떻게 사용하는 현실 세계에서?를 선택해야 하는 이유는 다음과 같이 사용하는 비-관계형 데이터베이스 관계형 데이터베이스?

편집:두 개의 다른 유사한 문제에서 언급한 답변:

도움이 되었습니까?

해결책

  • 플랫 파일
    • CSV 또는 기타 구분 된 데이터
    • 스프레드 시트
    • /etc/passwd
    • mbox 메일 파일
  • 계층 적
    • Windows 레지스트리
    • 파일 시스템 인 FSFS를 사용하여 Berkley DB 대신 전복

다른 팁

여기에 언급 된 데이터베이스 유형에 대한 모호하지만 흥미로운 대안은 다음과 같습니다. 연관 데이터베이스, 문장과 같은 Lazysoft 기술. 다운로드하고 직접 시도 할 수있는 무료 개인 버전이 있습니다. Enterprise Edition도 무료이지만 회사에 대한 요청이 필요합니다.

본질적으로, 연관 데이터베이스를 사용하면 뇌와 거의 같은 방식으로 정보를 저장할 수 있습니다. 그러한 것들 사이의 사물과 연관성. "문장"이라는 이름은이 정보가 주제 비면체 통사론:

  • 형제입니다 로라
  • 샌프란시스코 위치에 있습니다 캘리포니아
  • 마이크 신용 한도가 있습니다 $10,000

문장은 다른 문장의 주제 또는 대상 일 수 있습니다.

  • (버스 570 도착합니다 오전 8시 15 분) ~에 일요일
  • 메리 말한다 (파이 구워졌다 윌리엄)

따라서 모든 것을 끓일 수 있습니다 엔티티 그리고 협회.

물론 여기에 표현할 수있는 것보다 문장에는 훨씬 더 많은 것이 있습니다. 나는 당신이 그것에 대해 더 많이 읽는 데 시간이 걸리는 것이 좋습니다. 백지 Lazysoft에서.

"데이터의 연관 모델" 문장 제작자 중 하나 인 Simon Williams가 PDF 형식으로 제공하는 책입니다.

우리가보고있는 비 관계형 문서 지향 데이터베이스는 IS Apache CouchDB.

Apache CouchDB는 편안한 HTTP/JSON API를 통해 액세스 할 수있는 분산, 결함 내성 및 스키마가없는 문서 지향 데이터베이스입니다. 다른 기능들 중에서도 양방향 충돌 감지 및 해상도로 강력하고 증분 복제를 제공하며 기본보기 정의 언어 역할을하는 JavaScript가있는 테이블 지향 뷰 엔진을 사용하여 쿼리 가능하고 색인 할 수 있습니다.

우리의 관심은 분산 액세스 사용자 기본 설정 저장소를 제공하는 것이 었습니다.이 스토어는 Java에서 선호도 객체를 직렬화하고 Xulrunner 기반 클라이언트 응용 프로그램의 JavaScript와 마찬가지로 쉽게 액세스 할 수있는 변화를 형성 할 수있는 면역이되었습니다.

"버클리 스타일 데이터베이스"또는 "키/값"데이터베이스라고 주장하는 모든 데이터베이스는 관계형이 아닙니다.

이 데이터베이스는 일반적으로 복잡한 해싱 알고리즘을 기반으로하며 키를 기반으로 매우 빠른 조회 O (1)를 제공하지만 최종 사용자에게 모든 형태의 관계 적 선함을 남깁니다.

예를 들어, 관계형 데이터베이스에서 구조를 정규화하고 많은 테이블을 결합하여 단일 결과 세트를 만듭니다.

키/값 데이터베이스에서는 가능한 한 많이 탈퇴 한 다음 고유 키를 사용하여 데이터를 조회합니다.

두 소스에서 데이터를 가져와야하는 경우 손으로 설정된 세트에 결합해야합니다.

모든 데이터베이스는 원래 비교적이지 않았으며 1980 년대 중반 DB2와 Oracle의 도착으로 인해 일반화되었습니다. 그 전에는 평평한 파일 또는 계층 적 인 대부분의 데이터베이스.

플랫 파일은 본질적으로 지루하지만, 특히 DB2가 실제로 계층 구현 (즉, VSAM) 위에서 구현 되었기 때문에 계층 적 데이터베이스는 훨씬 적습니다. VSAM은 메인 프레임 시스템을 여전히 믿고 있으며 상당히 중요합니다.

DB/1 (지금은 Wikipedia 링크조차 찾을 수 없음)는 IBM의 전신 프라임 타임 데이터베이스에 대한 DB2 (따라서 이름)였습니다. 이것은 계층 적이었습니다 - 기본적으로 당신은 일반적으로 키에 의해 직접 액세스 할 수있는 숫자 또는 '루트'레코드로 구성된 파일을 가지고 있습니다. 그런 다음 각 루트 레코드는 수의 자식 기록을 제거 할 수 있으며, 각각의 자녀가 자녀를 가질 수 있습니다. 순 효과는 각 루트가 잠재적 인 트리와 같은 구조의 상단 인 색인 파일 또는 루트 레코드입니다. 아동 기록에 액세스하는 것은 까다로울 수 있습니다. 직접 접근의 제한이 있었기 때문에 일반적으로 필요한 레코드를 찾기 위해 나무를 가로 지르 셨습니다. '데이터베이스'에는 일반적으로 키와 관련된 파일에 여러 파일이있을 수 있습니다.

여기에는 큰 단점이있었습니다. 적어도 실제로 모든 프로그램을 작성하는 것이 전체 프로그램을 요구했습니다. 기본적으로 몇 분 안에 SQL에서 할 수있는 일과 동등한 일과 동등한 일입니다. 그러나 실제로 실행 속도에서 점수를 매겼습니다. 당시에는 메인 프레임이 iPhone의 처리 능력 (데이터 I/O에 최적화되어 있지만 DB2 쿼리가 불량하면 수백만 달러의 설치가 죽을 수 있습니다. 이것은 DB/1의 문제가 아니었고 프로그래머가 CPU 시간보다 저렴한 세상에서는 의미가있었습니다.

Google App Engine Datastore :

App Engine Datastore는 관계형 데이터베이스가 아닙니다. Datastore 인터페이스에는 기존 데이터베이스의 동일한 기능이 많이 있지만 Datastore의 고유 한 특성은 자동으로 확장 할 수있는 기능을 활용하기 위해 데이터를 설계하고 관리하는 다른 방법을 암시합니다.

Osisoft의 PI Historical 데이터베이스는 비 관계형입니다. 타임 스탬프 데이터를 보관하기에만 만들어졌습니다. 산업, 특히 모든 '대시 보드'의 백엔드 데이터베이스로 많이 사용됩니다.

조인이 없기 때문에 관계형이 필요하지 않습니다.

아직 나오지 않은 다른 두 가지 유형의 데이터베이스 :

  1. 컨텐츠 리포지토리는 콘텐츠 (IE 파일, 문서, 이미지 등) 용으로 설계된 데이터베이스입니다. 일반적으로 콘텐츠를 탐색하는 계층 적 방법, 다른 형식 간의 검색, 버전 설정 및 기타 많은 것들과 같은 추가 정보가 있습니다. 예 - Alfresco, Documentum, Jackrabbit, Day, OpenText, 다른 많은 ECM 공급 업체.

  2. 디렉토리, 즉 Active Directory 또는 LDAP 디렉토리. 이들은 저작물 / 높은 읽기 시나리오를 위해 설계되었으며 높은 지리적 거리 / 높은 대기 시간 연결에 고도로 분포되어 있습니다. 인증 / 승인에 주로 사용되지만 유스 케이스가 요구 사항과 일치하는 경우에는 할 필요가 없습니다.

치수 데이터베이스는 비 관계형 데이터베이스의 훌륭한 예입니다. KPI 및 기타 유형의 집계 또는 통계 데이터를위한 '비즈니스 대시 보드'/'비즈니스 인텔리전스'에 매우 일반적으로 사용됩니다. 일반적으로 관계형 데이터베이스에서 채워져 있으며 특정 상황에서 더 나은 성능을 제공 할 수 있습니다.

http://en.wikipedia.org/wiki/dimensional_database

  1. XML 데이터베이스 예 : xindice
  2. 객체 데이터베이스 예를 들어 DB4O

관계형 데이터베이스의 개념은 매우 논쟁의 여지가 있습니다. 다음과 같은 순수 주의자 CJ 날짜 공통적으로 사용되는 많은 데이터베이스 (예 : Oracle 및 SQL Server)는 관계형 모델을 '관계형'이라고 불리기에 충분히 준수하지 않는다고 주장합니다.

비-관계형 데이터베이스를 만족하지 않 커드의 요구 사항입니다.터 시스템즈 캐시 솔 총 다시 쓰기/를 다시 디자인의 오래된 골 운영 체제 데이터베이스입니다.에서 조금 읽었의 캐시 나타나는 것을 잘 이루어집 재설계입니다.그것은 허용합니다.net 프로그램 데이터베이스에 액세스하는 것처럼 SQL.캐시 실행하의 선택 OS 프로그램을 변경할 필요 없이.에 가져오는 당신의 선택으로 파일을 캐시 실행할 수 있습의 오래된 녹색 화면 응용 프로그램은 그것으로 작성한 새로운 프로그램을 사용합니다.순할 수 있도록 마이그레이션 응용 프로그램을 포기하지 않고 년 동안의 데이터 디자인에 이미 투자한다.여기에는 일부 배경에서 선택 DB 모델입니다.선택 데이터베이스를 사용하여 완전히 가변 길이 레코드 필드가 있습니다.모든 테이블은 키에 의해 하나의 고유 키에 액세스할 수 있을 읽지 않고 index.선택되는 시스템을 사용하여 해싱하는 알고리즘을 읽은 품목에서는 디스크에서 일반적으로 1 일에 물리적인 읽기(가정하고 유지 관리 시스템이 제대로 수행되었).필드에서 선택 아닌 입력한다.모든 데이터로 저장된 문자열하고 캐스팅을 프로그래머입니다.Null 으로 저장하면 빈 문자열로,따라서 null 하지 않는 디스크 공간을 차지에서 SQL.할 필요가 없 외국인을 위한 키를 사용합니다.에서'관계'DBA 을 만들기 위해 헤더,테이블 및 순서 항목이다."선택 모델에 있습니다.예를 들어,'순 날짜가'분야에 저장하는#이후의 일'Dec13,1967'(데이터를 선택 OS 이 켜져 있었을 위한 첫 번째 시간).선택 프로그래머지 않았 Y2k 문제입니다.제 2 열의 것 고객의 번호입니다.큰 차이점은 당신이 얻을 때 제품 번호 열,그것은'다중'(이하 커드 Non-Conformance).다시 말해서,데이터베이스를 처리할 수 있 1-32000 제품 중에서 남는 것을 방지합니다.기타 열처럼 주문 수량에서 제어/의존 관계는 제품 번호하고 또한 multi-를 평가합니다.을 얻을 때 수량을 발송,선택을 제 차원 및 수 있 Sub-다 소중한다.당신은 발송물의 수를 열며,그것은 것 Multi-에 의해 평가된 항목 및 하위 Multi-평가를 포함하는 배송에 대한 수량는 라인에 대한 선적 수입니다.이 없 내부 조인 필요합니다.에 대한 모든 데이터는 순서가 중 하나에 저장된 테이블에 하나의 기록이다.아 고아 행은 이제까지!둘째 데이터 정의는 약간 다릅니다.우리의 사전에 포함될 수 있습에 대한 정의하지 않는 데이터 이 테이블이나 되는 조작이 가능합니다.의 몇 가지 예로,고객 이름입니다.그것은 것으로 정의된'를 사용하여 고객 수를 열고 이름을 반환하는 분야에서 고객 테이블.또 다른 예는 라인 항목이 연장될 수 있으로 정의의 계산량*가격/PricePer.내가 믿고 읽기가 어딘가에 캐시 주장하는 100,000 설치합니다.

Excel의 플랫 파일 데이터베이스는 비교적이지 않으며 상당수의 사람들이 사용한다고 생각합니다.

실제로 다른 테이블과 결합 할 수없는 데이터베이스 테이블 일뿐입니다.

객체 지향 데이터베이스는 흥미로운 유형의 비 관계형 데이터베이스입니다.

각 거래/계약은 해당 카테고리의 다른 것과 비슷하게 보일 수 있지만 고유 한 속성도 가지고 있기 때문에 거래 부문은 때때로 OO 데이터베이스를 사용합니다. 관계 적으로 표현하기가 매우 어렵습니다.

존재 db 오랫동안 주변에 있었던 XML 데이터베이스입니다. 특히 유용합니다 xquery 수많은 XML 문서.

데이터가 포함되어 있지만 해당 데이터 내에서 관계를 표현하지 않는 파일 또는 파일 그룹은 비 관계형 데이터베이스입니다.

rrdtool 로그 데이터를 저장하고 집계하도록 설계되었습니다. 샘플링 간격 및 피드 데이터를 구성한 다음 시간 기반 결과를 반환합니다. 고정 크기 스토리지에 최적화되어 있으며 시간이 지나면 과거 결과를 집계하기 시작합니다. 예를 들어, 5 분 시간 간격이있는 라운드 로빈 데이터베이스가 있다고 가정합니다. 온도 데이터를 초당 한 번 보낸 경우에도 여전히 결과 만 5 분 단위로 저장합니다. 일주일이 지나면 그 결과는 시간당 값으로 평균화됩니다. 한 달 후, 시간당 결과는 일일 숫자 등으로 평균화됩니다.

RRDTool은 일반적으로 도구와 같은 도구의 백엔드로 일반적으로 사용됩니다. 크리켓 그리고 MRTG 몇 달과 몇 년 동안 네트워크 및 환경 데이터를 추적합니다.

그래프 기반 DBM의 경우 NEO4J가 있습니다

Hierarichal DBMS의 경우 표준 파일 시스템이 있거나 "스키마"가있는 LDAP 구현을 지원합니다.

많은 답이 있지만 모두 두 가지 주요 범주 중 하나에 있습니다.

  1. 항해. 트리/계층 데이터베이스 및 그래프 데이터베이스가 포함되어 있습니다.

  2. 첫 번째 정상 양식 (다중 값)을 깨는 데이터베이스. 픽 데이터베이스 및 Lotus Notes 및 CouchDB와 같은 자손이 포함되어 있습니다.

편집 : 물론 BDB와 같은 키/가치 저장소는 관계형이 아니지만 말할 것도없이 그렇지 않습니까? 내 말은, 그들은 단지 핵심/가치 상점입니다.

dbase. 이렇게 판매되었지만 요구 사항을 충족시키지 못합니다.

OO 데이터베이스로서 Intersystems Caché가 떠 오릅니다. 일부 의료 및 도서관 시스템이이를 위해 구축되었습니다.

  1. 회사 인 www.smartsgroup.com에는 "트랜잭션 로그 데이터베이스"라고하는 독점 데이터베이스 엔진이 있습니다. 플랫 파일, 이진 형식의 "이벤트"또는 "메시지"시퀀스 와이 데이터에 대한 다양한 색인 및 증권 거래소 주문서 상태를 재현하기위한 알고리즘에 대한 다양한 색인을 포함합니다. 순차적 업데이트 및 순차적 액세스에 대해 최적화되어 있습니다.

  2. 과학 응용 분야에서는 RDBMS 대신 독점 데이터베이스 엔진을 사용하는 것이 일반적입니다. 또한 세계 최대의 EEG Brain Recordings (www.brainresource.com)를 보유한 회사에서 근무했습니다. 그곳에서 우리는 플랫 파일 데이터베이스를 사용하며 우리에게 잘 작동했습니다.

  3. SmartSgroup은 또한 비 관계형 데이터베이스 테이블과 같은 시간 데이터베이스를 사용합니다. 모든 필드에 대한 모든 변경 사항의 기록을 저장하여 특정 날짜에 특정 행의 상태를 재현 할 수 있다는 점을 제외하고.

위에 연결된 치수 데이터베이스의 위키 페이지는 사라진 것 같습니다.

약간 올랩 시스템은 다차원 데이터베이스 (MOLAP)에 의해 뒷받침되어 있습니다. 이들은 재무 분석에 자주 사용됩니다. 그들은 다른 수준의 집계에서 데이터를 탐색 할 수있는 대화식 클라이언트를 제공합니다.

우리 대학에는 연구하는 그룹이 있습니다 공제 데이터베이스.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top