很多IT行业外行人员甚至一些行业内行人员一直对数据库(Database,简称DB)的概念不太清楚,在此我仅将我的理解分享给大家。

       在维基百科中是这样讲的:数据库,简单来说可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作[1]

数据库指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。这是纯粹的概念性的描述,其实简单一些,比如说我们去中药店需要抓药,医生的后面是一排排的抽屉,我们拿着药房给医生,然后医生根据药房打开相应的抽屉拿出需要的中药。在这个过程中用于存放的药品的那一排排抽屉就可以理解为数据库。而整个抓药的过程就可以理解为数据库读取流程。

       数据库通常被分为三种:层次式数据库、网络式数据库和关系型数据库,其发展至今我们最常提到的就是关系型数据库与非关系型数据库。

       其中关系型数据库是现在企业使用的最多的,比较常见的有Oracle MySQLMicrosoftSQL ServepostgresSQL等,其关系型数据库实际上就是把复杂的数据结构进行归类整理,使用一张或多张二维的表格进行数据存储,通过这些表格之间不同的组合拼接进行数据管理。这种方式的存储适用于我们目前大多数系统。

       而非关系型数据库(NoSQL)其包含的数据库实现就各种各样了,其原理大多数遵循的键值对(Key/value)的方式进行存储管理。例如常见的有:Tokyo Cabinet/Tyrant, Redis, Voldemort, OracleBDBredis通常被用作来做数据缓存。当然,非关系型数据库还包含其他逻辑方式,例如列存储方式(例:HBase)、文档型数据库(例:MongoDb)、图形数据库(例:Neo4J),其实非关系型数据库并没有一个统一的架构模式,在两种不同的非关系数据库之间的差距要远远大于两种关系型数据库之间的差距,正因为其非关系型数据库的多样性,因此它更适合特定场景的使用,其可以处理超大量数据的特性,在当前大数据潮流下非常适用。

       当前时代正好处在一个飞速发展的时代,其当前大数据、云计算、物联网、互联网等技术的发展,这些新型的技术、应用其发展的同时均离不开数据的支撑,而作为存储数据的载体,数据库,同样也在高速发展,例如今年MySQL发布的第8个大版本,postgreSQL发布的9.6版本,都一直向着时代的潮流进行发展着。而对于我们技术人员也好,非技术人员也好,了解当前这些科技潮流前线的技术还是非常有必要的。本次借此机会和大家分享一下数据库方面的知识,如有兴趣我们可以在以后再进行交流探讨。