Monday, May 5, 2014

từ NoSQL đến thiết kế hệ thống E-Learning sử dụng Analytics

    How is the DB going to handle a huge amount of data (as LRS is experience API , records learners' exeperience)
MongoDb có thể thích hợp, vì tần số WRITE/READ của nó khá tốt, phù hợp với bài tóan log tracking history của learner
http://www.tokutek.com/2012/08/10x-insertion-performance-increase-for-mongodb-with-fractal-tree-indexes/

    Which DBMS is suitable for triple store (triplet: I did this, he did that, etc.)
MongoDB là loại document NoSQL, để optimize lúc query cho report cần thiết kế thêm các index cho hợp lý là ổn.
Tham khảo:
http://docs.mongodb.org/ecosystem/use-cases/storing-log-data/

    Which structure is scalable and suitable (eg: cluster)
Sharding và Cluster là đủ, MongoDb có support việc này.

    Listing some common name of some service out there (pricing included)
Links Tham khảo:
http://www.mongodb.com/partners/cloud/amazon
https://mongolab.com/plans/pricing/

    Beneficial of using an external service against our own server (if any)
Đỡ đầu tư máy móc cho buớc đầu, prototype nhanh, code nhanh ra demo. Nếu data nhiều, ngày càng quan trọng (business phát triển) và có tiền thì tự đầu tư riêng (ban đầu nên xài cloud cho nhanh và tiện)

    How much of data for a node (cluster) that can handle
Khá tốt nếu so với HBase và Cassandra
http://jaxenter.com/evaluating-nosql-performance-which-database-is-right-for-your-data.1-49428.html

    When we need to add in more nodes (cluster)
xem trên StackOverFlow nhé, http://stackoverflow.com/questions/6575643/mongodb-sharding-how-does-it-rebalance-when-adding-new-nodes
Các link khác:
Để lưa chọn NoSQL phù hợp cho từng loại ứng dụng, truớc hết chúng ta cần trả lời các câu hỏi về model trong mô hình ứng dụng chuẩn cơ bản MVC (Model-View-Controller)
mức model, để lưu và quản lý data, cơ bản có thể chia làm 2 sub-layer: conceptual data model và physical data model.
VD trong 1 hệ thống e-learning
conceptual data model: là student, teacher, resource, ebook, slide, exercise, ...
physical data model: là cấu trúc dữ liệu, loại structure nào sẽ phù hợp cho loại đối tuợng (list, hashmap, vector, set, queue, tree, graph, ...)

TODO: sẽ update thêm khi có thời gian

Featured Post

How to build Unified Experience Platform (CDP & DXP)

USPA framework What is USPA framework ? The USPA framework is conceptual framework, to develop Unified Experience Platform (the unified of ...