如果你度过了90年代和2000年代初期, 那么你很可能已经熟悉LAMP Web开发堆栈。简而言之, 它们代表Linux, Apache, MySQL和PHP / Python / Perl。大多数Web项目是仅使用特定堆栈构建的。
它可以(并且仍然可以访问), 相对易于维护, 并且几乎没有入门成本, 因为你可以在非常适中的机器上管理LAMP项目。
但是时代在变化, 我们所有人都见证了这一点。 PHP曾经是Web和软件开发的黄金标准。在过去的两年中, PHP不仅失去了魅力, 而且在几乎可以想象到的每个项目中, 我们都看到了JavaScript的巨大发展。
该图表来自SO的年度开发者调查, 该图表显示了PHP已落后于Python, Java和最重要的JavaScript等语言。
但是, 本文的重点不是编程语言, 而是我们将关注现代数据库系统的状态及其差异。如上图所示, SQL仍然很强大, 超过52%的专业开发人员在日常工作流程中使用它。
嗯, 就像编程语言会发生变化和发展一样, 数据库系统也是如此。进一步研究前面提到的调查, 我们有以下图表展示了其他数据库系统的增长。
特别是本文中我们最关心的两个系统是MongoDB和MariaDB。两者的使用率和受欢迎程度均呈稳定增长趋势, 因此值得一提。
此外, 找出这些系统中的任何一个是否比在工作流程中使用SQL更具优势也很重要。尽管它是一种经验丰富且可靠的技术(SQL), 但在进行大型项目时可能会有其缺点。
让我们仔细看看。
MySQL:流行, 易于访问, 可靠。
MySQL是世界上最广为人知的数据库管理系统。它由Oracle(逐渐获得该引擎)维护, 最新的正式版本是8.0。 MySQL正在积极开发中, 并且仍然是一个开源项目。
尽管为现代目的增加了几种不同的数据库系统, 但MySQL在最先进的科技公司中仍然很受欢迎。 Netflix, Twitter, Slack和其他大品牌只是数百万依赖某种形式或形式的MySQL的公司中的少数。
即使是地球上最流行的博客平台WordPress, 也虔诚地继续使用MySQL作为其数据库系统的首选。虽然, 随着Automattic制定了通过JavaScript及其功能塑造WordPress未来的重大计划, 这种情况可能很快就会改变。
那么, MySQL的突出特点是什么?
- 客户端和服务器通信。 MySQL为客户端和服务器之间的背对背通信提供了一种轻松的方法。这使得通过许多不同的服务器, 网络或云系统扩展MySQL应用程序变得容易。
- 灵活性。 MySQL凭借其使开发人员能够以非常灵活的方式管理数据的能力而大放异彩。这主要是通过其SELECT语法实现的, 该语法为管理最大的数据集提供了巨大的潜力。
- 性能。尽管” MySQL&Performance”一词在传统上并不并存, 但事实证明该系统的最新版本对性能非常友好。
- 支持。由于MySQL的运行时间比大多数其他数据库系统更长, 因此你可以访问更大范围的支持需求。这包括实际的文档, 问答站点, 当然还有在线教程。
所有这些使MySQL几乎成为任何类型项目的可靠选择。但是, 当然也有一些缺点。其中之一是MySQL将数据存储在表, 行和列中。换句话说, 随着数据库大小的增长, 对访问, 解析和利用该数据的资源的需求也随之增加。
经验丰富的开发人员对此非常了解。因此, 越来越多的开发人员和品牌依靠更简化的数据库系统。
总而言之, MySQL是任何新的Web或软件项目的良好起点。它可以帮助你了解数据库工作的一般方式, 并且你有足够的资源来使用。
MariaDB:考虑到性能。
MariaDB成立之初就有一个有趣的故事。具体来说, MariaDB是MySQL的分支, 并受到MySQL的一些初始开发人员的支持。甲骨文(公司)收购MySQL引起了人们的关注, 因此MariaDB诞生于2009年。此后, 该项目一直在发展和壮大, 如前图所示, 如今约有17%的专业开发人员正在使用该项目。 。
MariaDB是原始MySQL的分支, 它的一大优点是, 你可以轻松地(安全地从一个数据库系统过渡到另一个数据库系统)。大多数命令行语法都基本相同。
因此, 你可能想知道, 选择更流行的MySQL系统上的MariaDB有什么意义?让我们看一些核心点, 这些点展示了MariaDB如何改善数据库的数据管理体验。
- 存储引擎。 MariaDB带有十二个存储引擎(Cassandra, TokuDB等), 使你可以更有效地存储不同类型的数据。这也意味着访问所述类型的数据变得不再依赖于服务器性能。
- 更快的缓存/索引。 INSERT命令的独特存储引擎”内存”的运行速度比MySQL快25%。随着你存储在数据库中的信息量的扩展, 这一点变得越来越重要。
- 插件系统。 MariaDB支持使用插件, 这些软件组件可以添加到核心软件中, 而不必从源代码重建MariaDB服务器。因此, 插件可以在启动时加载, 也可以在服务器运行时加载和卸载而不会中断。
核心引擎与所有主要操作系统兼容, 包括Windows, Linux甚至OSX(如果你这样做的话)。
在过去的几年中, 像Wikipedia, Google和许多世界级银行这样的公司都将MariaDB作为数据库系统的主要选择。这不仅显示了MariaDB的强大功能, 还显示了大型品牌对该项目的信任。
MongoDB:高可用性数据结构。
MongoDB因其臭名昭著的基于文档的数据库系统而继续流行。简而言之, MongoDB使你可以使用insertMany()函数以新的速度将新数据插入数据库中。而使用MySQL, 则必须一对一地执行此操作。不需要图表即可了解差异。
但是, 如果你想要一个, 这是Onyancha Brian Henry提供给我们的图表。
你在这里看到的是MySQL(红色)和MongoDB(绿色)在数据库中插入数据所花费的时间。现有数据是使用一百万个刀片的基准计算得出的。
最常见的是, 已经知道自己将要处理大量混合数据的开发人员会选择MongoDB, 因为它提供了最大的灵活性。用于管理所述数据。不受制于方案的约束, 可以快速保存数据及其类型以供立即使用或以后使用。
- 可扩展性。是否要跨多个服务器传输数据? MongoDB鼓励这种行为, 因为它补充了更快的性能。最重要的是, 所有数据都以JSON格式保存。
- 移动开发。一种称为MERN的新型技术堆栈(MongoDB, Express, React和Node), 旨在开发高级移动应用程序。由于移动应用程序倾向于以非常快的速度生成大量数据, 因此, 将MongoDB用作此目的的默认选择是有意义的。
- 动态结构。没有任何预见就可能出现问题。对于MongoDB, 你将获得极大的灵活性, 可以动态移动或转移数据库, 而无需解决与内部数据结构有关的任何问题。
原因是每天有26%以上的专业开发人员已经在使用MongoDB。这是一个功能强大的基于文档的数据库系统, 适用于现代应用程序和软件。
总结
为你找到合适的数据库系统总是很麻烦。你可能会花一个星期的时间在某个特定的系统上工作, 却发现它并没有完全按照你的要求进行。而且, 某些其他原因导致某个系统可能无法达到你的期望。
也就是说, MySQL始终是一个安全的选择。至今已有几十年了。但是, 如果你具有先前的开发经验, 并且对项目有更大的计划, 那么我们现在投入市场的新数据库系统绝对值得一看。
如果你最近自己进行了任何数据库转换, 请在评论中让我们知道。听到故事的另一面总是很高兴。最后, 我们希望本文能为你提供足够的基础, 以便你更仔细地研究每个系统。
评论前必须登录!
注册