MongoDB C100DEV 1.MongoDB的哲学和特性

版权信息

  • 本文为CSDN 博主luopotaotao原创,转载请注明出处
  • 欢迎加群交流探讨 218368963【MongoDB C100DEV】#Mongodb的哲学和特性

个人建议

这块的考题印象中只想到了schameless的含义,就是对照关系型数据库,MongoDB schameless是什么,JSON文档的结构
其他的题目没啥印象了,
如果你对js有一定的了解,那必然对json有一定的认识,再深入了解一下bson,还有对比一下关系型数据库,
基本上就这些内容了

需要理解以下内容:

  • Mongodb的关键特性以及其提供的功能
  • JSON和BSON基础
  • Mongodb高级查询模型
  • Mongodb的数据一致性和可用性(副本集,重点内容,后文有详解)

JSON

  • JSON支持哪些数据类型,例如 objects,arrays
  • JSON objects和arrays的结构
  • 如何在JSON objects和arrays中内嵌数据
  • 如何读JSON

BSON

  • BSON是二进制的JSON数据格式
  • BSON的轻量级,可遍历,高效性 的含义
  • BSON如何使用明确的类型信息编码值,值的二进制表示和数据长度

Mongo Shell

  • 如何列出可用的数据库/集合 show dbs/collections
  • 如何切换给定的数据库的上下文 use some_db
  • 如何通过写js代码来创建示例数据和其他的简单任务
  • 如何使用print来打印结果
  • Mongo shell中可用的管理命令

垂直和水平扩展

  • 垂直扩展和水平扩展的不同 (垂直扩展指硬件扩展,水平扩展指sharding)
  • 如何使用Sharding进行水平扩展 (分片是重点,有五六题,后文细讲)

MongoDB和关系型数据库

  • 在常见的关系型数据库中存在,而mongDB没有采用的特性及原因 (这里主要指的是表的连接操作,事务等内容)
  • 关系型数据库模型与MongoDB模型的主要不同(建模部分要细讲,主要是考虑什么时候使用引用,什么时候使用内嵌)

灵活的Schema

  • 为什么说Mongodb是schemaless
  • Schemaless与关系型数据库的不同
  • 写操作的原子性(建模部分会有涉及)

问题示例

1.Which features of relational database management systems were deliberately omitted in MongoDB and help us to obtain horizontal scalability? Check all that apply.

    a.Multi-statement transactions
    b.Authentication
    c.Joins

2.In order to ensure that you can maintain high availability in the face of server failure, you should implement which of the following?

    a.Replication
    b.Sharding
    c.The proper storage engine
    d.Properly defined user roles
    e.Put indexes on all of your documents

3.Which of the following are common uses of the mongo shell? Check all that apply.

    a.Perform queries against MongoDB collections
    b.Perform administrative tasks
    c.Use as a JavaScript framework for your production system

答案

    1 a, c  对比关系型数据库,为获取水平扩展的能力,MongoDB没有实现的功能,事务和表连接操作.
    2 a     高可用性,容灾,自动故障转移,这些都是副本集的功能.在分片的部分虽然也有说明分片也提供了高可用性(部分分片故障不影响其他分片),但考试题目中的高可用性都是选副本集
    3 a, b  mongo shell的作用...这个似乎没啥好解释的吧..

建议练习

考虑一个简单的json文档,如何被编码为bson
写一个简单的JavaScript程序,创建并插入一些数据到一个集合中
执行一些查询操作确保上一步的数据被正确插入
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章