你总是选不对应该使用的数据库?这里5步教你解决这些忧愁
“我只选择X , 这是我知道并使用过的数据库” 。
在为项目选择数据库时 , 大多数开发人员和学生都使用此语句 。 如果性能不是系统的重要要求 , 那么使用您已经熟悉的数据库就可以了 , 但是要考虑应用程序增长的情况 , 并且几年后您的应用程序开始遇到一些问题 。 对于开发人员和管理员来说 , 解决该问题将变得头疼 。 无论您是从头开始工作还是已经在成熟的项目上工作 , 了解数据库的局限性并确定何时在项目中添加另一种类型的数据库都非常重要 。
文章图片
市场上有300多种数据库管理系统可供选择 , 对于开发人员来说 , 选择其中的一种可能不胜枚举 。 在关系数据库(MySQL , PostgreSQL , OracleDB等)和非关系数据库(MongoDB , ApacheHBase , Cassandra等)中 , 您有多种选择 , 但是您需要了解它们适不适合所有类型的项目要求 。 他们每个人都有自己的优点和缺点 。 让我们看一些案例研究 , 这些案例说明如何为应用程序选择正确的数据库 。
1.集成
选择正确的数据库时要考虑的最重要的事情是您需要将什么系统集成在一起?确保您的数据库管理系统可以与项目中的其他工具和服务集成 。 不同的技术对于不同的其他技术具有不同的连接器 。 例如 , 如果您有一项大型分析工作当前正在运行ApacheSpark那么您可能想将自己限制在可以轻松连接到ApacheSpark的外部数据库上 。 现在假设您有一些前端系统 , 实际上它依赖于后端的SQL接口 , 并且您正在考虑从整体数据库迁移到非关系数据库 。 如果您要移动的非关系数据库提供了类似SQL的界面 , 并且可以轻松地从前端应用程序迁移到该界面 , 那么这将是一个不错的选择 。 因此 , 请考虑一下需要在系统中一起讨论的部分 , 看看它们是否可以与现有的现成组件一起实际进行对话 , 以及这些组件实际上是否维护得很好并且是最新的 。
另一个例子是ArangoDB , 它具有出色的性能 , 但是该DBMS的库仍然很年轻并且缺乏支持 。 将ArangoDB与其他工具结合使用可能会带来风险 , 因此社区建议在复杂项目中避免使用ArangoDB 。
文章图片
2.扩展需求
在安装生产数据库之前 , 了解扩展要求非常重要 。 您实际上在谈论多少数据?随着时间的流逝 , 它真的会无限增长吗?如果是这样 , 则您需要某种数据库技术 , 而不仅限于可以存储在一台PC上的数据 。 您需要查看诸如Cassandra或MongoDB或HBase之类的东西 , 您实际上可以在整个集群中分布数据存储并水平而不是垂直扩展 。 由于扩展问题 , 许多数据库无法处理成千上万的用户查询TB或PB的数据 。
在选择数据库时 , 您还需要考虑事务速率或吞吐量这表示您打算每秒收到多少个请求 。 具有高吞吐量的数据库可以支持许多同时用户 。 如果我们谈论的是成千上万 , 那么单一的数据库服务将无法解决 。 当您在一些大型网站上工作时 , 这一点尤其重要 , 在这些网站上我们有很多同时服务于许多人的Web服务器 。 您将必须选择一个分布式的数据库 , 并允许您更平均地分散这些事务的负载 。 在这种情况下 , NoSQL数据库是代替RDBMS的不错选择 。
文章图片
3.支持考虑
考虑一下您可能需要的数据库支持 。 您是否有内部专家来启动这项新技术并进行实际配置?这将比您想象的要难 , 尤其是如果您在现实世界中或在最终用户中混合使用个人可识别信息的情况下使用此功能 。
- 学完SQL数据库,不知道走哪方面?这里给你介绍十个高薪工作
- 学物联网?你挑对编程语言了吗?这五个物联网顶尖语言你学会了吗
- OPPOReno9万事红+“如意兔”,带给你的是“万事正红、如意新年”
- 图片转pdf怎么操作-需要将图片转换PDF,告诉你怎么做
- pdf文件怎么转换为cad图纸?小编来教你三种快速转换的方法
- 我想走web开发,但是你到现在为止弄懂web开发了吗?开发了吗?
- 小小标点符号,作用却不小。有些弄错只会给你带来无尽的麻烦。
- 如果世界上只有前端和后端开发,我应该选择哪个职业
- 如果你刚进Linux的门,请记住文章这些命令。用得好你将事半功倍
- 比特币?挖矿?你只会在原地羡慕别人?你就不想成为幕后操控者?