专栏首页Apache IoTDB数据库漫游指南

数据库漫游指南

“文艺复兴以降,源远流长的科学精神和逐步形成的学术规范......你们这一脸迷茫的看着我,不知道我在说什么吗?这是机械工业出版社的前言!多么经典的书,回去好好看看!"

上面这段话来自我本科数据库老师,这篇文章当做公众号内容介绍吧。

我又改名了,今年两次改名都用完了,近期不会再改了。分布式系统斗者->DBDeveloper->数据库漫游指南。大家可以看看名字的演进历程。

一些故事

数据库是我觉得本科最有意思的一门课,比起绕来绕去的算法、三次握手七层架构的网络,数据库简直是一股清流,主要是贴近生活场景,易于接受。

记得大二参观SAP,一个项目负责人给我们介绍数据库。整体感觉就是:“这个人说话好特么快,说的我都听不懂,好干练那种感觉”。前段时间偶然翻到了一张照片,是拍的当时PPT内容,发现上面的词基本都能看懂了,好像包括Nosql、SAP HANA之类的,那张照片现在又找不着了。

也有老师问我们数据库系统、数据库管理系统、数据库三者的区别。这是一个神奇的问题,大家的语境里应该不怎么区分这三者了。

数据库的历史

毕竟上个世纪数据库漫长的发展历史中还没我,这一段摘自《数据库系统概念》

数据库系统是一些相互关联的数据以及一组使得用户可以访问和修改这些数据的程序的集合。

1970年左右,硬盘被广泛使用(之前是磁带,只能顺序读取,类似FileInputStream),硬盘上的数据也可以随机访问,类似RandomAccessFile。程序员可以在磁盘上构建网状和层次数据库。

Codd在1970年发表了关系模型和相应的查询数据的方法,诞生了关系型数据库。关系型数据库逐渐占据主流:DB2、Oracle、MySQL、Ingres等,主要都是单机版。

由于性能和可扩展性的问题,人们开始发展NoSQL,现在又提出了NewSQL,HTAP,数据库的发展速度也在逐渐加快。

漫谈数据库

数据库是一个数据结构、算法的大杂烩,根据不同查询的特点使用不同的算法,同时利用cache、索引、并行来加速,使数据库的整体性能达到最优。

每个数据库基本都是由底层存储(磁盘文件)再加一套读写引擎组成。不同的数据库的底层存储不一样,因此读写流程不一样,面向的场景也不一样,有的针对写优化、有的针对读优化、有的在其中取平衡。

数据库最大的魅力在于没有一种包治百病的数据库,所有数据库都是在各种方面取平衡,因此,每一个数据库都是独特的。

为数据库打call

应用对人的吸引总是强于底层支撑平台。比如AlphaGo战胜人类、通过人脸识别在张学友演唱会抓逃犯等,让人们都知道了机器学习和人工智能领域,甚至出现人工智能威胁论。相比之下,数据库领域就没那么火热了。

数据库就如同芯片,是大数据的基础。人们都知道现在进入了大数据时代,大量的数据被采集。但是采集只是第一步,数据采集之后是要进行管理的,如果只需要找硬盘存下来,提供简单的访问方式,找个文件系统就行了。如果想对大数据进行高效的管理和快速的检索,那么数据库就是必须的。

淘宝双11成交量破千亿,为此做贡献的不只是买家和淘宝的app,还有其底层强大的分布式关系数据库 OceanBase。

区块链的核心是去中心化,其主打的特性是防止数据被篡改,要知道没有绝对安全的系统,区块链也一样,而防止数据被篡改靠的是数据备份,在数据库中主备、多副本早就有广泛应用了。如何在去中心化的过程中保证数据一致性也是数据库领域的研究范畴。

总结

CPU、操作系统、数据库是计算机系统的核心三大件,数据库处于最上层,相比于CPU和操作系统的生态环境,数据库的迁移成本最低。前段时间《人民日报》发表了一篇《中国精神》,要重视核心技术,正好响应祖国号召了。

大多程序员都用过数据库,也应该了解数据库。数据库的优秀公众号大部分是公司的,更多涉及架构,如同压缩饼干。本公众号从分享小饼干开始,文章不会很长。

这篇文章会放在公众号菜单栏,欢迎关注转发。

本文分享自微信公众号 - IoTDB漫游指南(Apache-IoTDB),作者:铁头乔

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-06-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 解读事务的ACID!

    事务的ACID特性大学数据库课程基本都学过,但是学完也就大概知道是干嘛的,后来也没仔细想这个东西了,后来接触了NoSQL系统的一致性,于是重新学习 ACID,发...

    Apache IoTDB
  • NoSQL 与 CAP 理论

    之前我们讨论了传统的数据库事务的 ACID 特性: 解读事务的ACID! 其实传统数据库和 NoSQL 中对于可用性、一致性的理解不一样。 因为有时候会听到一些...

    Apache IoTDB
  • 大数据的列式存储格式:Parquet

    之前简单介绍了一下列式存储: 和谐号为啥快?因为铁轨是列式存储! 今天介绍一种大数据时代有名的列式存储文件格式:Parquet,被广泛用于 Spark、Had...

    Apache IoTDB
  • 云计算时代的数据库运行

    云计算时代的高可用数据库是可扩展、容错且与任何私有云或公共云兼容的数据库实例。它们旨在提供业务连续性,而不会因任何类型的硬件或网络故障而导致用户体验的影响。其核...

    静一
  • MySQL数据库的安装与基本操作

    L宝宝聊IT
  • 一网打尽当下NoSQL类型、适用场景及使用公司

    对比传统关系型数据库,NoSQL有着更为复杂的分类——键值、面向文档、列存储以及图数据库。这里就带你一览NoSQL各种类型的适用场景及一些知名公司的方案选择。 ...

    小小科
  • python可以用哪些数据库

    关系型数据库是指采用了关系模型来组织数据的数据库,而关系模型是由二维表及其联系组成的数据组织。

    砸漏
  • 数据库简史 4 下一代数据库

    国庆节前最后一篇, 前几期从国外数据库历史, 国内数据库历史, 搞笑数据库捡屎, 国庆节前也不能闲着.最近在看一本书, 关于下一代数据库.

    AustinDatabases
  • 推荐一个学习和了解数据库知识的网站

    最近发现一个有趣的网站,是专门收集世界上所有的数据库信息的网站,类似于维基百科性质的,名字也很有趣叫做Database of Databases,翻译成中文也就...

    哒呵呵
  • 一种数据库打天下?开源数据库选型应该注意什么?

    数据技术嘉年华,十周年盛大开启,点我立即报名!大会以“自研·智能·新基建——云和数据促创新 生态融合新十年” 为主题,相邀数据英雄,总结过往十年历程与成绩,展望...

    数据和云

扫码关注云+社区

领取腾讯云代金券