当前位置: 主页 > 数据库

数据库如何存储文章-大数据 数据存储

发布时间:2023-02-10 07:34   浏览次数:次   作者:佚名

这个系列的第一篇文章写于2017年2月,到今天已经4年了,这是我当初计划的时候没想到的。 按照原计划,我觉得完成这些文章只需要3个月左右,每周一篇。 开始写作后,才发现写文章很容易被一些事情打断。

在写文章的过程中,我经历了家庭中从丈夫到父亲的角色转变; 我有更丰富的工作经验。 经历了很多之后,闲下来了,才有更多的时间来写这个系列的文章。 于是在2020年6月,我做了一个新的决定,放弃之前所有的代码和文章积累,重新开始。 新的文章和代码更注重如何从基础做起,实现一个基本可用的存储引擎。 这个引擎是不完整的,但是它更清楚地展示了做一个存储引擎需要完成哪些具体的工作,以及这些工作的难点和难点。 重点在哪里。

实现全新的代码和文章对我来说也是一个学习的过程。 开始搜集资料,组织语言,尝试用更多的纯文本和图片来展示存储引擎的原理; 在代码方面,我放弃了我2016年实现的2009年的版本,完全重启了。 新版本只关注存储引擎的实现。 对于一些与编程相关的问题,尽量使用一些简单但效率低下的方法来处理,让代码看起来更专注于存储引擎,更易读。

由于作者个人水平有限,文章和代码持续时间较长,本系列文章之间甚至文内可能存在风格差异。 希望大家在阅读时能够理解和原谅。

整个系列虽然完成了一个基本可用的存储引擎,但是还有很多功能和模块没有实现,包括:

死锁检测 数据和日志文件清理 隔离级别 全部实现 MVCC 实现多个 BTree 支持 写性能优化 正确性测试工作 其他...

如果您有兴趣,可以在本系列的基础上完成这些功能和模块。 期待与您交流,向您学习。

开篇我描述了我写这个系列文章的原因是为了让大家了解和熟悉存储引擎,方便看很多开源的NoSQL数据库和关系型数据库的代码,更好的学习这些优秀数据库的实施和实施。 特征。 但是四年过去了,一些新的经历也改变了我的一些想法。 希望我的这些文章能够让更多的程序员和软件工程师选择开发存储引擎。

当本系列的第一篇文章开始时,特朗普刚刚上任。 那时候国内大部分人可能还不知道什么是贸易战。 今天,特朗普即将卸任。 他挑起的中美贸易战 贸易战不仅没有停止,还蔓延到了科技领域。 美国利用其在信息产业的领先地位,在硬件尤其是高性能芯片方面对中国进行限制。 限制使用美国技术为中国企业生产高性能CPU的企业,采取不允许中国企业采购美国CPU的方式。 打压中国企业的武器。 在软件方面,高端工业设计和科学软件也成为重点。 2020年6月,美国政府禁止哈尔滨工业大学和哈尔滨工程大学使用正版MATLAB软件,即使他们已经付费使用。 未来美国是否会限制中国企业使用美国数据库软件还不好说。

现在国内几乎所有的数据库都是基于某些开源数据库,其中大部分是基于MySQL数据库数据库如何存储文章,国内云厂商的主要数据库都是基于MySQL数据库定制的模型。 如果美国禁止中国使用MySQL或关闭MySQL,该国可能会失去赶上最新数据库技术的能力。 很多人可能觉得这有点危言耸听。 一方面,他们认为MySQL不会轻易闭源。 另一方面,他们认为即使MySQL是闭源的,但我们国内的云厂商已经完全掌握了MySQL,可以独立开发出更好的MySQL。 作为炼功人,我可以把我知道的一些情况告诉大家。

MySQL虽然是开源软件,但背后的公司却是甲骨文。 是的,它是全球最大的数据库公司,也是经常被开源MySQL打败国内厂商的公司。 如果知道MySQL是Oracle的产物,听到“MySQL beats Oracle”是不是会有些奇怪呢?

甲骨文有没有可能关源MySQL或阻止中国使用MySQL? 我也不知道,但我知道关于 Oracle 的两个事实。

甲骨文已经解散了在中国的所有研发中心(但是很多公众号说是阿里云逼甲骨文解散的。根据2019年的数据,甲骨文数据库在中国的市场份额仍然排名第一,约占30%左右的市场份额,显然不是因为阿里云),而是保留了销售部。 甲骨文CEO拉里·埃里森是特朗普的铁杆支持者。 他公开表示不会让甲骨文为中国培养优秀的工程师。

如果有一天,Oracle真的关闭了MySQL,我们是否有能力维护一个老的MySQL分支,并在此基础上开发新的功能?

我没有答案。 中国三大数据库厂商之一表示,“MySQL开发的主导开发权仍在美国和欧洲。 中国无论是阿里云、腾讯云还是华为云,都不具备引领MySQL发展的能力。 另外阿里云的一个P8跟我说,“AliSQL是阿里深度改造的MySQL衍生版本,性能和功能都不错,但是一旦MySQL8.0出来,AliSQL就没有优势了”。 蒋承尧先生写了一篇文章,给我留下了深刻的印象。 “此时此刻,MySQL 8 终于赶上了 Oracle 8”。 虽然文章是降序索引,但也能反映出MySQL 8.0还有很大的优化空间。

MySQL是否闭源的主动权掌握在美国手中。 不想坐以待毙,只能增加自己的能力。 等到有一天我们能够主导MySQL的开发,开发出自己独立的数据库软件,我们就不用担心美国会不会对某个产品进行Closed source了。

因此,希望本系列文章能够揭开存储引擎的神秘面纱,还原其本来面目,让更多人了解和熟悉存储引擎。 如果最终有人选择从事存储引擎的研发,那将是我写这些文章最大的收获。

不知不觉,这篇后记就有2000多字了。 本来只是想随便聊聊,没想到把自己的文章提升到了国计民生的高度。 最后数据库如何存储文章,还是希望我的文章能够真正帮助到一些有兴趣的朋友,也很期待和大家一起交流存储引擎技术。

写在海边的城市

2021年1月3日星期日晚上

注:特朗普虽然下台,但中美斗争仍在继续