NoSql 단기 집중 과정 / 튜토리얼 [닫힘]


100

나는 NoSQL이 꽤 많이 나타나는 것을 보았고 그것을 사용 하는지에 대한 확실한 이해를 가지고 있습니다 (여기, Wikipedia 등). 이것은 그것이 무엇인지에 대한 구체적이고 일관된 정의가 없기 때문일 수 있습니다 (구체적인 구현보다 패러다임에 더 가깝습니다).하지만 나는 그것을 사용할 시스템을 디자인하는 방법에 대해 머리를 감싸고 있습니다. 내 시스템에서 구현할 것입니다. 나는 테이블과 조인 측면에서 사물을 생각하는 관계형 DB 사고 방식에 정말로 갇혀 있습니다.

여하튼, 그것을 사용할 시스템 (NoSQL 기반 시스템의 경우 "hello world"의 일종)에 대한 단기 강좌 / 튜토리얼 또는 SQL 기반의 기존 "Hello World"앱을 사용하는 자습서를 아는 사람이 있습니까? NoSQL로 변환합니다 (반드시 코드에서는 아니지만 개략적 인 설명).


나는이 비디오를 정말 좋아했다 . 10Gen의 웨비나입니다. MongoDB를 사용하여 기본 콘텐츠를 게시하고 소셜 상호 작용 (태그, 댓글, 데이터 집계)을 추가하는 방법을 설명합니다.
Onema

답변:



53

가장 기본적인 형태의 NoSQL은 실제로 일종의 키 / 값 쌍 시스템을 사용하여 객체를 저장하는 방법에 지나지 않습니다. 당신은 이미 내가 생각하는 모든 시간을 사용합니다. 예를 들면. 자바 스크립트에서 foo라는 객체를 만든 다음 foo['myobj'] = myobj;객체에 물건을 저장할 수 있습니다.

NoSQL 서버가 실제로 수행하는 모든 작업은 대규모 어레이를 추가 / 삭제 / 쿼리하는 방법을 제공하고 지속성과 내결함성을 허용하는 것입니다. 약 100 줄의 코드로 메모리 서버에 NoSQL을 만들 수 있습니다.

그래서 이렇게 해봅시다 ... CouchDB에서 당신은 map / reduce를 사용합니다 ... 그래서 약간의 SQL 코드와 같은 일을하는 map 함수를 만들어 봅시다 :

SELECT * FROM users WHERE age > 10

CouchDB에서는 데이터베이스의 모든 항목에 대해 실행되는 JavaScript 함수를 서버에 제공합니다.

function (doc)
{
    if (doc.objType == "users") {
       if (doc.age > 10) {
           emit(doc._id, null)
       }
    }
}

그게 다야 ..... 서버가 충돌을 처리하고 동일한 객체의 여러 개정을 처리해야하기 때문에 서버 쪽에서 훨씬 더 복잡해 지지만 이것은 단지 예일뿐입니다.


10
귀하의 예는 큰 DB에서 비효율적 인 것 같습니다. 서버가 문서 유형에 대해 색인을 생성 할 수 있습니까? 아니면 사용하는 키와 키에 대해 색인을 생성 할 수 있습니까? 키는 등 사용자 1, 사용자 2, 수처럼
제스



1

y_serial은 작업 튜토리얼처럼 읽고 많은 팁과 참조를 포함하는 단일 Python 모듈로 작성됩니다. http://yserial.sourceforge.net/

이것은 "NoSQL"(SQL뿐만 아니라) 방식으로 임의의 Python 객체 (예 : 사전 데이터 구조)를 유지하는 방법에 대한 관점을 취합니다.





0

3
해당 사이트가 사라졌습니다. 모든 404가 ...
ScottN

1
예, 이것은 모두 404입니다.
Don 01001100
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.