2010-03-27 3 views
13

내가 (좀 워드 넷을) 거대한 데이터베이스를 가지고 대신 MySQL의의 카산드라를 쉽게 사용할 수 있는지 알고 싶어 | PostrgreSQLCassandra 또는 MySQL/PostgreSQL?

내가 쉽게 관계 대수의 관점에서 생각할 수있는 MySQL과 PostrgreSQL 내가 사용하던 모든 내 인생,하지만 몇 주 전에 나는 카산드라에 대해 알았고 페이스 북과 트위터에 사용되었다.

더 편리할까요?

요즘 소셜 네트워크의 데이터, 객체 간의 관계, wordnet을 저장하기 위해 어떤 DBMS가 사용됩니까?

+0

이 링크는 비즈니스 유스 케이스에 대한 SQL/NoSQL 결정을 결정하는 데 가장 유용합니다. http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis –

+0

이 질문은 닫혀 야합니다. 그건 맞지 않아. –

답변

6

"NoSQL"데이터베이스에는 많은 다른 종류가 있습니다. 응용 프로그램이 실제로 Wordnet과 같은 경우 아마도 Neo4j과 같은 그래프 데이터베이스를 봐야합니다.

0

모든 다른 제품과 그들 모두는 그들의 프로와 conn을 가지고 있습니다. 어떤 종류의 문제를 해결해야합니까?

거 대 한, 결핵에서와 같이?

+0

예 : 이러한 개체와 연결된 개체 및 가중치 집합이 있습니다. 나는 모든 가능한 경로와 그들의 무게가 어떤 2 ​​개의 물체도 빠르게 btw 찾으려고합니다. – Ivri

7

귀하의 요청을 분석해 보시기 바랍니다. 더 클러스터로가는 경우

  1. 는 기계 데이터 모델이 복잡하면되는 NoSQL
  2. 걸릴 - 당신은 몇 가지 기계에 맞는 경우 효율적인 구조 NoSQL에
  3. (컬럼의 종류에 제한없이)를 취할 필요 (예 : 소셜 네트워크에서 많은 사용자가 http 요청을 보내는 경우와 같이) 다중 요청에 대해 최고 성능이 필요하지 않으며 RDBMS를 사용하여 판매 가능성이 있다고 생각하지 않습니다 (Postgres는 몇 가지 좋은 기능과 구조를 가지고 있습니다 배열 열 유형과 같이 사용할 수 있습니다.

카산드라는 대용량 데이터, 다용도로 더 잘 작동합니다. neo4j - 특수 구조, 그래프에 적합합니다.

4

대량의 쓰기 기반 작업이 필요하기 때문에 Cassandra 및 기타 NoSQL 상점이 소셜 기반 사이트에 사용되고 있습니다. MySQL과 Postgres가이를 달성 할 수는 없지만 NoSQL은 일반적으로 말하면 시간과 비용이 훨씬 적습니다.

당신의 목표 모델의 관점에서 Neo4J를보고 싶을 것 같은데요.

8

은색 탄환처럼 아무것도 아닙니다. 모든 것이 특정 문제를 해결하기 위해 만들어졌으며 자체 장단점이 있습니다. 그것은 당신에게 달린 문제 성명서와 그 문제의 해결에 가장 적합한 것이 무엇인지 당신에게 달려 있습니다. Cassandra (NoSQL)를 사용하든 MySQL (RDBMS)을 사용하든 관계없이 시스템 요구 사항에 따라 결정됩니다. 다음은 데이터베이스를 결정할 때 더 나은 결정을 내리는 데 도움이되는 입력입니다. MySQL은, 오라클, MS SQL, PostgreSQLin 같은 거의 모든 데이터베이스가이 범주가 지향 솔루션의 거의 같은 종류의를 제공하기 때문에

왜 선택을하는 것은 매우 쉽습니다, RDBMS 데이터베이스의 경우 NoSQL에

를 사용하는 방법 ACID 속성 .NoSQL에 관해서는 모든 NoSQL 데이터베이스가 다른 솔루션을 제공하고 어느 것이 당신의 app/system 요구 사항에 가장 적합한지를 이해해야하기 때문에 결정이 어려워집니다. 예를 들어, MongoDB는 시스템에서 스키마가없는 문서 저장소가 필요한 용도에 적합합니다. HBase는 검색 엔진, 로그 데이터 분석, 거대하고 2 차원적인 조인리스 테이블 검색이 필요한 모든 장소에 적합 할 수 있습니다.Redis는 트리, 대기열, 링크 목록 등의 다양한 데이터 구조에 대한 인 메모리 검색 기능을 제공하기 위해 제작되었으며 실시간 순위표, pub-sub 종류의 시스템을 만들기에 적합합니다. 마찬가지로이 카테고리에 다른 데이터베이스 (카산드라 포함)가 있으며 다른 문제에 적합합니다. 이제 원래 질문으로 이동하여 하나씩 대답하십시오.

카산드라는 귀하의 요구 사항이 매우 무거운 쓰기 시스템을 사용하는 문제에 대한 솔루션을 제공 NoSQL에 가족의 일부가되는 카산드라

를 사용하고 그 저장된 데이터의 상단에 아주 반응보고 시스템을 갖고 싶어하는 경우 . 로그 데이터가 각 요청에 대해 저장되는 웹 분석의 사용 사례를 고려해보십시오. 시간별, 브라우저 별, IP 별 등의 조회를 실시간으로 분석 할 수있는 분석 플랫폼을 구축하고자합니다. 당신은 카산드라에 맞는 사용 사례에 대한 자세한 내용을 이해하는 포스트 (http://blogs.shephertz.com/2015/04/22/why-cassandra-excellent-choice-for-realtime-analytics-workload/를) 블로그를 참조 할 수 있습니다.

이 때 대신 카산드라의 RDMS를 사용하는 /되는 NoSQL을

카산드라는하지 않습니다되는 NoSQL 데이터베이스를 기반으로하고 ACID 및 관계형 데이터 속성을 제공합니다. ACID 속성 (예 : 재무 데이터)이 강하게 요구되는 경우 카산드라는 적합하지 않습니다. 분명히, 당신은 그것에서 일을 할 수 있지만, 결국 당신은 많은 응용 프로그램 코드를 작성하여 ACID 속성을 처리하게 될 것이고, 시장 진입 시간이 길어질 것입니다. 또한 카산드라와 같은 종류의 시스템을 관리하는 것은 복잡하고 지루한 작업입니다.