关于mongodb的一些特性:
Which features of relational database management systems were deliberately omitted in MongoDB and help us to obtain horizontal scalability ? check all the apply.
- Authentication
- Joins
- multi-document transactions
- multi-statement transactions
Authentication
mongodb 支持Authentication 身份认证,一旦启用访问控制,mongodb将要求所有客户端在授权认证后才能访问; mongodb 3.0以后默认使用 challenge and response mechanism (SCRAM-SHA-1),之前的版本默认使用 MongoDB Challenge and Response (MONGODB-CR)。
mongodb也支持x509 certificate authentication, LDAP proxy authentication, and Kerberos authentication等授权认证。
http://docs.mongodb.org/manual/core/authentication/
Join
MongoDB wasn’t designed in a lab. We built MongoDB from our own experiences building large scale, high availability, robust systems. We didn’t start from scratch, we really tried to figure out what was broken, and tackle that. So the way I think about MongoDB is that if you take MySql, and change the data model from relational to document based, you get a lot of great features: embedded docs for speed, manageability, agile development with schema-less databases, easier horizontal scalability because joins aren’t as important.
mongodb的开发人员认为水平扩展能力horizontal scalability 要比JOIN来的重要,所以在mongodb 中并不直接支持join。
Significantly, MongoDB supports neither joins nor transactions。
Multi-ducoment transactions
MongoDB does not support multi-document transactions.
http://docs.mongodb.org/manual/faq/fundamentals/
However, MongoDB does provide atomic operations on a single document.
mongodb提供对单个document的原子性操作,但不支持涉及到多个文件的食物multi-document transactions。
multi-statement transactions
Pattern
Overview
Consider a scenario where you want to transfer funds from account A to account B. In a relational database system, you can subtract the funds from A and add the funds to B in a single multi-statement transaction. In MongoDB, you can emulate a two-phase commit to achieve a comparable result.
MongoDB不支持multi-statement transaction多语句事务,可以通过2段式提交来获得类似效果。
Comment