Khóa học / Hướng dẫn về sự cố NoSql [đã đóng]


100

Tôi đã thấy NoSQL bật lên khá nhiều trên SO và tôi hiểu rõ tại sao bạn sẽ sử dụng nó (từ đây, Wikipedia, v.v.). Điều này có thể là do thiếu định nghĩa cụ thể và thống nhất về nó là gì (giống một mô hình hơn là triển khai cụ thể), nhưng tôi đang đấu tranh để xoay quanh việc tôi sẽ thiết kế một hệ thống sử dụng nó như thế nào hoặc như thế nào. Tôi sẽ triển khai nó trong hệ thống của mình. Tôi thực sự bị mắc kẹt trong tư duy quan hệ-db khi nghĩ về mọi thứ dưới dạng bảng và liên kết ...

Dù sao đi nữa, có ai biết về một khóa học / hướng dẫn về sự cố trên một hệ thống sẽ sử dụng nó (loại "hello world" cho hệ thống dựa trên NoSQL) hoặc hướng dẫn sử dụng ứng dụng "Hello World" hiện có dựa trên SQL không và chuyển đổi nó thành NoSQL (không nhất thiết phải ở dạng mã, mà chỉ là giải thích cấp cao).


Tôi thực sự thích video này . Là một hội thảo trên web của 10Gen. Nó giải thích cách xuất bản nội dung cơ bản và thêm các tương tác xã hội (thẻ, nhận xét, tổng hợp dữ liệu) bằng MongoDB.
Onema

Câu trả lời:



53

Ở dạng cơ bản nhất của nó, NoSQL thực sự không hơn gì một cách lưu trữ các đối tượng bằng cách sử dụng một số loại hệ thống ghép nối khóa / giá trị. Bạn sử dụng điều này mọi lúc, tôi đã cho rằng. Ví dụ. trong javascript, bạn có thể tạo một đối tượng có tên foo và sau đó thực hiện foo['myobj'] = myobj;để lưu trữ nội dung trong đối tượng.

Tất cả những gì máy chủ NoSQL thực sự làm là cung cấp cho bạn một cách để thêm / xóa / truy vấn các mảng lớn mà vẫn cho phép hoạt động bền bỉ và khả năng chịu lỗi. Bạn có thể tạo NoSQL trong máy chủ bộ nhớ trong khoảng 100 dòng mã.

Vì vậy, hãy làm theo cách này ... trong CouchDB bạn sử dụng bản đồ / giảm ... vì vậy hãy tạo một hàm bản đồ tương tự như một đoạn mã SQL:

SELECT * FROM users WHERE age > 10

Trong CouchDB, bạn cung cấp cho máy chủ một hàm JavaScript được chạy dựa trên mọi mục trong cơ sở dữ liệu ...

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

Đó là tất cả những gì thực sự có ..... nó trở nên phức tạp hơn từ đó đến cuối máy chủ, vì máy chủ phải xử lý các sự cố và nhiều bản sửa đổi của cùng một đối tượng, nhưng đây chỉ là một ví dụ.


10
Ví dụ của bạn có vẻ như nó sẽ không hiệu quả trong một DB lớn. Máy chủ có thể lập chỉ mục trên loại doc hoặc thông minh về các khóa mà nó sử dụng và lập chỉ mục trên các khóa không? Các khóa giống như có thể là user1, user2, v.v.
Jess

3

Hãy xem video này từ DNR TV, thực hiện một số thao tác với MongoDB . Có thể tốt cho một giới thiệu đầu tiên.


2

trang web mongoDB cung cấp hướng dẫn 10 bước tuyệt vời dưới dạng mô phỏng shell mongoDB trực tuyến. mất 10 phút để hoàn thành và là một cách thực sự tuyệt vời để bắt đầu với noSQL!

http://www.mongodb.org/ (nhấp vào "dùng thử")


1
chỉ thêm về vấn đề này họ có một sql để Mongo trang giúp có được các khái niệm thông qua mã docs.mongodb.org/manual/reference/sql-comparison
Choco Smith

1

y_serial được viết dưới dạng một mô-đun Python duy nhất giống như một hướng dẫn làm việc và bao gồm nhiều mẹo và tài liệu tham khảo: http://yserial.sourceforge.net/

Điều này có quan điểm về cách duy trì một đối tượng Python tùy ý (ví dụ: cấu trúc dữ liệu từ điển) theo cách "NoSQL" (Không chỉ SQL).





0

3
Trang web đó đã biến mất, tất cả 404s ...
ScottN

1
Vâng, đây là tất cả 404.
Don 01001100
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.