数据库
当今最常见的数据库通常以行和列的形式将数据存储在一系列的表中,支持用户便捷地访问、管理、修改、更新、控制和组织数据。另外,大多数数据库都使用结构化查询语言 (SQL) 来编写和查询数据。
分类
1、关系数据库
2、面向对象数据库
3、分布式数据库
4、数据仓库
5、NoSQL 数据库
6、图形数据库
7、多模型数据库
表 1 各类数据库排名
大类 | 类别 | 前3~5名 | 说明 |
SQL | 关系数据库 | Oracle、MySQL/MariaDB、SQL Server、PostgrcSQL、 DB2 | 遵循“表一记录”模型。按行存储在文件中(先第 1 行,然后第 2 行……) |
NoSQL | 时序数据库 | InfluxDB、RRDtool、Graphite、OpcnTSDB、Kdb+ | 存储时间序列数据,每条记录都带有时间戳。如存储从感应器采集到的数据 |
键/值数据库 | Redis、Memcached、Riak KV、Hazelcast、Ehcache | 遵循“键——值”模型,是最简单的数据库管理系统 | |
文档数据库 | MongoDB、Couchbase、Amazon DynamoDB、CouchDB、MarkLogic | 无固定结构,不同的记录允许有不同的列数和列类型。列允许包含多值,记录允许嵌套 | |
图数椐库 | Neo4j、OrientDB、Titan、Virtuoso、ArangoDB | 以“点——边”组成的网络(图结构)来存储数据 | |
搜索引擎 | Elasticsearch、Solr、Splunk、MarkLogic、Sphinx | 存储的目的是为了搜索,主要功能是搜索 | |
对象数据库 | Caché、db4o、Versant Object Database、ObjcctStore、Matisse | 受面向对象编程语言的启发,把数据定义为对象并存储在数据库中,包括对象之问的关系,如继承 | |
宽列数据库 | Cassandra、HBase、Accumulo | 按照列(由“键——值”对组成的列表)在数据文件中记录数据,以获得更好的请求及遍历效率。一行中的列数允许动态变化,且列的数目可达数百万,每条记录的关键码不同,支持多值列。 |
下面对排名靠前的开源数据库做一些简单介绍。
由于51不能进行漏洞复现,故我们只分析原理
msf搜索oracle的结果
msf搜索mysql的结果
Done