企业常用:mysql / db2 / oracle / sybase
数据库相关证书:初级认证Oca / 专家级认证Ocp / Ocm高级认证
NoSQL
NoSQL,即泛指非关系型的数据库,区别于关系数据库,它们不保证关系数据的ACID特性。
NoSQL有如下优点:易扩展,NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。无形之间也在架构的层面上带来了可扩展的能力。大数据量,高性能,NoSQL数据库都具有非常高的读写性能,尤其在大数据量下,同样表现优秀。这得益于它的无关系性,数据库的结构简单。
NoSQL分为以下4种:
分类 |
Examples举例 |
典型应用场景 |
数据模型 |
优点 |
缺点 |
---|---|---|---|---|---|
键值(key-value) |
Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB |
内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等。 |
Key 指向 Value 的键值对,通常用hash table来实现 |
查找速度快 |
数据无结构化,通常只被当作字符串或者二进制数据 |
列存储数据库 |
Cassandra, HBase, Riak |
分布式的文件系统 |
以列簇式存储,将同一列数据存在一起 |
查找速度快,可扩展性强,更容易进行分布式扩展 |
功能相对局限 |
文档型数据库 |
CouchDB, MongoDb |
Web应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容) |
Key-Value对应的键值对,Value为结构化数据 |
数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构 |
查询性能不高,而且缺乏统一的查询语法。 |
图形(Graph)数据库 |
Neo4J, InfoGrid, Infinite Graph |
社交网络,推荐系统等。专注于构建关系图谱 |
图结构 |
利用图结构相关算法。比如最短路径寻址,N度关系查找等 |
很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案。 |
简而言之就是以下内容:
- 以键值对的方式存储(key. value);例子(10101,张三)(20190101.计算机2班);有专门软件;redis---适合做我们的数据的缓存 [因为他的数据都会在内存中]
- 以列的方式来存储数据;适合用在海量的数据中;hbase
- 以文件的方式存储数据;其实也是以键值的方式存储数据;形成一个文档;mongdb
- 以图形的方式;
SQLite数据库(嵌入式相关,遵循一般数据库标准)
SQLite,是一款经型的数据库,是进守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/L inuxUnix等等主流的操作系统,同时能够跟很多程序语言相结合,比Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。