一文解析数据库的三生三世

作者 | Zilliz
出品 | CSDN(ID:CSDNnews)
如果从大学学习数据库管理系统算起 , 跟数据库结缘已经超过20年了 。 回顾过去的职业生涯 , 走上数据库这条不归路也是一个小小的偶然:第一份工作在分小组的时候被分到了Oracle , 就此开始了与数据的不解之缘 。
关于数据库已经有太多太多的内容 , 这里不敢讲什么学术理论 , 只是想把自己对数据库的理解做一个梳理 , 希望能够帮助那些对数据库感兴趣的朋友们更好地理解数据库这个既古老又充满生机的玩意 。
一文解析数据库的三生三世
文章图片

什么是数据库
数据库就是英文的“database”翻译来的 , data + base , 故名思义就是数据的根源 , 数据的基础 。 那么为什么要有数据库呢 , 数据库首先是个计算机软件 , 在所谓数据库诞生之前 , 常用方法可能是 程序员自己写一个小程序来完成数据处理分析这样的工作 。
伴随着计算机的普及 , 越来越多的场景开始使用计算机 , 产生了越来越多的数据 , 也催生了越来越多的数据分析需求 。 为了降低数据分析的门槛 , 让更多人能够更方便高效地管理分析数据 , 工程师们就打造了一种专门的软件来帮助人们对数据进行合理的存储以提高存取效率 , 提供易用的接口和丰富的分析算法以方便使用 , 集成有效的管理工具以提高数据安全性等等 , 这就是数据库 , 也被称为数据库管理系统(DBMS , Database management system) 。
数据库是一整套数据管理体系 , 包括数据存储的模型、数据组织的架构、数据分析的算法、数据管理的工具以及数据访问的接口等等 。
举个例子 , 粮仓 。 如果你有1亩3分地 , 产的粮食刚刚够一家人吃 , 吃不完的自己找个缸就放下了 , 这个缸也只需要方便自己家人使用就行了 。 随着你种的地越来越多比如1万亩地 , 生产的粮食根本吃不完 , 那就必须修建一个专门用来存放粮食的仓库 , 同时还要方便不同的商家来拉粮食 , 为了保证粮食存放的安全和效率 , 就必须对粮仓进行特殊的设计和处理 , 比如恒温恒湿、自动喷淋、传送系统等等 。 数据库也是类似的道理 。
数据库起源于阿波罗登月计划 , 因为需要大量的数据分析人员对大量的数据进行分析 , 就不得不开发一款能够方便更多人使用的数据管理分析软件 。 确实是人类当时的灯塔 , 研发出了多少好东西 , 不得不给NASA的工程师们点个赞 。
数据库的核心功能是什么
数据库会根据应用场景的不同而分为不同的类别 , 比如最经典的分类OLTP(在线事务处理)和OLAP(联机分析处理) 。 举个例子 , 你每天要使用信用卡支付来坐地铁 , 买午餐、买饮料、上淘宝购物等等 , 这每一笔交易都需要后台数据库准确地记录下来 , 这个数据库就是OLTP类型 。
你也会通过系统去查询你上个月的消费情况 , 系统会根据你上个月的交易数据做个汇总发给你 , 并告诉你吃饭花了多少、交通花了多少、娱乐花了多少等等 , 支持这个场景的就是OLAP类型 。
OLTP主要处理短小的事务 , 要求事务吞吐量很高 , 因为每个人每天可能要支十几次 , 但每次需要处理的数据量比较小;而OLAP , 每个人可能每个月只用一次 , 但是每次要处理的数据量相对比较大 , 而且计算比较复杂 。
近年来 , 伴随着人工智能、物联网、边缘计算等数字化场景的兴起 , 数据库的功能也产生了更多的分类 , 如HATP(同时能够处理OLTP和OLAP的场景)、流式数据处理、时序数据处理、非结构化数据处理、跨平台数据处理、多模态数据处理等等 。 如何理解这些分类呢?

特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。