代码改变世界

爆栈三部曲:数据库开发大系技术栈 (300多技术点)

2015-08-13 19:32  灵感之源  阅读(15923)  评论(4编辑  收藏  举报

前言

这个数据库技术栈是我写的“爆栈三部曲”的最后一部 ;-)

 

最近我写过  .NET技术大系概览 (迄今为止最全的.NET技术栈) ,相信很多网友感叹掌握的.NET技术远没有这个技术栈里面所描述的多。

然后我还写 Web前端开发大系概览 (前端开发技术栈) ,包含大约180个技术点,做前端的都会觉得前端开发包含的技术相对繁多。

 

什么叫全栈(full stack)?简单地说就是万金油,web前端、后台、数据库、桌面应用等都能搞。

爆栈(stack overflow)来得更多些,包括但不仅限于:

  • web前端
  • 后台服务
  • 数据存储
    • 关系型数据库系统
    • NoSQL
    • 云存储
  • 桌面应用
  • 手机App
  • ESB
  • 架构
  • 运维
  • 管理
  • 等等

爆栈三部曲

 

问题

大家是否想过:

  • 数据库开发究竟包含哪些技术呢?
  • 我所掌握的技术这个子集,在数据库技术大系这个超集里面占的比例是多少呢?
  • 我究竟还没有掌握多少数据库技术呢?
  • 面试的时候会考哪些技术呢?

我之前写的.NET技术大系概览 (迄今为止最全的.NET技术栈),一个简单易懂的栈图可以概括.NET这个技术圈里面基础技术:

 

 

同样,我之前写的Web前端开发大系概览 (前端开发技术栈),以下栈图可以概括Web前端开发这个庞大的技术生态圈里面基础技术:

 

 

那么,数据库开发是否也应该有这样的技术栈概览图呢?

搜索了很久,没有找到一个符合我要求的“较为全面”地表述数据库技术大系的图表。

互联网上来去都是那几个简单的,譬如这个:

 

 

或者这个:

 

 或者这个:

 

 

 

不过这些都远远没有高度概括整个数据库开发技术,和我需要的不一样。

 

 

数据库开发技术栈

这个技术栈,大约50个层级,大约300多个技术点

  • RDMBS关系型数据库系统
    • SQL Server
      • SQL OS
      • Storage Engine 存储引擎 
      • Relational Engine 关系引擎
      • Communication 通讯
      • Core Concepts 核心概念
      • Core Objects 关键对象
      • Language 语言
      • System Databases 系统数据库
      • File 文件
      • Runtime 运行时
      • Replication 同步
      • Versions 版本
      • Maintenance 维护
      • Management 管理
      • BI 商业智能
      • Troubleshoot 调试
      • Performance 性能
      • Services 服务
  • Azure
  • No SQL

这个图表里的分类未必准确,相关技术也难免会有遗漏,欢迎大家指点以便不断改进。

 

数据库技术实在太繁多限于篇幅,这里没有罗列一些技术。

 

以下是预览图:

 

因为内容太多,要看完整技术栈图的,可以访问GitHub。

 

GitHub开源

在GitHub开源了:Database Stack

 

点击这里可以查看基于HTML5的互动式图表   (鼠标拖放/缩放)