"문서 데이터베이스"의 본질을 오해 한 것 같습니다. 따라서, 나는 문서 데이터베이스 인 MongoDB를 추천 할 것이지만 나는 그것을 좋아할 것이라고 생각한다.
MongoDB는 기본적으로 JSON 레코드 인 "문서"를 저장합니다. 차가운 부분은 그것이 저장하는 문서의 내부를 이해한다는 것입니다. 따라서 다음과 같은 문서가 주어집니다.
{
"name": "Gregg",
"fave-lang": "Scala",
"fave-colors": ["red", "blue"]
}
"fave-lang"또는 "fave-colors"에 대해 쿼리 할 수 있습니다. 관계형 영역에서 다 대다를 필요로하는 배열 "fave-colors"조차도 해당 필드 중 하나에서 색인을 생성 할 수도 있습니다.
Play는 내가 사용하지 않은 MongoDB 플러그인을 제공합니다. Casbah driver for MongoDB을 사용할 수도 있는데, 나는 많은 것을 사용했고 훌륭합니다. FourSquare가 작성한 Rogue MongoDB에 대한 DSL 쿼리는 MongoDB를 원한다면 살펴볼 가치가 있습니다.
MongoDB는 매우 빠릅니다. 또한 어떤 레코드라도 원하는 모든 필드를 가질 수 있기 때문에 스키마 작성의 번거 로움을 덜어 주며 검색 가능하고 인덱싱 할 수 있습니다. 데이터 모델은 사용자와 "컬렉션"(테이블 같은) 및 필요에 따라 사용자 ID를 참조하는 레코드가있는 다른 컬렉션을 사용하여 지금과 매우 비슷하게 보입니다. 그러나 컬렉션 중 하나에 필드를 추가해야하는 경우 이전 레코드 또는 데이터 마이그레이션에 대한 걱정없이 언제든지 필드를 추가 할 수 있습니다. 기술적으로 MongoDB 레코드에 대한 스키마는 없지만 유사한 레코드를 컬렉션으로 구성하게됩니다.
MongoDB는 지난 몇 년 동안 내가 만난 가장 재미있는 기술 중 하나입니다. 그 1 개의 행복한 토요일에 나는 그것을 조사하기로 결정했다. 그리고 15 분 이내에 생산적이었고, 내가 "얻었던"것처럼 느꼈다. 저는 일상적으로 MongoDB와 스칼라를 15 분 만에 시작할 수있는 방법을 보여주는 직장에서 데모를 제공합니다. 여기에는 MongoDB 설치가 포함됩니다. http://janxspirit.blogspot.com/2011/01/quick-webb-app-with-scala-mongodb.html
당신은 적어도 나 시작있어 무엇 http://try.mongodb.org
로 이동한다 : 당신이 웹 서비스에 있다면 뻔뻔한 플러그, 여기 MongoDB를하고 Scalatra가 카스바를 사용하여 시작하기에 내 블로그 게시물입니다.
행운을 빈다.
NoSql과 키 - 값 데이터 저장소를 혼란스럽게합니다. Key-Value 데이터 스토어가 아닌 그래프 데이터베이스 (Neo4J) 및 OO 데이터베이스 (db4o)와 같은 NoSql 데이터베이스가 있습니다. 강력한 관계형 메커니즘을 제공합니다. –
@Vagif : 솔직히 NoSQL (또는 비 관계형)이라는 이름을 싫어합니다. 같은 추론에 따라 SQL이나 관계형이 아니기 때문에 구식 파일 시스템이 NoSQL으로 불릴 수 있다고 생각합니다. OTOH, 당신은 그래프 데이터 스토어에 대해 옳았습니다. 나는 그것에 대해 생각하지 않았습니다. –
글쎄, 우리는 그들이 가지고있는 것보다는 가지고 있지 않은 것에 의해 정의되는 무신론자들을 가지고 있습니다. 종교가 지배하는 세계에서 무신론은 유효한 정의입니다. SQL 데이터베이스에 의해 지배되는 세계에서 NoSql은 의미가 있다고 생각합니다. –