-
常见的NoSql都有哪些
1、键值(Key-Value)存储数据库(Redis)
2、列存储数据库
3、文档类型数据库JSON类型(MongoDB)
4、图形数据库 -
NoSQL数据应用场景
1、数据模型比较简单
2、需要灵活更强的IT系统
3、对数据性能要求较高
4、不需要导读的数据一致性
5、对于给定的key,比较容易映射复杂的环境 -
MongoDB概念:
MongoDB是一个基于分布式存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案 -
MongoDB使用场景
(1)网站数据:MongoDB 非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性
(2)缓存:由于性能很高,MongoDB 也适合作为信息基础设施的缓存层。在系统重启之后,由 MongoDB 搭建的持久化缓存层可以避免下层的数据源过载
(3)大尺寸,低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储
(4)高伸缩性的场景:MongoDB 非常适合由数十或数百台服务器组成的数据库。MongoDB的路线图中已经包含对 MapReduce 引擎的内置支持 -
jdbc操作MongoDB
导入依赖的jar
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId>
<version>3.8.2</version>
</dependency>
@SuppressWarnings("resource")
public static void main(String[] args) {
//1.创建客户端
MongoClient mongoClient = new MongoClient("127.0.0.1",27017);
//2.判断是否连接成功
boolean locked = mongoClient.isLocked();
if(!locked) {
//3.获取数据库
MongoDatabase database = mongoClient.getDatabase("20190309");
//4.获取所有集合的名字
MongoIterable<String> listCollectionNames = database.listCollectionNames();
//5.获取集合迭代器
MongoCursor<String> iterator = listCollectionNames.iterator();
//6.遍历迭代器
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
iterator.close();
}else {
System.out.println("连接失败");
}
mongoClient.close();
}