数据库 频道

数据库选型要考虑哪些问题?

数据无处不在。大数据话题日新月异,企业必须日复一日管理大量的数据。不管有多少数据(甚至什么类型的数据),其真正的价值在于企业如何处理这些数据。数据库是一个(实际上)看不见的组件,它有助于推动商业决策,改善业务。这意味着为你的组织选择合适的数据库不应该被轻视。数据库选型要注意什么事呢?

你需要它做什么?

过去的静态数据库不能应付今天的需求。随着需要处理的数据量指数级增长,数据库被用于比以往更多的地方,灵活性是关键。这对你的企业意味着什么?看看可以用你的数据库存储和使用什么类型的数据,并考虑未来你可能需要的数据。虽然任何数据库都可以存储数字和文本,但你需要考虑你的数据库能处理什么类型的数据以及如何处理。所谓的对象或文档数据肯定是你想要存储的一种数据类型。虽然这种类型的数据可以存储为纯文本,但有可能会丢失信息并产生额外的开销。此外,你将无法在查询中轻松处理完整的对象。

你还需要考虑可扩展性。今天的数据库在面对不断增长的数据量和对数据驱动决策的需求增加时,会很快变得过时。你的新数据库需要能够随需扩展。你还应该考虑要在哪里运行数据库。它可以在边缘、公共云或私有云中运行吗?虽然大多数现代数据库可以在所有这些地方运行,但你也需要了解数据库在这些部署模式中为你提供什么。例如,在功能上有什么不同吗?记住,要不断考虑你的未来需求。

最后,要警惕供应商锁定问题。如果你更换了数据库,你是否需要改变数据库周围的一切?无论现在还是未来,你是否能够让你的所有工具能使用它,或者由于非标准的查询语言而不可用,这可能是一个挑战?

它能做什么?

尽管大多数数据库提供了一系列类似的功能,但你可能要更密切地关注特定领域。例如,使用内置的数据库功能可以显著提高外部系统的性能,并有助于优化任何数据存储要求。另外,数据库是如何让你访问数据的?是否需要特定的查询语言或非标准的API?确保提供的查询界面符合你的需求。它最终能提供什么?

如果你正在考虑一个基于云的数据库,那么服务水平协议(SLA)就很重要。你是否知道数据库将如何处理一个节点上的故障。它是否会自动重新平衡,是否会丢失任何数据?确保你了解数据库如何从错误中恢复,以及备份选项是什么。

易用性

易用性(和性能)需要考虑你的用例。例如,数据库系统提供的API或查询语言对你所选择的使用情况是否可用,你计划采用的工具和应用程序是否与你的预期数据库系统兼容(可用)?我们已经谈到了访问方法和查询语言,但如果一切都没有以有效的方式整合,你可能需要开发一个定制的解决方案。你还应该考虑到整体操作的可用性--确保日志和审计功能适合你的使用情况。

在考虑可用性时,性能是一个关键因素。毕竟,如果你不能从你的数据库中获得适合的性能,它将无法使用。了解你在哪些方面需要最好的性能,以及数据库系统在这方面提供了什么,会有帮助。该领域是摄取数据还是数据检索?

保持安全

安全是任何IT系统的一个重要考虑因素,数据库也不例外。媒体喜欢一个好的数据泄露的故事,但对所涉及的组织来说,这总是一个昂贵的代价。这里要解决的最重要的事情是访问控制。你需要强有力的访问控制措施,你需要能够限制对数据的访问,只限于需要的内容。你还应该能够审计谁访问了数据,以及什么时候访问的。要有措施能够识别数据的来源,虚假数据会导致很多问题。

安全的概念是广泛的,你需要了解它如何与你组织的具体考虑相适应。例如,数据库系统如何被整合到整个IT安全基础设施中?零信任的方法无疑会在任何安全设计中体现出来。

这一切将花费多少钱?

这里没有简单的答案。你不是在买现成的东西。这里的成本不仅仅是指软件许可费用,毫无疑问,软件许可费是任何数据库系统定价的组成部分。你还需要考虑到需要购买多少基础设施来运行该数据库。如果你倾向于基于云的服务,你是否了解它与本地部署相比的内在附加值?此外,还有人员成本需要评估。你是否计算过与你所选择的数据库系统相关的任何额外的运营开销?你需要适当数量的熟练员工来管理新的系统,所以你可能最终不得不雇用更多的人或投资于现有员工进一步培训。还有可能涉及到计划中的工具和现有的工具之间的兼容性问题。任何改变都会产生额外的费用。

为你的需求选择合适的数据库系统要考虑许多因素--灵活性、可扩展性、易用性、性能、安全性、成本,以及其他。你还需要考虑你的组织的未来需求,所以要谨慎选择并保持开放的心态。

原作者Jan Weber是Crate.io公司的生产经理

0
相关文章