你要它做什么?
过去的静态数据库已经不能满足今天的需求。随着要处理的数据量呈指数级增长,数据库在更多的地方被使用,灵活性是关键。这对您的企业意味着什么?查看数据库可以存储和使用哪些类型的数据,并考虑将来可能需要的数据。尽管任何数据库都可以存储数字和文本,但是您需要考虑数据库可以处理什么类型的数据以及如何处理。所谓对象或文档数据,肯定是你要存储的数据类型。虽然这种类型的数据可以存储为纯文本,但它可能会丢失信息并产生额外的开销。此外,您将无法轻松处理查询中的完整对象。
【资料图】
您还需要考虑可伸缩性。面对不断增长的数据量和不断增长的数据驱动决策需求,今天的数据库很快就会过时。您的新数据库需要能够按需扩展。您还应该考虑在哪里运行数据库。可以在edge、公有云、私有云运行吗?尽管大多数现代数据库都可以在所有这些地方运行,但是您还需要知道数据库在这些部署模式中为您提供了什么。比如功能上有区别吗?记住,不断思考自己未来的需求。
最后,警惕供应商锁定的问题。如果改变数据库,是否需要改变数据库周围的一切?不管是现在还是未来,能不能让你所有的工具都用上,也可能因为查询语言的不规范而成为挑战?
它能做什么?
尽管大多数数据库都提供了一系列类似的功能,但您可能希望更多地关注特定的领域。例如,使用内置数据库功能可以显著提高外部系统的性能,并有助于优化任何数据存储要求。另外,数据库是怎么让你访问数据的?需要特定的查询语言还是非标准的API?确保提供的查询接口符合您的需求。它最终能提供什么?
如果您正在考虑基于云的数据库,那么服务水平协议(SLA)就很重要。您知道数据库将如何处理节点上的故障吗?它会自动重新平衡并丢失任何数据吗?确保您了解数据库如何从错误中恢复以及备份选项是什么。
可用性
易用性(和性能)需要考虑您的用例。例如,数据库系统提供的API或查询语言是否可用于您选择的用途,您计划采用的工具和应用程序是否与您预期的数据库系统兼容(可用)?我们已经讨论了访问方法和查询语言,但是如果一切都没有以有效的方式集成,您可能需要开发一个定制的解决方案。您还应该考虑整体操作的可用性——确保日志和审计功能适合您的使用。
在考虑可用性时,性能是一个关键因素。毕竟,如果您不能从您的数据库获得正确的性能,它就不会工作。了解哪里需要最佳性能以及数据库系统在这方面提供了什么将会很有帮助。这是现场数据摄取还是数据检索?
保持安全
安全性是任何IT系统的重要考虑因素,数据库也不例外。媒体喜欢数据泄露的好故事,但对于相关组织来说,这总是一个昂贵的代价。这里最需要解决的是访问控制。您需要强大的访问控制措施,并且您需要能够限制对数据的访问,只访问您需要的数据。您还应该能够审计谁在何时访问了数据。应该有鉴别数据来源的措施,虚假数据会导致很多问题。
安全性的概念很广泛,您需要知道它如何适应您的组织的具体考虑。例如,数据库系统如何集成到整个IT安全基础架构中?零信任的方法无疑会体现在任何安全设计中。
所有这些要花多少钱?
这里没有简单的答案。你买的不是现成的东西。这里的成本不仅仅是软件许可费,毫无疑问,软件许可费是任何数据库系统定价的组成部分。您还需要考虑需要购买多少基础设施来运行数据库。如果你更喜欢基于云的服务,你了解它与本地部署相比的内在附加值吗?此外,还有人员成本需要评估。您是否计算过与所选数据库系统相关的任何额外运营费用?您需要适当数量的熟练员工来管理新系统,因此您最终可能不得不雇用更多的人员或投资对现有员工进行进一步培训。它还可能涉及计划的工具和现有工具之间的兼容性。任何改变都会产生额外的费用。
在根据您的需求选择合适的数据库系统时,需要考虑许多因素——灵活性、可伸缩性、易用性、性能、安全性、成本等等。你还需要考虑你的组织未来的需求,所以要谨慎选择,保持开放的心态。
原作者Jan Weber是Crate.io的制作经理