1.nosql介绍
nosql:not only sql
2.nosql 存储类型,Nosql有4大家族产品::
内存键值存储:memcached,redis
最终一致性键值存储:cassandra,dynamo
持久化键值存储:bigtable,leveldb
图像存储:FlockDB,DEX
文档存储:mongodb
列存储:Hbase
3.mongodb介绍:
1.mongodb 是什么?非关系性数据存储的一个数据库如阿健,是分布式的:
2.mongodb能解决什么问题?:大数据存储
3.mongodb的优势?:可靠性,可扩展性,灵活性:列存储+键值+图像存储+文档存储
4.mongodb的事务?:CAP,最终一致性:仅支持本机的单文档事务;
5.集群+主从复制+分片+实现高可用
ACID:事务,分布式
4.mongodb缺点:
1.多表联查:仅支持left outer join
2.sql语句支持:查询为主,部分支持
3.多表原子性事务:不支持
4.多文档原子性事务:不支持
5.文档大小:16MB文档大小限制,不支持中文排序
5.什么时候用mongodb?
1.有亿万级数据,不断扩容;
2.地理位置查询
3.管理的对象小于10个,有10个表且有关联查询的关系,建议不要用;
6.mongodb慎用场景:
1.搜索场景:文档有几十个字段,需按任意字段搜索并排序;(不建索引查太慢,索引太多影响写和更新速度)
2.几十多个对象相互关联查询;(关联查询支持弱,事务弱);
3.需库文档更新的;(事务支持较弱,仅支持本机的单文档事务)
7.mongodb在.netcore中引用mongodb.driver
https://mongodb.github.io/mongo-csharp-driver/2.11/getting_started/quick_tour/
8.mongodb 的刷盘机制,延时存储