Nosql 거래 시스템
Nosql 거래 시스템
App Store를 통해 가져 오기 우리의 응용 프로그램 에서이 게시물을 읽으십시오!
Finance에서 NoSQL 스토리지 사용.
아무도 NoSQL (mongodb, cassandra 등)을 사용하여 데이터를 저장하고 분석했는지 궁금합니다. 웹 검색을 시도했지만 금융 회사가 nosql 저장소를 사용했는지 확인할 수 없었습니다.
지금까지이 사이트에서도 SQL DB 사용에 대한 이야기 만 보았습니다. NoSQL이 훨씬 빠를 것이라고 나는 예상했다.
누군가 금융 세계에서 NoSQL 솔루션의 주제를 밝힐 수 있습니까? 누군가 당신이 그것을 보았거나 들었습니까? 그렇다면 왜 그들이 사용하고 있습니까? 사용하지 않는 경우 왜 아닙니다.
전문 NoSQL 데이터베이스 시스템은 특히 틱 데이터의 경우 시계열 저장에 많이 사용됩니다.
Kx / Kdb는 탁월한 솔루션입니다. Morgan Stanley Onetick에서 A +를 한 Arthur Whitney 등이 Goldman Sachs의 흔적을 가지고있는 또 다른 신입 사원입니다. Voltdb는 직렬 데이터베이스 발명가 인 Michael Stonebreaker의 작품입니다. SciDB는 최근의 'Stonebreaker'프로젝트 중 하나입니다. 과학 응용 프로그램 (적어도 지금은?)
상용 제품은 다소 비싸지 만 거래 환경에서 표준 Web 2.0 NoSQL 데이터베이스의 사용에 대해서는 들어 보지 못했습니다. 어떤 사람들은 물론 말하기보다는 할 수 있습니다.
"전통적인"NoSQL 데이터베이스가 재무를 많이 차지하지 않는 이유는 다른 문제를 해결하기 위해 설계 되었기 때문입니다. 웹 세상의 대부분의 NoSQL 데이터베이스는 두 가지 주요 디자인 매개 변수로 설계되었습니다. 첫 번째 핵심 조회는 매우 빨라야합니다. 둘째, 작업은 행 수준에서 원자가되어야하며 레코드를 확장해서는 안됩니다. 따라서 여러 작업을 처리 할 필요가 없으므로 데이터베이스를 매우 효율적으로 분할 할 수 있으며 이로 인해 규모 확장 아키텍처를 구현할 수 있습니다. 이 데이터베이스는 과도한 워크로드를 매우 많이 작성하고 웹 페이지를 렌더링하기 위해 빠른 키 조회를 수행 할 수 있도록 제작되었습니다. 진드기 데이터를 저장하는 데 사용할 수는 있지만 실제로는 좋지 않습니다.
재무 데이터는 대형 웹 회사 데이터에 비해 상대적으로 작습니다. 따라서 금융에서의 규모 축소는 덜 중요합니다. 또한 재무 데이터는 (하루, 심볼 또는 거의 모든 다른 키에서) 잘 분할되는 경향이 있으므로 복제본 배치가보다 명확한 경향이 있습니다.
맵 축소는 hadoop (카산드라) 또는 내부 맵 축소 (MongoDB에는 Java 스크립트 MR API가 있음)를 사용하여 이러한 데이터 저장소에 대한 분석 응용 프로그램을 빌드하는 일반적인 방법입니다. 이것은 전형적으로 시계열 데이터를 분석하기위한 이상적인 패러다임이 아닙니다.
통합 된 시계열 분석 도구 또는 사용자 정의 된 플랫폼이있는 기존의 열 기반 상점은 계속해서 시계열 데이터를 저장하고 처리하는 데 선호되는 방법입니다. 매우 큰 규모의 웹 사이트를 실행하기 위해 구축 된 데이터베이스와 시계열 정보를 저장하고 분석하기 위해 구축 된 데이터베이스 간에는 많은 융합이있을 것이라고 생각하지 않습니다.
모든 것들은 mongodb를 메타 데이터 저장소와 매우 큰 캐시의 일종으로 광범위하게 사용한다고 말하고 있습니다. 그러나 우리는 재무 데이터를 저장하거나 분석하는 데 사용하지 않습니다.
금융 세계에서 대부분의 데이터 (특히이 포럼이 Quant 원숭이를 대상으로하는 경우)는 트랜잭션이며 규정보고의 대상입니다.
NoSQL은 일반적으로 트랜잭션이 아니며 위험 데이터의 형태를 띄기 때문에 ACID 및 RDBMS를 버릴 수있는 압도적 인 이유는 없습니다.
보다 일반적인 이유가 있습니다. RDBMS를 아는 IT 직원이 1000 명 있습니다. NoSQL 포크를 떠날 때, 당신의 연속성과 지원은 어디에 있습니까?
저는 여기에 편향되어 있습니다 : 저는 위험 / 가격 / 거래 시스템을 관리하는 RDBMS 데이터베이스 전문가입니다.
mongodb는 역사적인 tick-by-tick을 저장하는 좋은 오픈 소스 솔루션 인 것 같습니다. 나는 그것을 여기에서 사용하고 있으며 사용하는 것은 매우 단순한 것으로 보인다.
카산드라는 분명한 선택입니다. MongoDB 또는 임의의 RDBMS를 사용하면 모든 진드기를 테이블 (Mongo-speak의 콜렉션)에 넣고 시세로 색인 할 수 있습니다. 즉, 시세 표시기에 대한 데이터를 검색하려는 경우 데이터가 연속적으로 저장되지 않으므로 색인 및 임의 읽기를 엄청나게 사용하게됩니다. SSD를 사용하더라도 느립니다. Mongo에서 Python으로 500k 틱 들어 가면 16GB SSD가 장착 된 단일 I7에서 200 초 이상 걸립니다. 예, 클러스터 할 수 있지만 출발점이 좋지 않습니다. 100 개의 시세 표시기를 가져와야한다고 상상해보십시오.
Cassandra를 사용하면 모든 것이 열 패밀리에 저장됩니다. 기본적으로 dicts의 큰 dicts. 원하는 경우 각 시세 표시기를 완전히 순차적으로 저장하므로 SSD를 통해 데이터를 검색 할 때 긍정적으로 비명을 지르는 경우가 있습니다. 나는 위와 똑같은 15 초 미만을 말하고있다. 나는 심지어 Cassandra에 노드를 추가하는 것이 이것을 가속화하는 편이 쉽게 가지 않을 것입니다. 15 초 평균은 단일 컴퓨터에 있습니다. 웹에서 "Cassandra에 대한 이유"중 다수는 여러 노드를 사용하는 쉬운 확장에 대해 말하고 있으며, 이는 더 빠르고 더 안전하게 만들 것입니다. 그러나 나를 위해이 순차적 인 저장은 재무에 이상적입니다. 그것은 Mongo doesn''t가 timeseries를 위해 준비되면서 시작된다. 클러스터 및 / 또는 최적화 작업을 시작하기 전에 디자인을 통해 최소한의 주문을 처리 할 수 있습니다. 파이썬에 대해 알고 있다면 간단합니다. Cassandra는 Mongo (또는 RDBMS)에서 Python 목록이 Numpy에게있다. 인접한 데이터의 큰 덩어리가 아니라 흩어져있는 데이터 포인트에 연결된 포인터.
물론 그 반대이다. 귀하의 유스 케이스가 수백만 건 (웹 애플리케이션의 전형적) 인 단일 (몇) 건의 레코드라면 Mongo는 Cassandra보다 훨씬 쉽게 만듭니다. Cassandra는 큰 데이터 용이지만 Mongo / RDBMS는 웹 사이트 userID 스타일 작업 부하에 더 잘 매핑됩니다. Parodoxically, 예를 들어 SQL은 "NoSQL"에 비해 상당히 엄격하다고 생각되지만, 카산드라는 관계형 데이터베이스보다 훨씬 엄격합니다. 그러나 소년은 당신이 그 구조를 받아들이면 성과를 얻습니다.
BTW Hbase 또 다른 columnar 선택이지만 나는 그것에 경험이있다. 주요 메시지는 RDBMS 또는 "전통적인"NoSQL을 잊어 버리는 것입니다. 이들은 여러 시간 계열에 대한 나쁜 선택입니다. 당신이 원하는 것은 칼럼 데이터베이스입니다. 카산드라는 훌륭한 예입니다.
아무도 NoSQL을 사용했는지 궁금합니다. 데이터를 저장하고 분석합니다.
예. github에 북극을보십시오. 이것은 시계열 데이터를 저장하기 위해 세계 최대의 헤지 펀드 중 하나가 생산 용도로 사용하는 MongoDB 위에 구축 된 오픈 소스 API입니다.
NoSQL이 훨씬 빠를 것이라고 나는 예상했다.
github wiki에서 성능 메트릭과 기존의 상용 DB를 보여주는 프레젠테이션 링크를 찾을 수 있습니다. 이것은 부분적으로 데이터를 압축 된 형식으로 저장하고 와이어를 통해 보내는 것으로 실현됩니다 (이것은 MongoDB가 아니라 API의 기능입니다).
다른 멋진 기능에는 버전 관리, 할당량, ACL이 포함됩니다.
위의 답변과 관련하여 틱 데이터 또는 시계열에 대해 redis (메모리 데이터 저장소) 및 amp; mongodb를 사용하거나 버스 이벤트와 함께 Hbase를 사용하십시오.
금융 서비스 변혁.
새로운 규정. 더 많은 글로벌 경쟁 업체. 투명성과 책임 성을 요구합니다. 이러한 어려움을 해결하기 위해 금융 서비스 회사는 MongoDB를 통해 핵심 시스템을 재발 명하고 있습니다. 그들은 무역 신호를 신속하게 분석하고 고객의 단일 뷰를 얻으며 위험을 줄입니다. 방법은 다음과 같습니다.
주요 고객.
MetLife는 MongoDB를 사용하여 90 일 만에 70 개의 서로 다른 시스템 전반에 걸쳐 100 만 명 이상의 고객을 단일보기로 만들었습니다. 관계형 데이터베이스를 사용하여 동일한 애플리케이션을 개발하는 데 8 년 동안 노력해 왔습니다. 고객 서비스가 훨씬 좋아졌습니다.
기타 금융 서비스 고객.
MongoDB를 이용한 실시간 이벤트 가입 서비스 구축.
시장 데이터 관리를위한 40 배의 저렴한 비용으로 100 배 낮은 대기 시간.
세계적으로 분산되어있는 새로운 시장 데이터 서비스를 위해 MongoDB로 마이그레이션합니다.
HSBC는 기술을 채택하여 "더 간단하고, 더 빠르고 더 빠르게" 고객에게있어 데이터는 혁신의 핵심입니다.
금융 서비스 사용 사례.
위험 관리 분석 & amp; 보고. 금융 기관은 여러 위험 측정 기준을 통합하고 분석하여 자산 클래스 또는 거래 상대방에 대한 단일 노출보기를 작성해야합니다. 유럽 공평 파생 기관은 MongoDB의 동적 쿼리 언어를 사용하여 모든 데이터 속성에 세분화 된 액세스를 허용합니다. MongoDB의 네이티브 집계 프레임 워크는 일중 분석을위한 대규모 그룹화 및 데이터 재구성을위한 강력한 도구를 제공합니다.
참조 데이터 관리. 글로벌 금융 서비스 기관은 MongoDB로 마이그레이션 한 후 5 년간 40 백만 달러의 비용을 절감 할 것으로 추정합니다. MongoDB의 원시 복제를 사용하여 지역 소비를 위해 데이터를 지리적으로 빠르게 분산시킬 수 있습니다. 각 사업부는보다 정확한 데이터를 처리합니다. BU는 오래된 정보에 대한보고에서 부과되는 규정 위반의 위험을 줄이고 여러 기술의 비싼 라이센스를 제거합니다.
고객의 단일보기. 고객의 단일보기를 작성하면 상향식 기회를 더 잘 식별 할 수 있습니다. 고객 이탈을 예측하고 고객 서비스를 개선 할 수 있습니다. MetLife는 8 년 동안 고객의 관점을 단일화하기 위해 고심한 끝에 새로운 접근 방식을 시도했습니다. MongoDB의 유연한 스키마 덕분에 프로젝트 팀은 70 개의 개별 소스 시스템에서 데이터를 완벽하게 혼합 할 수있었습니다. 그들은 불과 3 개월 만에 신청서를 전달했습니다.
시장 데이터 관리. MongoDB로 이동하면 AHL / Man Group은 초당 250M 틱으로 확장 할 수있었습니다. 이전 데이터베이스와 비교할 때 AHL은 처리량이 25 배 개선되었으며 대기 시간은 40 배 단축되었으며 대기 시간은 100 배 단축되었습니다. 고속 데이터 처리 및 분석과 간단한 확장 기능을 통해 AHL은 시장 데이터 피드에서 거래 신호를보다 잘 식별 할 수 있습니다.
무역 저장소. 금융 기관은 7 년 이상 무역 데이터를 저장해야합니다. 연구 및 투자 관리 분야의 글로벌 리더는 상용 하드웨어에서 데이터 스토리지를 확장함으로써 비용을 절감 할 수있었습니다. MongoDB의 유연한 스키마를 사용하면 다양한 거래를 단일 데이터베이스에 통합 할 수 있습니다.
주요 리소스.
금융 서비스 문제 해결.
금융 서비스의 오늘날의 데이터 문제 : 추세 및 우수 사례 극복.
소매 은행이 MongoDB를 사용하는 방법.
보험 회사가 MongoDB를 사용하는 방법.
어떻게 시작합니까?
또는 MongoDB Enterprise 평가판을 지금 다운로드하십시오.
백서를 읽으십시오.
Tier 1 투자 은행이 MongoDB로 전환하고 4 억 달러를 절감 한 방법을 알아보십시오.
MongoDB에 대해 알아보십시오.
MongoDB Enterprise의 이점에 대해 읽어보십시오.
MongoDB, Inc. 소개
행동 강령.
자세히 알아보십시오.
NoSQL 데이터베이스 설명.
MongoDB 아키텍처 가이드.
MongoDB 엔터프라이즈 고급.
MongoDB 공학 블로그.
MongoDB 대학.
강좌 카탈로그보기.
수업 일정보기.
MongoDB 업데이트를 받으십시오.
인기 주제.
Copyright © 2017 MongoDB, Inc.
Mongo, MongoDB 및 MongoDB leaf 로고는 MongoDB, Inc. 의 등록 상표입니다.
NoSQL, No Problem : NoSQL 데이터베이스 소개.
로버트리스.
NoSQL을 풀고 그것이 무엇인지 그리고 당신이 그것에 관심이 있는지 여부를 설명하려고 시도하는 것은 어렵습니다. 이 기사는 NoSQL에 대한 높은 수준의 소개를 목적으로하며이 공간에서 최신 기술을 비교합니다.
이 용어는 광범위한 기술, 데이터 아키텍처 및 우선 순위를 다루고 있습니다. 특정 기술을 수행하는 것처럼 많은 운동 또는 사상 학교를 대표합니다. 이름조차도 혼란 스럽습니다. 일부는 문자 그대로 SQL을 사용하지 않는 데이터 저장소를 의미하지만, 업계는 "SQL뿐 아니라"정착 한 것 같습니다. 시간이 지남에 따라 용어의 범위가 그 자체로 무의미 해지고 용어의 의미를 명확히하기 위해 하위 구분이 필요할 때까지 성장하고 확장 할 가능성이 있습니다.
NoSQL의 움직임은 게릴라 마케팅의 일환으로 광범위한 기술자와 기술 그룹을 하나로 묶어줍니다. "NoSQL"이라는 용어 아래에 존재하는 무수한 솔루션을 뒷받침하는 아이디어는 이전에 고유 한 요구가 개발 및 구축해야하는 사람들에게만 제공되었습니다. 그러한 솔루션이 필수적인 분야에서 이미 입증 된 바 있으며, 이제는 그 사용이 훨씬 적은 투자 비용으로 다른 사람들을위한 옵션이되었습니다. NoSQL과 전통적인 관계형 데이터 사이에서 선택할 수있는 조직의 경우 어떤 데이터를 사용해야하는지에 대한 어려운 질문이 있습니다. 결정적이고 확실한 해답을 제시하기에는 아직시기 상조이지만 많은 조직이 이론보다는 실제 수행하는 저장 및 검색의 종류와 더 잘 일치하는 데이터 모델의 이점을 누릴 수 있습니다. 또한 대부분의 솔루션은 스토리지 솔루션의 하이브리드 믹스로 구성 될 가능성이 높습니다. n - 티어 및 클라이언트 - 서버 구조의 혼합이 하나의 전략에 대한 절대적 약속보다 더 흔한 경향이있는 것과 같습니다.
기술 리더는 사용 가능한 옵션을 이해하고 자체 도메인에 가장 적합한 소프트웨어, 제품 및 서비스를 적용하는 데 중요한 역할을합니다. 최고의 NoSQL을 채택하기위한 논리적이고 지역화 된 전략을 채택하는 것이 채택 실패와 성공을 차별화시키는 요인이 될 것입니다.
NoSQL이 새로운 과제를 제시하는 것처럼, 솔루션을 성공적으로 솔루션 포트폴리오에 통합 할 수있는 사람들에게 상당한 보상을 제공합니다. 주요 혜택은 향상된 데이터 이해력, 유연한 확장 솔루션 및 생산성을 중심으로 등장 할 것입니다. 다양한 새로운 비즈니스 모델은 데이터 저장 요구 사항을 지원하며 데이터를 관계형으로 강제 변환 해오고 있습니다.
NoSQL은 크고 확장 된 영역입니다. 이 백서의 목적 상 NoSQL 데이터 저장소의 일반적인 기능은 다음과 같습니다.
기존로드 균형 조정 된 클러스터에서 사용하기 쉬움 영구 데이터 (캐시가 아님) 사용 가능한 메모리로 확장 고정 스키마가없고 가동 중지없이 스키마 마이그레이션이 허용됨 표준 쿼리 언어를 사용하지 않고 개별 쿼리 시스템 보유 클러스터 노드에서 ACID를 사용하고, 결국 클러스터 전체에서 일관성있게 유지됩니다.
이 백서의 모든 제품이 이러한 모든 속성을 가지고있는 것은 아니지만 대부분의 매장에서 우리가 대다수의 매장을 지원할 것입니다.
NoSQL에 대한 관심이 증가한 데에는 세 가지 핵심 요소가 있습니다. 첫 번째는 인터넷 2.0의 성숙과 더불어 웹 2.0 또는 소셜 웹으로 불리는 트래픽 프로파일의 새로운 형태의 출현입니다.
일반적으로 언급되는 '웹 규모'는 용량 계획, 규모 및 프로비저닝 문제로, 지난 5 년 동안 많은 웹 비즈니스에서 긴급히 요구되고 있습니다. 세계가 더 많이 연결됨에 따라 사이트에서 엄청난 양의 트래픽을 경험할 수 있습니다. 이 중 일부는 예측 가능한 이벤트 인 월드컵이나 크리스마스와 관련이 있습니다. 예를 들어 9 월 11 일에는 뉴스 사이트에 엄청난 어려움이있었습니다. 페이스 북과 같은 사이트는 항목들이 "바이러스 성이 생겨"세계적인 구강 세계로 배포 될 때 사이트가 인기를 크게 얻는 것을 쉽게 만들었습니다.
정적 콘텐츠와 CDN (Content Distribution Networks)을 사용하면 "무거운"웹 사이트에 대한 확장 문제가 잘 이해되므로 사용자가 생성 한 콘텐츠로 인해 특정 문제가 발생합니다. 사용자가 생성 한 콘텐츠는 사이트가 더 "읽기 - 쓰기"균형을 이룬다는 것을 의미합니다. 트위터와 같은 사이트는 매우 좁은 시간 프레임 (득점 또는 거부, 선거 선언 또는 TV 피날레)으로 쓰기 트래픽이 급격히 증가하는 상황에서 인프라가 신속하게 적응하고 잘못된 시간에 잘못된 모드로 멈추지 않아야합니다. 스케일링에 대한 일반적인 접근 방식은 웹 서버를 추가하는 것이 었습니다. 웹 서버는 데이터베이스를 통한 트래픽 (단일 인스턴스 였음)이 병목 현상을 일으킬 때까지 작동합니다. 대답은 데이터베이스가 모든 트래픽을 처리 할 수있을 때까지 점차 더 강력한 하드웨어를 구입하는 것이 었습니다. 웹 스케일은 피크 수요 (크리스마스, 월드컵)를 충족시키기 위해 하드웨어를 구매해야하는 딜레마에 직면하지만 날마다 용량보다 훨씬 적게 작동하는이 모델을 무효화합니다. 일부 비즈니스에서는 하드웨어 및 라이센스를 구입하여 단일 서버를 통해 최고 수요만을 충족시키는 것이 불가능합니다. 이 기업들은 웹 아키텍처를 반영한 확장 가능한 데이터 솔루션을 찾고 있습니다.
두 번째 요인은 시간이 지남에 따라 데이터가 변경된다는 사실입니다. 비즈니스 모델이 발전함에 따라 컨셉과 데이터 모델은 진화하고 변화에 발 맞추기 위해 종종 고군분투합니다. 결과는 종종 고대 언어로 채워지고 패치 및 적용된 데이터로 채워지는 데이터 구조입니다. 칼럼의 가치가 100보다 작거나 더 큰지에 따라 다른 의미가 있다고 설명하거나 역사적인 사고로 인해 "제과점"이 실제로 "창고"라는 사실을 알고있는 사람은 누구나 데이터 모델은 시스템을 유지하거나 새로운 비즈니스 아이디어를 통합하는 데있어 심각한 장애물이 될 수 있습니다.
마지막으로 NoSQL 기술이 이제 상품이되기 시작했습니다. 아마존이나 구글이 일단 규모의 문제를 해결할 수있는 맞춤 솔루션을 개발할 수 밖에 없었다. 이러한 솔루션을 작성하는 데 드는 비용으로 인해 비즈니스 모델의 중심에 이러한 문제가 없었던 기업은이 새로운 기술을 개발할 수 없었습니다. 최근 아파치 재단 (Apache Foundation)이나 커뮤니티 주도의 지원과 개발을 제공하는 다른 공개 소스 그룹과 같은 단체들에 일련의 코드를 기부함으로써 유지 보수 비용이 거의 들지 않으면 서 매우 정교한 코드를 사용할 수있게되었다. 이러한 코드는 NoSQL을 소규모 회사의 손에 닿게합니다. 난해한 주제가 아닌 NoSQL 데이터 저장소를 다운로드하여 몇 주 안에 엔터프라이즈 아키텍처에 포함시킬 수 있습니다.
NoSQL에 대해 묻는 일반적인 질문은 사람들이 실제로 그것을 사용하고 있는지 또는 과대 광고인지 여부입니다. 대답은 Amazon, Yahoo 또는 Google을 사용한 적이 있다면 NoSQL 솔루션을 통해 데이터를 제공 받았기 때문입니다. eBay 또는 Twitter를 사용했다면 기존 데이터베이스와 거의 유사하지 않은 데이터 저장소를 간접적으로 사용했습니다 (예를 들어 eBay는 트랜잭션을 사용하지 않고 트위터는 사용자 그래프 데이터베이스를 사용하여 누구를 추적 하는지를 추적합니다). 보통 질문은 실제로, 그것을 사용하는 나와 같은 사람들입니까? 그 대답은 특정 유형의 데이터를 다루는 문제에 직면 한 경우 NoSQL 솔루션을 살펴보면 잠재적 인 경쟁 우위가 있다는 것입니다. 이 영역은 대부분의 비즈니스가 성숙한 관계형 데이터 저장소가 아닌 다른 곳에서 중요한 작업을 실행하는 불편 함을 느끼게 할만큼 충분히 새롭습니다. 관계형 저장소가 많은 문제를 야기하더라도.
근본적인 요인 중 하나는 전통적인 관계형 데이터베이스 기술을 사용하여 해결하기 어려운 비즈니스 과제를 가지고 있다는 것입니다. 성숙한 데이터베이스에서 우수한 관계형 모델을 실행하여 필요한 모든 기능을 제공한다면 데이터 저장 메커니즘을 변경할 필요가 거의 없습니다. 다음은 기존 데이터베이스를 사용하는 것이 차선책 인 사용 사례입니다.
관계형 데이터베이스는 수용 가능한 비용으로 트래픽에 맞게 확장되지 않습니다. 데이터는 시간 경과에 따라 분산 된 작은 업데이트로 제공되므로 정상적인 형식을 유지하는 데 필요한 테이블 수가 유지되는 데이터와 불균형 적으로 증가했습니다. 비공식적으로 ERD를 A3 용지에 더 이상 인쇄 할 수없는 경우이 문제가 발생하거나 단일 데이터베이스에 너무 많은 양을 저장할 수 있습니다. 비즈니스 모델은 주 데이터 저장소에 실제로 속하지 않는 많은 임시 데이터를 생성합니다. 일반적인 예로 쇼핑 카트, 보존 된 검색, 사이트 개인화 및 불완전한 사용자 설문지가 있습니다. 관계형 데이터베이스는 성능상의 이유로 또는 응용 프로그램에서 데이터를 조작 할 때 편의상 비정형 화되었습니다. 데이터 세트는 많은 양의 텍스트 또는 이미지로 구성되며 열 정의는 단순히 대형 객체 (CLOB 또는 BLOB)입니다. 간단한 계층 적 관계를 포함하지 않는 데이터에 대해 쿼리를 실행해야합니다. 일반적인 예는 데이터 부재와 관련된 권장 사항 또는 비즈니스 인텔리전스 관련 질문입니다. 후자의 경우 "파리의 모든 여성들은 개가 있고 그 시누이들은 올해에 종이 표지 책을 아직 구입하지 않았다"고 고안 한 사례를 고려하면 "이 책을 구입하지 않은 소셜 네트워크의 모든 사람들 "Fred는 X를 구입했습니다"라는 사이트에서 광고를 타겟팅하려는 경우 진짜 사람입니다. 내구성이 강할 필요가없는 로컬 데이터 트랜잭션이 있습니다. 예를 들어 웹 사이트의 항목을 "좋아하는"경우 : 이러한 종류의 상호 작용에 대한 트랜잭션을 만드는 것은 과도한 행동입니다. 왜냐하면 작업이 실패하면 사용자는 작동 할 때까지 반복 할 가능성이 높기 때문입니다. AJAX가 많은 웹 사이트는 이러한 유스 케이스를 많이 사용하는 경향이 있습니다.
목욕탕으로 버려 질 위험이있는 아기 중 한 명은 SQL 자체입니다. NoSQL은 실제로 SQL이 타협 된 구현과 섞여있는 표준이지만 실제로는 SQL을 선택했습니다. SQL에는 NoSQL 제품이 시간이 지남에 따라 해결해야 할 많은 이점이 있습니다. 첫째, 성숙되고 세련되며 일반적으로 사용자의 기대에 부합합니다. 복잡한 SQL 쿼리를 작성하는 사람들이 SUM, ORDER BY 및 GROUP과 같은 연산자를 Javascript로 직접 작성해야하는 map-reduce 작업에서 복제하라는 요청을받는 것을 막을 수 있다는 것을 의미하는 일관된 완전한 기능을 갖춘 구문이 있습니다.
벤더 자체도 공통적 인 데이터 조작 작업 세트를 찾을 수 없다면 문제를 인식하고, 하나 또는 다른 구현이 대중화되고 사용자가 문제를 해결하는 제품 또는 모든 벤더로 마이그레이션 할 가능성이 있습니다 시장 리더의 경쟁력을 키워야한다.
RDF 또는 튜플 데이터를 쿼리하는 표준 인 SparQL과 같은 몇 가지 표준이 이미 있습니다. 이것은 문서 및 그래프 데이터베이스 모두에 적용될 수 있지만 현재 SQL과 비교 될 수있는 진정한 모듈 식 쿼리 구문 집합을 제공하는 것은 없습니다.
Relational 데이터 제품이 오늘날 널리 사용하는 것과 동일한 용도로 사용하려면 Key-Value 저장소보다 복잡한 NoSQL 제품이 SQL과 매우 유사한 것을 구현해야 할 수 있습니다. 어떤면에서이 사실은 "SQL뿐 아니라"슬로건 아래에 있습니다. 진정으로 SQL을 사용하는 것은 너무 고통 스러울 것입니다.
기존의 대규모 시스템에 NoSQL을 통합하려고 시도하는 경우 솔루션에 이미 구성 요소 간의 결합이 느슨하면 분명 가장 쉽습니다. 이러한 상황에서 NoSQL 솔루션의 혜택을 누릴 영역을 파악한 다음 단편적인 채택을 구현하는 것이 더 쉽습니다. 데이터 저장소가 모 놀리 식이고 시스템이 실제로 데이터 형식이나 트랜잭션 일관성과 같은 관계형 데이터의 특정 속성에 의존하는 상황에서는 문제가 훨씬 더 어려워집니다. 데이터 저장을 마이그레이션하는 것보다 우선 순위가 낮은 데이터 제공이 필요합니다.
솔루션의 관점에서 현재 관계형 저장소에 저장되어있는 데이터와 대체 데이터가 부족한 관계 만 명확한 분석이 필요합니다. 또한 역사적인 결정을 검토하여 역사적 제약을 염두에두고 작성되었는지 확인하는 것이 중요합니다. 특별한 예는 매우 복잡한 관계형 테이블 대신 그래프 데이터베이스를 사용하는 것입니다. 관계형 데이터에서 다 대다 관계의 집합을 만든 다음 이러한 관계의 교차점을 쿼리하는 것은 전적으로 가능하지만 관계 만 표현하면 훨씬 간단한 솔루션이 될 수 있습니다.
NoSQL을 즉시 적용 할 수있는 몇 가지 분명한 영역이 있습니다. 웹 사이트 콘텐츠는 일반적으로 문서 및 키 - 값 데이터 저장소로 표현할 수 있습니다. 적합한 상황의 특정 예는 양식 및 마법사 스타일의 은유입니다. 모든 웹 양식은 준비된 표현식을 문서 형식으로 찾을 수 있습니다. 조회 데이터는 또 다른 예로지도, 목록 및 집합 (예 : 참조 자, 국가, 취소 이유, 카운티, 주 및 주)과 같은 많은 참조 데이터로 구성됩니다. 데이터에서 이러한 패턴을 찾는 것은 기회를 식별 할 수 있어야합니다.
전략적으로 볼 때 데이터를 자주 변경하고 변경해야하는 시스템은 스키마가없는 데이터 저장소를 사용할 기회를 제공합니다. 데이터 저장소를 오프라인으로 전환하지 않고 데이터 구조를 마이그레이션 할 수 있다면 NoSQL 솔루션을 찾는 것이 중요 할 것이라는 강력한 지표를 얻는 것이 유리합니다.
다음 섹션에서는 다양한 유형의 NoSQL 데이터 저장소에 대해 설명합니다.
예 : Tokyo Cabinet / Tyrant, Redis, Voldemort, Oracle BDB 일반적인 응용 프로그램 : 컨텐츠 캐싱 장점 : 빠른 조회 약점 : 저장된 데이터에는 스키마가 없습니다.
예제 응용 프로그램 : 사용자의 통계 (게시 된 메시지 등)와 마지막 10 개의 메시지를 제공하는 홈 프로필 페이지가있는 포럼 소프트웨어를 작성하고 있습니다. 이 페이지는 사용자의 ID를 기반으로하는 키에서 읽고 모든 관련 정보를 나타내는 JSON 문자열을 검색합니다. 백그라운드 프로세스는 매 15 분마다 정보를 다시 계산하고 독립적으로 저장소에 씁니다.
예 : CouchDB, MongoDb 일반적인 응용 프로그램 : 웹 응용 프로그램 장점 : 불완전한 데이터에 대한 허용 약점 : 쿼리 성능, 표준 쿼리 구문 없음.
적용 사례 : 난민 아동을 가족과 재결합시키려는 목적으로 난민 아동의 프로필을 만드는 소프트웨어를 제작하고 있습니다. 각 어린이를 위해 기록해야 할 세부 사항은 사건의 상황에 따라 크게 다르며 어린 아이가 그들의 이름을 알고 부모님의 사진을 찍을 수는 있지만 부모의 이름을 알지 못하는 경우와 같이 단편적으로 구성됩니다 . 나중에 지역 정보 기관은 아동을 알아보고 정보를 확실히 확인할 때까지 기록하고 싶은 추가 정보를 제공해 줄 수 있다고 주장 할 수 있습니다.
예 : Neo4J, InfoGrid, 무한 그래프 일반적인 애플리케이션 : 소셜 네트워킹, 권장 사항 장점 : 그래프 알고리즘 최단 경로, 연결성, n도 관계 등 Weaknesses : 전체 그래프를 거쳐 최종 답을 얻어야합니다. 클러스터하기 쉽지 않습니다.
응용 프로그램 예제 : 소셜 네트워킹이 필요한 응용 프로그램은 그래프 데이터베이스에 가장 적합합니다. 이와 같은 원칙은 사람들이 무엇을하고 있고, 구매하고 즐기고 있는지 이해해야 할 필요가있는 응용 프로그램으로 확장 할 수 있으므로 사용자가 더 많은 일을하고 구매하거나 좋아할 것을 권장 할 수 있습니다. "40 번이 넘는 사람들의 자매는 어떤 레스토랑에서 스키를 즐기고 케냐를 싫어 했습니까?"라는 라인을 따라 질문에 답해야합니다. 그래프 데이터베이스가 도움이 될 것입니다.
예 : Exist, Oracle, MarkLogic 대표적인 어플리케이션 : 퍼블리싱 강점 : 성숙한 검색 기술, 스키마 검증 약점 : 실제 바이너리 솔루션이 없으며, 문서를 다시 작성하기가 쉽습니다.
예제 응용 프로그램 : 맞춤형 XML 형식을 사용하여 기사의 웹, 인쇄 및 전자 책 버전을 만드는 출판사입니다. 편집자는 마크 업의 텍스트 또는 의미 섹션 (예 : 당뇨병이 포함 된 요약 기사, 저자의 기관은 리버풀 대학, 스티븐은 문서 역사의 어느 시점에서 수정 에디터 였음)을 신속하게 검색해야합니다. 완성 된 기사의 XML을 XML 데이터베이스에 저장하고이를 문서 제작 시스템을위한 읽기 가능 URL 웹 서비스로 포장합니다. 원고가 들어있는 작업 흐름 메타 데이터는 별도의 RDBMS에 보관됩니다. 시스템 전체의 변경이 필요한 경우 XQuery는 모든 문서를 새 형식과 일치하도록 대량 업데이트합니다.
예 : Cassandra, HBase, Riak 일반적인 응용 프로그램 : 분산 파일 시스템 장점 : 빠른 조회, 양호한 분산 데이터 저장소 약점 : 매우 낮은 수준의 API 예제 응용 프로그램 :
기사, 주석, 작성자 프로필, 투표 할 수있는 선택적 내용 및 투표에 제공된 선택적 주석이있는 뉴스 사이트가 있습니다. UUID를 키로 사용하여 각 사용자 및 저장소 당 하나의 저장소를 만듭니다 (각 콘텐츠 및 사용자에 대해 하나 생성). 사용자 저장소에는 콘텐츠 "버킷"에 콘텐츠의 모든 투표 사본이 포함되어있는 동안 만든 모든 투표가 저장됩니다. 밤새 사용자가 투표 한 내용을 식별하기 위해 일괄 처리 작업을 실행하면 투표 수가 많지만 투표하지 않은 각 사용자의 콘텐츠 목록을 생성 할 수 있습니다. 그런 다음 추천 기사 목록을 사용자의 "버킷"으로 푸시합니다.
예 : Oracle Coherence, db4o, ObjectStore, GemStone, Polar 일반적인 애플리케이션 : 재무 시스템 장점 : OO 개발 패러다임, 지연 시간이 짧은 ACID, 성숙한 기술과 부합 함 단점 : 제한된 쿼리 또는 일괄 업데이트 옵션.
적용 사례 : 세계적인 무역 회사는 독창적 인 개발 방식을 가지고 있으며 일본과 뉴욕에있는 책상에서 수행 된 거래를 런던의 위험 확인 프로세스를 통과하려고합니다. 거래를 나타내는 객체가 객체 저장소로 푸시되고 위험 체커가 거래 객체의 모양 또는 수정을 듣고 있습니다. 물체가 지역 유럽 공간으로 복제 될 때 위험 검사자는 무역을 읽고 위험을 평가합니다. 그런 다음 거래를 승인하고 실제 거래 이행 요청을 생성 함을 나타 내기 위해 객체를 다시 씁니다. 상인의 클라이언트는 상인의 ID를 포함하는 오브젝트에 대한 변경 사항을 청취하고, 상인이 승인되었음을 상인에게 나타내는 클라이언트의 상거래 세부 사항을 업데이트합니다. 무역 시스템은 무역 이행을 소비 할 것이며 무역이 성취되거나 이행되면 위험 평가자에게 정보를 제공합니다.
데이터는 표 형식으로 남아 있으며 스프레드 시트는 여전히 비즈니스에서 가장 선호하는 데이터 모델링 도구입니다. SQL은 곧 사라지지 않을 것입니다. 그러나 지금까지는 전형적인 관계형 데이터 스토어의 제약 조건을 다루는 데 창조적이었습니다. NoSQL은 데이터에 대해 다르게 생각할 기회를 제공하며 이는 대단히 흥미로운 전망입니다.
민첩한 접근법을 통해 빅 데이터의 가치를 신속하게 실현하는 방법을 확인하십시오.
뉴스 레터.
최신 빅 데이터 분석 (Big Data Analytics) 컨텐츠를 통해 2 ~ 3 주마다 저희에게 연락하십시오.
ThoughtWorks 소개.
우리는 소프트웨어 회사이자 열정적이고 목적이 많은 개인의 공동체입니다. Google은 고객을 위해 기술을 제공하기 위해 혼란스럽게 생각합니다. & # 39; IT 업계에 혁명을 일으키고 긍정적 인 사회적 변화를 창출하는 동시에 어려운 도전 과제를 해결해야합니다.
SQL과 NoSQL 비교 : NoSQL 데이터베이스가 전통적인 "데이터베이스"데이터베이스보다 더 좋은 옵션은 언제입니까? RDBMS?
NoSQL의 RDBMS에서의 이탈은 데이터의 최적화 된 검색 및 추가, 비교적 낮은 비용으로 높은 수준의 확장 성, 병렬 프로그래밍의 용이성, 데이터 구조에 대한 데이터 컨텐츠의 유연성, 비 전통적인 데이터로 작업 용이성 및 급속 성장. NoSQL 시스템의 단점은 최종 사용자 쿼리, 제한된 구조 수준 무결성 제약 및 제한된 트랜잭션 처리 지원을위한 SQL 기반 인터페이스가 부족하다는 것입니다. NoSQL 데이터베이스는 RDBMS ACID (Atomicity, Consistency, Isolation, Durability) 속성보다 가용성, 확장 성 및 궁극적 인 일관성에 중점을 둡니다. Some NoSQL databases also provide advanced features such as Sharding, which takes Database Partitioning to a new level in terms of horizontal scalability and availability.
Modern day applications ushered in a gamut of use cases that RDBMS are not properly equipped to handle. NoSQL systems are built to handle these gaps. Here are some interesting use cases where NoSQL databases are better alternatives compared to RDBMS:
Dealing with unstructured and non-traditional data:
Medical health records processing, media level content management, geospatial mapping, etc. Limited primary entities; but activities and relationships on those objects are abundant: social networking, messaging, cloud-based repositories, fire-hose feeds, etc. Dealing with massive data sets with variety of sources: big data applications, trading, applications that need on-the-fly horizontal scaling, etc. Real time decision making based on dynamic events: trends, fraud detection, enterprise security, inventory controls, etc.
Need for aggregated summaries:
Data visualization of large data sets, sentiment analysis, log analysis, etc. Real time analytics: online gaming, ad targeting, stock prices, enterprise dashboards, etc.
Complex parallel programming:
MapReduce implementations, statistical programming, network routing, etc.
NoSQL databases and RDBMS could and should work together in modern applications. Enterprises such as Facebook, Foursquare, Forbes, Disney and Craigslist deploy and decide when to use NoSQL databases and RDBMS technologies to provide the best user experience for their users. Most well-rounded modern software programs will employ both RDBMS and NoSQL technologies and work alongside for optimal outcomes.
회신을 남겨주 답장을 취소하십시오.
카테고리.
인기 게시물.
POSTS BY AUTHOR.
Datavail is focused on data management and business intelligence; application development, modernization and support; and database support for Oracle, Oracle Applications, Microsoft Applications, SQL Server, DB2, MySQL, MongoDB and SharePoint. From managed services and consulting, to projects, and 24x7 operational support, Datavail has you and your data covered. Datavail’s clients include Fortune 100 to mid-sized companies and startups that rely on robust support services that build their revenue-generating data infrastructure.
No one looks forward to dealing with unplanned outages but the team work I saw exhibited during this past weekends issue was nothing short of fantastic. Everyone one of you and your team member played a role in getting the business back on track as quickly as humanly and technologically possible.
Comments
Post a Comment